agentveil-mcp-proxy 0.7.19__tar.gz

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.
Files changed (48) hide show
  1. agentveil_mcp_proxy-0.7.19/LICENSE +71 -0
  2. agentveil_mcp_proxy-0.7.19/MANIFEST.in +4 -0
  3. agentveil_mcp_proxy-0.7.19/PKG-INFO +388 -0
  4. agentveil_mcp_proxy-0.7.19/README.md +358 -0
  5. agentveil_mcp_proxy-0.7.19/agentveil_mcp_proxy/__init__.py +188 -0
  6. agentveil_mcp_proxy-0.7.19/agentveil_mcp_proxy/__main__.py +5 -0
  7. agentveil_mcp_proxy-0.7.19/agentveil_mcp_proxy/approval/__init__.py +44 -0
  8. agentveil_mcp_proxy-0.7.19/agentveil_mcp_proxy/approval/headless.py +217 -0
  9. agentveil_mcp_proxy-0.7.19/agentveil_mcp_proxy/approval/manager.py +471 -0
  10. agentveil_mcp_proxy-0.7.19/agentveil_mcp_proxy/approval/notification.py +74 -0
  11. agentveil_mcp_proxy-0.7.19/agentveil_mcp_proxy/approval/server.py +481 -0
  12. agentveil_mcp_proxy-0.7.19/agentveil_mcp_proxy/circuit_breaker.py +202 -0
  13. agentveil_mcp_proxy-0.7.19/agentveil_mcp_proxy/classification.py +290 -0
  14. agentveil_mcp_proxy-0.7.19/agentveil_mcp_proxy/cli.py +2236 -0
  15. agentveil_mcp_proxy-0.7.19/agentveil_mcp_proxy/evidence/__init__.py +63 -0
  16. agentveil_mcp_proxy-0.7.19/agentveil_mcp_proxy/evidence/proof.py +513 -0
  17. agentveil_mcp_proxy-0.7.19/agentveil_mcp_proxy/evidence/store.py +895 -0
  18. agentveil_mcp_proxy-0.7.19/agentveil_mcp_proxy/identity.py +166 -0
  19. agentveil_mcp_proxy-0.7.19/agentveil_mcp_proxy/passthrough.py +1457 -0
  20. agentveil_mcp_proxy-0.7.19/agentveil_mcp_proxy/policy.py +926 -0
  21. agentveil_mcp_proxy-0.7.19/agentveil_mcp_proxy/quickstart_filesystem.py +150 -0
  22. agentveil_mcp_proxy-0.7.19/agentveil_mcp_proxy/runtime_gate.py +417 -0
  23. agentveil_mcp_proxy-0.7.19/agentveil_mcp_proxy/tool_schema_validation.py +143 -0
  24. agentveil_mcp_proxy-0.7.19/agentveil_mcp_proxy.egg-info/PKG-INFO +388 -0
  25. agentveil_mcp_proxy-0.7.19/agentveil_mcp_proxy.egg-info/SOURCES.txt +46 -0
  26. agentveil_mcp_proxy-0.7.19/agentveil_mcp_proxy.egg-info/dependency_links.txt +1 -0
  27. agentveil_mcp_proxy-0.7.19/agentveil_mcp_proxy.egg-info/entry_points.txt +2 -0
  28. agentveil_mcp_proxy-0.7.19/agentveil_mcp_proxy.egg-info/requires.txt +6 -0
  29. agentveil_mcp_proxy-0.7.19/agentveil_mcp_proxy.egg-info/top_level.txt +1 -0
  30. agentveil_mcp_proxy-0.7.19/docs/MCP_PROXY_RELEASE_ACCEPTANCE.md +75 -0
  31. agentveil_mcp_proxy-0.7.19/pyproject.toml +49 -0
  32. agentveil_mcp_proxy-0.7.19/scripts/mcp_proxy_release_acceptance.py +432 -0
  33. agentveil_mcp_proxy-0.7.19/setup.cfg +4 -0
  34. agentveil_mcp_proxy-0.7.19/tests/test_bundle_verifier_v3.py +244 -0
  35. agentveil_mcp_proxy-0.7.19/tests/test_mcp_proxy_approval.py +1610 -0
  36. agentveil_mcp_proxy-0.7.19/tests/test_mcp_proxy_circuit_breaker.py +777 -0
  37. agentveil_mcp_proxy-0.7.19/tests/test_mcp_proxy_classification.py +311 -0
  38. agentveil_mcp_proxy-0.7.19/tests/test_mcp_proxy_cli.py +1510 -0
  39. agentveil_mcp_proxy-0.7.19/tests/test_mcp_proxy_evidence.py +835 -0
  40. agentveil_mcp_proxy-0.7.19/tests/test_mcp_proxy_multi_instance.py +233 -0
  41. agentveil_mcp_proxy-0.7.19/tests/test_mcp_proxy_passthrough.py +1643 -0
  42. agentveil_mcp_proxy-0.7.19/tests/test_mcp_proxy_passthrough_concurrent.py +564 -0
  43. agentveil_mcp_proxy-0.7.19/tests/test_mcp_proxy_policy.py +535 -0
  44. agentveil_mcp_proxy-0.7.19/tests/test_mcp_proxy_proof.py +1117 -0
  45. agentveil_mcp_proxy-0.7.19/tests/test_mcp_proxy_runtime_gate.py +942 -0
  46. agentveil_mcp_proxy-0.7.19/tests/test_mcp_proxy_tool_surface.py +184 -0
  47. agentveil_mcp_proxy-0.7.19/tests/test_proxy_packaging.py +38 -0
  48. agentveil_mcp_proxy-0.7.19/tests/test_strict_bundle_verifier.py +228 -0
@@ -0,0 +1,71 @@
1
+ Business Source License 1.1
2
+
3
+ License text copyright (c) 2017 MariaDB Corporation Ab, All Rights Reserved.
4
+ "Business Source License" is a trademark of MariaDB Corporation Ab.
5
+
6
+ Parameters
7
+
8
+ Licensor: Agent Veil Protocol Contributors
9
+ Licensed Work: AgentVeil MCP Proxy
10
+ The Licensed Work is (c) 2026 Agent Veil Protocol Contributors.
11
+ Additional Use Grant: You may make production use of the Licensed Work, provided
12
+ that your use does not include offering the Licensed Work,
13
+ or a modified version of it, to third parties on a hosted
14
+ or embedded basis as part of a product or service that
15
+ competes with AgentVeil's paid products or services.
16
+
17
+ For purposes of this license, a "Competing Service" is a
18
+ commercial product or service that provides MCP tool-call
19
+ proxying, agent action control, approval routing, or local
20
+ evidence/audit functionality substantially similar to the
21
+ Licensed Work.
22
+ Change Date: 2029-05-30
23
+ Change License: Apache License, Version 2.0
24
+
25
+ For information about alternative licensing arrangements for the Licensed Work,
26
+ please contact the Licensor.
27
+
28
+ Notice
29
+
30
+ Business Source License 1.1
31
+
32
+ Terms
33
+
34
+ The Licensor hereby grants you the right to copy, modify, create derivative
35
+ works, redistribute, and make non-production use of the Licensed Work. The
36
+ Licensor may make an Additional Use Grant, above, permitting limited production
37
+ use.
38
+
39
+ Effective on the Change Date, or the fourth anniversary of the first publicly
40
+ available distribution of a specific version of the Licensed Work under this
41
+ License, whichever comes first, the Licensor hereby grants you rights under the
42
+ terms of the Change License, and the rights granted in the paragraph above
43
+ terminate.
44
+
45
+ If your use of the Licensed Work does not comply with the requirements currently
46
+ in effect as described in this License, you must purchase a commercial license
47
+ from the Licensor, its affiliated entities, or authorized resellers, or you must
48
+ refrain from using the Licensed Work.
49
+
50
+ All copies of the original and modified Licensed Work, and derivative works of
51
+ the Licensed Work, are subject to this License. This License applies separately
52
+ for each version of the Licensed Work and the Change Date may vary for each
53
+ version of the Licensed Work released by Licensor.
54
+
55
+ You must conspicuously display this License on each original or modified copy of
56
+ the Licensed Work. If you receive the Licensed Work in original or modified form
57
+ from a third party, the terms and conditions set forth in this License apply to
58
+ your use of that work.
59
+
60
+ Any use of the Licensed Work in violation of this License will automatically
61
+ terminate your rights under this License for the current and all other versions
62
+ of the Licensed Work.
63
+
64
+ This License does not grant you any right in any trademark or logo of Licensor
65
+ or its affiliates (provided that you may use a trademark or logo of Licensor as
66
+ expressly required by this License).
67
+
68
+ TO THE EXTENT PERMITTED BY APPLICABLE LAW, THE LICENSED WORK IS PROVIDED ON AN
69
+ "AS IS" BASIS. LICENSOR HEREBY DISCLAIMS ALL WARRANTIES AND CONDITIONS, EXPRESS
70
+ OR IMPLIED, INCLUDING (WITHOUT LIMITATION) WARRANTIES OF MERCHANTABILITY, FITNESS
71
+ FOR A PARTICULAR PURPOSE, NON-INFRINGEMENT, AND TITLE.
@@ -0,0 +1,4 @@
1
+ include LICENSE
2
+ include README.md
3
+ recursive-include docs *.md
4
+ recursive-include scripts *.py
@@ -0,0 +1,388 @@
1
+ Metadata-Version: 2.4
2
+ Name: agentveil-mcp-proxy
3
+ Version: 0.7.19
4
+ Summary: Source-available MCP transport proxy for AgentVeil Runtime Gate, approval routing, and local evidence
5
+ Author-email: Oleg Boiko <ob@agentveil.dev>
6
+ Maintainer-email: Oleg Boiko <ob@agentveil.dev>
7
+ License-Expression: BUSL-1.1
8
+ Project-URL: Homepage, https://agentveil.dev
9
+ Project-URL: Documentation, https://github.com/agentveil-protocol/agentveil-sdk/tree/main/packages/agentveil-mcp-proxy#readme
10
+ Project-URL: Repository, https://github.com/agentveil-protocol/agentveil-sdk
11
+ Project-URL: Issues, https://github.com/agentveil-protocol/agentveil-sdk/issues
12
+ Keywords: ai,agents,agent-control,runtime-gate,mcp,mcp-proxy,approval,evidence
13
+ Classifier: Development Status :: 5 - Production/Stable
14
+ Classifier: Intended Audience :: Developers
15
+ Classifier: Topic :: Software Development :: Libraries
16
+ Classifier: Programming Language :: Python :: 3
17
+ Classifier: Programming Language :: Python :: 3.10
18
+ Classifier: Programming Language :: Python :: 3.11
19
+ Classifier: Programming Language :: Python :: 3.12
20
+ Classifier: Programming Language :: Python :: 3.13
21
+ Requires-Python: >=3.10
22
+ Description-Content-Type: text/markdown
23
+ License-File: LICENSE
24
+ Requires-Dist: agentveil<0.8,>=0.7.19
25
+ Requires-Dist: mcp>=1.0.0
26
+ Provides-Extra: test
27
+ Requires-Dist: pytest>=8.0.0; extra == "test"
28
+ Requires-Dist: pytest-asyncio>=0.23.0; extra == "test"
29
+ Dynamic: license-file
30
+
31
+ # agentveil-mcp-proxy
32
+
33
+ MCP transport proxy for **AgentVeil Protocol** - Action Control Plane that
34
+ wraps a downstream MCP server with runtime decision gating, human approval
35
+ routing, durable signed evidence, and replay defense. It is the intercepting
36
+ transport adapter for IDE MCP clients such as Claude Desktop, Cursor, Cline,
37
+ Windsurf, and VS Code.
38
+
39
+ This is one integration adapter for AVP. The trust/control/evidence engine and
40
+ identity foundation live in the core `agentveil` SDK; this package is the
41
+ MCP-transport adapter.
42
+
43
+ - **Status:** stdio passthrough for one downstream MCP server per proxy
44
+ instance. Encrypted identity by default, durable approval evidence, signed
45
+ receipts, offline bundle verification.
46
+ - **Package:** distributed separately as `agentveil-mcp-proxy`. Console script
47
+ `agentveil-mcp-proxy` is preserved.
48
+ - **License:** source-available under the Business Source License 1.1. See
49
+ [`LICENSE`](LICENSE).
50
+
51
+ ## Install
52
+
53
+ ```bash
54
+ pip install agentveil-mcp-proxy
55
+ ```
56
+
57
+ This installs the separately packaged `agentveil-mcp-proxy` console script.
58
+ The core `agentveil` SDK is installed automatically as a dependency. If your
59
+ environment already pins `agentveil`, keep that pin and install
60
+ `agentveil-mcp-proxy` alongside it.
61
+
62
+ ## Quick Start
63
+
64
+ For the full step-by-step customer cold path (install → init → doctor →
65
+ configure downstream → run → export evidence → offline verify) and the
66
+ honest list of what the bundle currently does and does not prove, see
67
+ [`docs/MCP_PROXY_QUICKSTART.md`](../../docs/MCP_PROXY_QUICKSTART.md).
68
+
69
+ The short form is:
70
+
71
+ Create a local proxy identity, config, and control grant:
72
+
73
+ ```bash
74
+ agentveil-mcp-proxy init
75
+ ```
76
+
77
+ By default `init` creates an encrypted identity. Provide a passphrase
78
+ interactively, via `--passphrase-file`, or via the `AVP_PROXY_PASSPHRASE`
79
+ environment variable. See
80
+ [Operations: Security trade-offs by passphrase source][ops-passphrase].
81
+
82
+ Validate the local setup:
83
+
84
+ ```bash
85
+ agentveil-mcp-proxy doctor
86
+ ```
87
+
88
+ For a local first-run without installing another MCP server, configure the
89
+ built-in sandboxed filesystem downstream:
90
+
91
+ ```bash
92
+ agentveil-mcp-proxy init --quickstart-filesystem ./sandbox
93
+ agentveil-mcp-proxy doctor --full
94
+ agentveil-mcp-proxy smoke
95
+ ```
96
+
97
+ For a real downstream server, write `downstream.command` and `downstream.args`
98
+ with the helper:
99
+
100
+ ```bash
101
+ agentveil-mcp-proxy downstream set \
102
+ --name filesystem \
103
+ --command npx \
104
+ --arg -y \
105
+ --arg @modelcontextprotocol/server-filesystem \
106
+ --arg /Users/me/work
107
+ ```
108
+
109
+ Then run:
110
+
111
+ ```bash
112
+ agentveil-mcp-proxy run
113
+ ```
114
+
115
+ The proxy reads stdio from your MCP client, classifies tool calls, evaluates
116
+ them through AVP Runtime Gate, routes approval prompts to a local browser UI
117
+ when needed, persists durable signed evidence, and forwards approved calls to
118
+ the downstream server. Raw MCP arguments, prompts, outputs, tokens, source code,
119
+ secrets, and private logs remain local by default; Runtime Gate receives only
120
+ privacy-filtered metadata and hashes needed for the decision. See
121
+ [Data Handling](../../docs/DATA_HANDLING.md).
122
+
123
+ ### Supported invocation paths
124
+
125
+ | Command | Status |
126
+ |---|---|
127
+ | `agentveil-mcp-proxy run` | **canonical** - console script passthrough mode |
128
+ | `python3 -m agentveil_mcp_proxy run` | supported - module form |
129
+
130
+ ## Configure Your MCP Client
131
+
132
+ Instead of pointing your IDE directly at a downstream MCP server, point the IDE
133
+ at `agentveil-mcp-proxy`. The proxy reads the actual downstream command from
134
+ `~/.avp/mcp-proxy/config.json` and wraps that server with Runtime Control Layer
135
+ checks.
136
+
137
+ If you installed into a virtual environment, point `command` at the full path of
138
+ `agentveil-mcp-proxy` inside that environment (`which agentveil-mcp-proxy`).
139
+
140
+ ### Claude Desktop
141
+
142
+ `~/Library/Application Support/Claude/claude_desktop_config.json` on macOS, or
143
+ `%APPDATA%/Claude/claude_desktop_config.json` on Windows:
144
+
145
+ ```json
146
+ {
147
+ "mcpServers": {
148
+ "filesystem-gated": {
149
+ "command": "agentveil-mcp-proxy",
150
+ "args": ["run"]
151
+ }
152
+ }
153
+ }
154
+ ```
155
+
156
+ The proxy reads downstream server config from
157
+ `~/.avp/mcp-proxy/config.json`:
158
+
159
+ ```json
160
+ {
161
+ "downstream": {
162
+ "name": "filesystem",
163
+ "command": "npx",
164
+ "args": ["-y", "@modelcontextprotocol/server-filesystem", "/Users/me/work"]
165
+ }
166
+ }
167
+ ```
168
+
169
+ ### Cursor
170
+
171
+ `.cursor/mcp.json` in your project root:
172
+
173
+ ```json
174
+ {
175
+ "mcpServers": {
176
+ "github-gated": {
177
+ "command": "agentveil-mcp-proxy",
178
+ "args": ["run"]
179
+ }
180
+ }
181
+ }
182
+ ```
183
+
184
+ `~/.avp/mcp-proxy/config.json`:
185
+
186
+ ```json
187
+ {
188
+ "downstream": {
189
+ "name": "github",
190
+ "command": "github-mcp-server",
191
+ "args": []
192
+ }
193
+ }
194
+ ```
195
+
196
+ ### Windsurf
197
+
198
+ `~/.codeium/windsurf/mcp_config.json`:
199
+
200
+ ```json
201
+ {
202
+ "mcpServers": {
203
+ "filesystem-gated": {
204
+ "command": "agentveil-mcp-proxy",
205
+ "args": ["run"]
206
+ }
207
+ }
208
+ }
209
+ ```
210
+
211
+ `~/.avp/mcp-proxy/config.json`:
212
+
213
+ ```json
214
+ {
215
+ "downstream": {
216
+ "name": "filesystem",
217
+ "command": "npx",
218
+ "args": ["-y", "@modelcontextprotocol/server-filesystem", "/Users/me/work"]
219
+ }
220
+ }
221
+ ```
222
+
223
+ ### VS Code (Copilot)
224
+
225
+ `.vscode/mcp.json` in your workspace:
226
+
227
+ ```json
228
+ {
229
+ "servers": {
230
+ "filesystem-gated": {
231
+ "command": "agentveil-mcp-proxy",
232
+ "args": ["run"]
233
+ }
234
+ }
235
+ }
236
+ ```
237
+
238
+ `~/.avp/mcp-proxy/config.json`:
239
+
240
+ ```json
241
+ {
242
+ "downstream": {
243
+ "name": "filesystem",
244
+ "command": "npx",
245
+ "args": ["-y", "@modelcontextprotocol/server-filesystem", "/Users/me/work"]
246
+ }
247
+ }
248
+ ```
249
+
250
+ ### Any MCP Client (generic stdio)
251
+
252
+ ```bash
253
+ agentveil-mcp-proxy run
254
+ ```
255
+
256
+ ## Environment Variables
257
+
258
+ | Variable | Default | Description |
259
+ |---|---|---|
260
+ | `AVP_HOME` | `~/.avp` | Override the proxy home directory. Identity, config, control grant, and evidence DB live here. |
261
+ | `AVP_PROXY_PASSPHRASE` | (unset) | Encrypted-identity passphrase. **See [Security trade-offs by passphrase source][ops-passphrase]** - env vars can leak through `/proc/<pid>/environ` and `ps eww`; prefer `--passphrase-file` for automated and CI setups. |
262
+
263
+ ## Built-In Policy Packs
264
+
265
+ `init --policy-pack <name>` selects a starter pack:
266
+
267
+ | Pack | Default behavior |
268
+ |---|---|
269
+ | `default` | All tool calls forwarded to AVP Runtime Gate. |
270
+ | `github` | Reads allowed; writes forwarded to Runtime Gate; destructive verbs (`delete_*`, `revoke_*`, `destroy_*`, `drop_*`, `purge_*`, `remove_*`) require approval. |
271
+ | `filesystem` | Reads allowed; writes require approval; destructive verbs (`delete_*`, `purge_*`, `truncate_*`, `wipe_*`, `format_*`, `rm`, `rmdir_*`, `unlink_*`, `clean_*`) blocked. |
272
+ | `shell` | All shell tool calls require approval. |
273
+
274
+ Customize via the `policy.rules[]` field in
275
+ `~/.avp/mcp-proxy/config.json`. Built-in packs are starter templates, not
276
+ exhaustive; review patterns for your specific downstream server.
277
+
278
+ ## CLI Commands
279
+
280
+ | Command | Purpose |
281
+ |---|---|
282
+ | `init` | Create encrypted identity, config, and control grant. |
283
+ | `init --quickstart-filesystem <path>` | Configure the built-in sandboxed filesystem downstream for local first-run. |
284
+ | `doctor` | Validate local files and control grant. |
285
+ | `doctor --check-backend` | Add a read-only preflight that the backend is reachable and the proxy identity is registered. |
286
+ | `doctor --full` | Launch downstream and verify MCP `initialize` / `tools/list`. |
287
+ | `downstream set` | Write downstream MCP server config without hand-editing JSON. |
288
+ | `configure-downstream` | Backward-compatible alias for `downstream set`. |
289
+ | `register` | Register the existing proxy identity with the configured backend. |
290
+ | `smoke` | Launch downstream and run the local MCP smoke check. |
291
+ | `run` | Run stdio passthrough, the proxy mode used by MCP clients. |
292
+ | `reissue-grant` | Refresh the local control grant before expiry. |
293
+ | `export-evidence <path>` | Export durable evidence bundle for offline verification. |
294
+ | `verify <bundle.json>` | Verify a previously exported bundle. |
295
+ | `events list --limit 20` | Print recent privacy-safe evidence records. |
296
+ | `events tail --follow` | Follow privacy-safe evidence records. |
297
+ | `evidence-summary` | Print aggregate local evidence counts. |
298
+ | `events vacuum` / `events --vacuum` | Prune old terminal evidence records. |
299
+
300
+ See [Operations][ops] for full flag reference and headless/CI patterns.
301
+
302
+ Before tagging or publishing MCP Proxy behavior changes, run the release
303
+ acceptance path from [`docs/MCP_PROXY_RELEASE_ACCEPTANCE.md`][release-acceptance].
304
+ It installs the wheel into a clean venv and verifies setup, backend
305
+ registration, stdio passthrough, local approval/retry UX, events, export, and
306
+ offline verification.
307
+
308
+ Setup, registration, doctor, smoke, and event-list commands support
309
+ machine-readable output:
310
+
311
+ ```bash
312
+ agentveil-mcp-proxy init --quickstart-filesystem ./sandbox --json
313
+ agentveil-mcp-proxy register --json
314
+ agentveil-mcp-proxy doctor --full --json
315
+ agentveil-mcp-proxy smoke --json
316
+ agentveil-mcp-proxy events list --json
317
+ ```
318
+
319
+ ## Evidence And Proof
320
+
321
+ Every approval-gated tool call writes a durable record to a local SQLite
322
+ evidence store (`~/.avp/mcp-proxy/evidence.sqlite`, owner-only). Records are
323
+ hash-chained, fsync'd on write, and reference signed AVP DecisionReceipt
324
+ digests when Runtime Gate authorized the action.
325
+
326
+ Export an evidence bundle for offline verification:
327
+
328
+ ```bash
329
+ agentveil-mcp-proxy export-evidence ./bundle.json
330
+ agentveil-mcp-proxy verify ./bundle.json --trusted-signer-did did:key:...
331
+ ```
332
+
333
+ The verifier validates chain integrity, receipt signature against pinned signer
334
+ DIDs, schema, `audit_id` binding, `payload_hash` binding, risk class, and policy
335
+ context hash. See [Operations: Evidence][ops-evidence].
336
+
337
+ ## Headless Mode
338
+
339
+ For automation and CI, run without a browser approval UI. Either auto-deny every
340
+ approval-required action, or load a bounded headless policy that pre-approves
341
+ specific `(server, tool, risk_class, payload_hash)` tuples.
342
+
343
+ ```bash
344
+ agentveil-mcp-proxy run --headless --auto-deny
345
+ agentveil-mcp-proxy run --headless --headless-policy ./headless.json
346
+ ```
347
+
348
+ See [Operations: Headless][ops-headless].
349
+
350
+ ## Operations And Security
351
+
352
+ For full operational depth - passphrase handling, policy override semantics,
353
+ multi-instance deployment, evidence vacuum, identity migration, and security
354
+ trade-offs - see [`docs/MCP_PROXY_OPERATIONS.md`][ops].
355
+
356
+ ## Relationship To AVP
357
+
358
+ `agentveil-mcp-proxy` is one integration adapter for Agent Veil Protocol. The
359
+ core trust/control/evidence primitives - Runtime Gate, DecisionReceipt
360
+ verification, controlled-action flow, identity, and audit chain - live in the
361
+ [`agentveil`](../../README.md) SDK. This package is the MCP-transport adapter for
362
+ IDE clients; other adapters exist for direct SDK use, framework integrations
363
+ (CrewAI, LangGraph, AutoGen, OpenAI), AWS Bedrock, and Microsoft AgentMesh.
364
+
365
+ See the top-level [README](../../README.md) for the full integration matrix and
366
+ the [API docs](https://agentveil.dev/docs) for endpoint-level detail.
367
+
368
+ ## Roadmap
369
+
370
+ v0.1 ships with these documented limitations targeted for v0.1.1:
371
+
372
+ - **Backend protocol nonce/freshness:** local replay cache mitigates
373
+ same-process replays within a 5-minute window; full protocol fix adds
374
+ backend-issued nonce plus `issued_at` and `expires_at` to
375
+ `decision_receipt/3`.
376
+ - **Windows orphan process containment:** Linux and macOS handle downstream
377
+ orphan cleanup correctly; Windows Job Object assignment has a narrow race
378
+ window during `start()`. Run under a supervisor on Windows in production for
379
+ now.
380
+ - **OS keychain identity storage:** v0.1 uses passphrase-encrypted Argon2id
381
+ identity files. v0.1.1+ adds opt-in macOS Keychain, Linux Secret Service, and
382
+ Windows Credential Manager integration.
383
+
384
+ [ops]: ../../docs/MCP_PROXY_OPERATIONS.md
385
+ [ops-passphrase]: ../../docs/MCP_PROXY_OPERATIONS.md#security-trade-offs-by-passphrase-source
386
+ [ops-evidence]: ../../docs/MCP_PROXY_OPERATIONS.md#local-evidence-storage
387
+ [ops-headless]: ../../docs/MCP_PROXY_OPERATIONS.md#headless-approval-mode
388
+ [release-acceptance]: docs/MCP_PROXY_RELEASE_ACCEPTANCE.md