Transparent audit proxy for MCP servers: logs every tool call, flags poisoning and rug pulls.
MCPpedia last refreshed this data
io.github.firatmio/mcp-audit-proxy is an MCP server that transparent audit proxy for MCP servers: logs every tool call, flags poisoning and rug pulls. Its tool list has not been published yet over stdio, sse and http, requires no API key, and scores 82/100 on MCPpedia's security, maintenance and efficiency rubric.
Config is the same across clients - only the file and path differ.
{
"mcpServers": {
"io-github-firatmio-mcp-audit-proxy": {
"args": [
"-y",
"mcp-audit-proxy"
],
"command": "npx"
}
}
}Are you the author?
Add this badge to your README to show your security score and help users find safe servers.
Transparent audit proxy for MCP servers: logs every tool call, flags poisoning and rug pulls.
This server supports HTTP transport. Be the first to test it - help the community know if it works.
Five weighted categories - click any category to see the underlying evidence.
No known CVEs.
Checked mcp-audit-proxy against OSV.dev.
Click any tool to inspect its schema.
Be the first to review
Have you used this server?
Share your experience - it helps other developers decide.
Sign in to write a review.
Others in other
Private-by-default, local-first memory/context/task orchestrator for MCP apps and agents.
Compress tool outputs, logs, files, and RAG chunks before they reach the LLM. 60-95% fewer tokens, same answers. Library, proxy, MCP server.
SQL for Android APK and DEX files: classes, methods, strings, references and smali.
A curated list of skills, tools, tutorials, and capabilities for AI coding agents (Claude, Codex, Antigravity, Copilot, VS Code)
MCP Security Weekly
Get CVE alerts and security updates for io.github.firatmio/mcp-audit-proxy and similar servers.
Start a conversation
Ask a question, share a tip, or report an issue.
Sign in to join the discussion.
A package-lock and flight recorder for MCP tool descriptions.
An MCP server's tool descriptions go straight into your model's context, and a
server can change them at any time. mcp-audit sits transparently in front of
any MCP server and:
mcp-audit lock diff and approves it with mcp-audit lock approve;Everything runs locally. No account, no cloud, no telemetry: nothing leaves your machine unless you configure a webhook. One Go binary, Apache 2.0.
$ mcp-audit run -- npx -y @modelcontextprotocol/server-filesystem /tmp
mcp-audit dev | mode: stdio, wrapping "npx -y @modelcontextprotocol/server-filesystem /tmp"
mcp-audit config: built-in defaults (no config file found)
mcp-audit policy: shadow (recording only, nothing is blocked)
mcp-audit detectors: rug-pull, tool-poisoning, result-injection
mcp-audit audit log: /home/you/.mcp-audit/logs/events.jsonl
That is the whole setup. No config file, nothing blocked, everything recorded.

The recording is scripts/demo.sh, which runs the whole
story end to end against a stub server, in a temp directory that leaves your
real state alone:
./scripts/demo.sh # watch it
TYPING_SPEED=0 PAUSE=0 ./scripts/demo.sh # run it instantly, as a smoke test
vhs docs/demo.tape # re-record docs/demo.gif
No install needed — run it through npm, in front of the server you already use:
npx mcp-audit-proxy run -- npx -y @modelcontextprotocol/server-filesystem /tmp
Or download a binary for your platform from the latest release.
Note: the npm package and the release binaries are still 0.1.0, which predates
mcp-audit lockand result scanning. Until 0.2.0 is out, build from source to get them.
Build from source — Go 1.24 or newer, no other dependencies:
go build -o mcp-audit ./cmd/mcp-audit
Or install straight into your GOBIN:
go install github.com/firatmio/mcp-audit-proxy/cmd/mcp-audit@latest
Put mcp-audit run -- in front of the command you already run:
mcp-audit run -- npx -y @modelcontextprotocol/server-filesystem /tmp
Point the proxy at the upstream server and your client at the proxy:
mcp-audit serve --target https://example.com/mcp --listen :9000
Authentication is not touched: Authorization headers, OAuth flows and
Mcp-Session-Id all pass through exactly as they arrive.
Every message is one JSON line:
$ tail -1 ~/.mcp-audit/logs/events.jsonl | jq
{
"timestamp": "2026-08-12T13:05:08.466Z",
"event_id": "236d1568-e1f0-4ab4-ba75-f10f74f7b2c9",
"client_id": "",
"server_name": "server-filesystem",
"direction": "request",
"method": "tools/call",
"tool_name": "read_file",
... [View full README on GitHub](https://github.com/firatmio/mcp-audit-proxy#readme)