Skip to main content

agentx-mcp

Wrap any MCP server so every tool call is screened and recorded before it runs, and set the posture to enforce when you want the dangerous ones stopped.

agentx-mcp sits in front of any MCP server's stdio and screens every tools/call before it runs. Out of the box it watches: a dangerous call (a destructive database write, an SSRF, a secret read) is recorded and let through, so wrapping a server that works cannot break it, and agentx-mcp --audit shows what would have been stopped. Set the posture to enforce and the same call is blocked and handed back to your agent as coaching it can act on, so the agent revises and the run finishes instead of executing the damage. No API key, no gateway, nothing leaves your machine.

Use it

No install needed with uvx:

// mcp.json / claude_desktop_config.json / .cursor/mcp.json
{
  "command": "uvx",
  "args": ["agentx-mcp", "npx", "-y", "your-mcp-server", "..."]
}

Claude Code writes that entry for you instead:

claude mcp add your-server -- uvx agentx-mcp npx -y your-mcp-server ...

Either way the shape is the same: our proxy first, your server after it. The env settings below apply to Claude Code too: add the server with claude mcp add -s project and it writes a .mcp.json you can edit the same way.

Or install it persistently:

pipx install agentx-mcp        # or: pip install agentx-mcp
agentx-mcp npx -y your-mcp-server ...

Then keep using your MCP client normally. Every tool call is screened and recorded.

Watching is silent on purpose: your agent's results are untouched and nothing appears in your chat. See what it caught:

uvx agentx-mcp --audit

That lists what your agent did, what AgentX would have stopped, and what is new since you last looked. It also shows the whole menu: every tool the server offers, how many your agent called, and the ones it never called, since nobody chooses what a third-party server exposes. Add --calls for one line per call. uvx agentx-mcp --review then approves or rejects what it found, one key each.

To block rather than watch, add one more line to that server's entry:

"env": { "AGENTX_POSTURE": "enforce" }

A blocked call comes back as coaching your agent recovers from.

To keep the records per project rather than per user, and to have the proxy match the rules you adopted in that project's .agentx/rules.json, name the project in the same env block. The proxy prints where its stores are and how it decided at every start:

"env": { "AGENTX_PROJECT_DIR": "${CLAUDE_PROJECT_DIR}" }   // Claude Code; Cursor and VS Code: "${workspaceFolder}"

That is the keyless floor. For the judge that catches what keywords miss, automatic retries, and human escalation on the largest calls, see Recover at https://agentx-core.com/?utm_source=agentx-mcp&utm_medium=repo.

What it is

A thin launcher for the proxy that ships in agentx-security-sdk. Installing agentx-mcp gives you the agentx-mcp command with no --from needed. MIT licensed.

Docs: https://agentx-core.com/docs?utm_source=agentx-mcp&utm_medium=repo

Metadata

Release files for agentx-mcp 0.2.4

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for agentx-mcp 0.2.4
File Size Uploaded
agentx_mcp-0.2.4.tar.gz 5.8 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for agentx-mcp 0.2.4
File Interpreter ABI Platform
agentx_mcp-0.2.4-py3-none-any.whl Python 3 none any Details

Total release size: 11.0 kB

Release files / agentx_mcp-0.2.4.tar.gz

Download URL agentx_mcp-0.2.4.tar.gz
Size 5.8 kB
Tags Source
SHA-256 checksum
How to use checksums
569ee25d8e5c6e755ebc4ec43d5412c56d3f38b020a0b4f0694158e3541cab87
BLAKE2b-256 checksum
How to use checksums
fee9cff4f4d8cf0b0788e5e70c5349997aa5560d165b7126fd3ae2bc90002548
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.12.1

Release files / agentx_mcp-0.2.4-py3-none-any.whl

Download URL agentx_mcp-0.2.4-py3-none-any.whl
Size 5.2 kB
Tags Python 3
SHA-256 checksum
How to use checksums
c27a2dfb8bfa62396ef9d724be6d785c56af6d89675d5b2b19bc87010bfef0d3
BLAKE2b-256 checksum
How to use checksums
af4a90118d15638e3e4ec1de4df149a531be12f9e9d35231d19da6d0bfa56118
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.12.1

Release history Release notifications | RSS feed

This release

0.2.4 This release

2 release files

0.2.3

2 release files

0.2.2

2 release files

0.2.1

2 release files

0.2.0

2 release files

0.1.7

2 release files

0.1.6

2 release files

0.1.5

2 release files

0.1.4

2 release files

0.1.3

2 release files

0.1.2

2 release files

0.1.1

2 release files

0.1.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page