Assay MCP Server — Claude Code MCP server: what it does
Policy-enforcing MCP proxy that gates tool calls and records decisions into offline-verifiable evidence bundles.
Open on GitHubWhat Assay MCP Server does
Assay intercepts tools/call requests and decides allow or deny before forwarding them to the server. In --enforce mode the proxy is fail-closed: an unavailable backend or conflicting policy blocks the call. Recorded decisions, preconditions and observations go into tamper-evident bundles for offline CI review without external hosting. Supported Linux hosts get eBPF network-connection filtering and Landlock TCP-port allowlists. The Trust Basis classifier splits claims into verified, self_reported, inferred and absent — a tool returning "success" is the provider's assertion, not proof.
Assay ships CLI archives for Linux x86_64/arm64, macOS x86_64/arm64, Windows x86_64, Python wheels for CPython 3.12–3.14 on macOS and Linux x86_64, static manifests for Claude Code and Cursor. Without Rust, install via curl -fsSL https://getassay.dev/install.sh | sh; the script verifies SHA-256 before extraction. Basic assay mcp wrap does not create a bundle automatically — enable recording and export explicitly.
What it helps with
- gate MCP tool calls by policy before they run
- record agent decisions into offline-verifiable evidence bundles
- distinguish verified facts from self-reported tool assertions
- restrict agent network connections via eBPF and Landlock on Linux
- produce SARIF reports for GitHub Security tab
Example prompts for the agent
- Run
assay mcp wrapwith--enforcepolicy and show the decision log - Wrap a
read_filetool call through Assay and record the decision to.assay/decisions.ndjson - Create a tamper-evident bundle from recorded decisions and export to CI
How to install Assay MCP Server
Install
The MCP registry has no launch command for it: see the repository README
Step by step, with commands for each platform: How to add an MCP server to Claude Code, Codex, Cursor, VS Code, Gemini CLI and more
Questions about Assay MCP Server
How to install Assay MCP Server in Claude Code?
Run curl -fsSL https://getassay.dev/install.sh | sh to install the CLI, then assay --version to verify. Alternative Rust path: cargo install assay-cli --version 6.16.0 --locked. Static manifests for Claude Code ship in the release.
What does Assay MCP Server do?
Assay intercepts MCP tool calls, decides allow or deny by policy before execution, and records decisions with observations into offline-verifiable bundles. The Trust Basis classifier separates verified facts from self-reported tool assertions.
What does Assay require to run on Linux?
Basic assay mcp wrap works on Linux x86_64 and arm64 with no extra dependencies. eBPF network filtering and Landlock port allowlists need kernel support for those mechanisms; --enforce-net mode requires --enforce.