@peac/mcp-server 0.14.5 → 0.15.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -1,6 +1,6 @@
1
1
  # @peac/mcp-server
2
2
 
3
- MCP tool server for signed interaction receipt operations: verify, inspect, decode, issue, and bundle.
3
+ Local MCP server for PEAC signed interaction records. It exposes tools to verify, inspect, decode, issue, and bundle PEAC records through stdio or the local Streamable HTTP transport.
4
4
 
5
5
  ## Installation
6
6
 
@@ -16,7 +16,7 @@ npx @peac/mcp-server
16
16
 
17
17
  ## What It Does
18
18
 
19
- `@peac/mcp-server` exposes PEAC receipt operations as Model Context Protocol (MCP) tools that AI agents and LLM-based applications can call. It supports both stdio and Streamable HTTP transports, with static policy enforcement, concurrency limits, input size guards, and structured error responses with recovery hints.
19
+ `@peac/mcp-server` exposes PEAC signed interaction record operations as Model Context Protocol (MCP) tools that AI agents and LLM-based applications can call. It supports both stdio and Streamable HTTP transports, with static policy checks, concurrency limits, input size guards, and structured error responses with recovery hints.
20
20
 
21
21
  ## How Do I Use It?
22
22
 
@@ -72,18 +72,6 @@ npx @peac/mcp-server \
72
72
  npx @peac/mcp-server --transport http --port 3000
73
73
  ```
74
74
 
75
- ### MCP tools
76
-
77
- | Tool | Description | Availability |
78
- | -------------------- | ----------------------------------------- | ---------------------------------------------------------- |
79
- | `peac_verify` | Verify a receipt JWS signature and claims | Always |
80
- | `peac_inspect` | Inspect receipt structure and metadata | Always |
81
- | `peac_decode` | Decode a receipt JWS without verification | Always |
82
- | `peac_issue` | Sign and return a new receipt JWS | Requires `--issuer-key` and `--issuer-id` |
83
- | `peac_create_bundle` | Create a signed evidence bundle directory | Requires `--issuer-key`, `--issuer-id`, and `--bundle-dir` |
84
-
85
- All tool responses include `_meta` with `serverVersion`, `policyHash`, `protocolVersion`, and `registeredTools`.
86
-
87
75
  ### CLI options
88
76
 
89
77
  | Flag | Description | Default |
@@ -114,16 +102,28 @@ const result = await handleVerify({
114
102
  input: { jws: 'eyJ...', public_key_base64url: '...' },
115
103
  policy,
116
104
  context: {
117
- version: '0.12.4',
105
+ version: '0.15.0',
118
106
  policyHash,
119
- protocolVersion: '0.2',
107
+ protocolVersion: '2025-11-25',
120
108
  },
121
109
  });
122
110
  ```
123
111
 
112
+ ## Available tools
113
+
114
+ | Tool | Description | Availability |
115
+ | -------------------- | --------------------------------------------------------------- | ---------------------------------------------------------- |
116
+ | `peac_verify` | Verify a PEAC signed interaction record. | Always |
117
+ | `peac_inspect` | Inspect a PEAC signed interaction record without verification. | Always |
118
+ | `peac_decode` | Decode a PEAC receipt JWS header and payload for diagnostics. | Always |
119
+ | `peac_issue` | Issue a PEAC signed interaction record from provided claims. | Requires `--issuer-key` and `--issuer-id` |
120
+ | `peac_create_bundle` | Create a PEAC bundle from signed records and related artifacts. | Requires `--issuer-key`, `--issuer-id`, and `--bundle-dir` |
121
+
122
+ All structured tool outputs include a schema-declared `_meta` audit block with `serverVersion`, `policyHash`, `protocolVersion`, and `registeredTools`. This is separate from the top-level MCP `_meta` carrier used by `@peac/mappings-mcp` to attach PEAC receipt references.
123
+
124
124
  ## Integrates With
125
125
 
126
- - `@peac/protocol` (Layer 3): Receipt issuance and verification
126
+ - `@peac/protocol` (Layer 3): signed-record issuance and verification
127
127
  - `@peac/crypto` (Layer 2): JWS signing and decoding
128
128
  - `@peac/schema` (Layer 1): Receipt schema validation
129
129
  - `@peac/kernel` (Layer 0): Error codes and constants
@@ -131,13 +131,13 @@ const result = await handleVerify({
131
131
 
132
132
  ## For Agent Developers
133
133
 
134
- Connect your agent to this server over stdio or HTTP to gain receipt verification, decoding, and issuance capabilities. The tools use structured outputs with error codes and `next_action` recovery hints so your agent can handle failures programmatically. Every response includes `_meta` for audit and traceability.
134
+ Connect your agent to this server over stdio or HTTP to gain signed-record verification, receipt decoding, and issuance capabilities. The tools use structured outputs with error codes and `next_action` recovery hints so your agent can handle failures programmatically. Every response includes `_meta` for audit and traceability.
135
135
 
136
136
  Read-only tools (`peac_verify`, `peac_inspect`, `peac_decode`) are available with no configuration. To enable issuance, provide an Ed25519 signing key via `--issuer-key` and `--issuer-id`.
137
137
 
138
138
  ## For Operators
139
139
 
140
- The server enforces static policy with configurable concurrency limits, input size bounds, JWS size caps, and tool timeouts. HTTP transport binds to localhost by default with CORS deny-all. The stdout fence prevents non-JSON-RPC output from corrupting the stdio transport.
140
+ The server applies static policy checks with configurable concurrency limits, input size bounds, JWS size caps, and tool timeouts. HTTP transport binds to localhost by default with CORS deny-all. The stdout fence prevents non-JSON-RPC output from corrupting the stdio transport.
141
141
 
142
142
  Security properties: no ambient key discovery (keys must be explicitly provided), no implicit network fetches from tool handlers, path traversal prevention on bundle output, and session isolation on HTTP transport.
143
143
 
package/dist/cli.cjs CHANGED
@@ -49,7 +49,7 @@ var SERVER_NAME, SERVER_VERSION, MCP_PROTOCOL_VERSION;
49
49
  var init_constants = __esm({
50
50
  "src/infra/constants.ts"() {
51
51
  SERVER_NAME = "peac-mcp-server";
52
- SERVER_VERSION = "0.14.5";
52
+ SERVER_VERSION = "0.15.1";
53
53
  MCP_PROTOCOL_VERSION = "2025-11-25";
54
54
  }
55
55
  });
@@ -495,7 +495,7 @@ async function createHttpTransport(options) {
495
495
  server.listen(port, host, () => {
496
496
  process.stderr.write(`[${SERVER_NAME}] HTTP transport listening on http://${host}:${port}
497
497
  `);
498
- process.stderr.write(` Transport: Streamable HTTP (MCP 2025-06-18)
498
+ process.stderr.write(` Transport: Streamable HTTP (MCP ${MCP_PROTOCOL_VERSION})
499
499
  `);
500
500
  process.stderr.write(
501
501
  ` Auth: unprotected mode (no token validation); PRM discovery per RFC 9728