mcp-audit MCP server
io.github.firatmio/mcp-audit-proxy·v0.1.0·5 starsTransparent audit proxy for MCP servers: logs every tool call, flags poisoning and rug pulls.
5 stars44 downloads/wk
Reviews
Write oneNobody has reviewed mcp-audit yet.
If you have run it, two minutes of your experience saves the next person an afternoon.
mcp-audit tools
No tool declarations could be read from the package source. They show once the server is installed.
Public scan report
scanner v0.1.10 · 2026-11-03 · same rubric, same numbers if you re-run it
- Code scan2 source files scanned25/25
- –Live reliabilityno gateway calls yet and no remote to proben/a
- –Tool poisoningtools not inspected (local package is not executed); not countedn/a
- Auth qualitylocal package, no credentials required12/15
- Maintenancelast push 11 days ago15/15
- Maintainer identityregistry namespace matches repository owner; GitHub account older than a year8/10
How mcp-audit compares
Against every graded MCP server, from our own scans and uptime checks. Updated after each scan run.
- Safety score
- 92/100
- higher than 95% of 48,255 servers
- GitHub stars
- 5
- more than 83% of 28,688 servers
- Downloads a week
- 44
- more than 36% of 12,191 servers with a package
Install mcp-audit in Claude Code, Cursor or VS Code
Runs npx -y mcp-audit-proxy on your machine. Read the scan report first; the gateway never runs local packages.
claude mcp add mcp-audit-proxy -- npx -y mcp-audit-proxy
What the publisher says
From the mcp-audit repository's README, as published. We do not edit it. Read it on GitHub
mcp-audit
Wireshark + auditd, but for MCP.
mcp-audit sits transparently in front of any MCP server and records every tool call that passes through it — what was called, by whom, with which arguments, and what came back. One Go binary, no daemon, no Docker, no Kubernetes.
It answers the question every team adopting agents eventually has to answer: which tool did our agent call, when, and with what?
$ 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
mcp-audit audit log: /home/you/.mcp-audit/logs/events.jsonlThat is the whole setup. No config file, nothing blocked, everything recorded.
Install
Download a binary for your platform from the latest release, or use npm:
npx mcp-audit-proxy run -- npx -y @modelcontextprotocol/server-filesystem /tmpBuild from source — Go 1.24 or newer, no other dependencies:
go build -o mcp-audit ./cmd/mcp-auditOr install straight into your GOBIN:
go install github.com/firatmio/mcp-audit-proxy/cmd/mcp-audit@latestQuick start
Local (stdio) MCP servers
Put mcp-audit run -- in front of the command you already run:
mcp-audit run -- npx -y @modelcontextprotocol/server-filesystem /tmpRemote (Streamable HTTP) MCP servers
Point the proxy at the upstream server and your client at the proxy:
mcp-audit serve --target https://example.com/mcp --listen :9000Authentication is not touched: Authorization headers, OAuth flows and Mcp-Session-Id all pass through exactly as they arrive.
Read the log
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",
"arguments": { "path": "/etc/hosts" }
}Some things you can do with it straight away:
# Which tools has this agent called, and how often?
jq -r 'select(.direction=="request" and .tool_name) | .tool_name' \
~/.mcp-audit/logs/events.jsonl | sort | uniq -c | sort -rn
# Show everything the policy engine flagged.
jq -c 'select(.policy_flags)' ~/.mcp-audit/logs/events.jsonl
# What arguments has a particular tool been called with?
jq -c 'select(.tool_name=="read_file") | {timestamp, arguments}' \
~/.mcp-audit/logs/events.jsonlConnecting your MCP client
See examples/clients/ for drop-in config snippets for Claude Desktop, Cursor and Windsurf. The pattern is always the same: keep the command you had, and put mcp-audit run -- in front of it.
What it detects
Recording is the default. These checks run on top of it and, apart from RBAC, never block anything — they flag the event and print an alarm to stderr.
Tool poisoning
A poisoned MCP server hides instructions in a tool description. The user only sees a tool called echo; the model reads the rest. mcp-audit scans every advertised description and schema field for seven patterns:
Shortened. The full README is on GitHub.
Nothing above is checked by us. What we check is on the safety report.
mcp-audit: common questions
- Is mcp-audit MCP server safe?
- Yes, by our scan: it is graded A (92/100). Read the mcp-audit safety report
- How do I install mcp-audit?
- It runs on your machine. Copy the Claude Code, Cursor, VS Code or Claude Desktop config from the install section.
- Does mcp-audit need an API key?
- Not as far as the registry entry and our scan can tell: no credentials are declared or required.
- Is mcp-audit maintained?
- The last commit was 12 days ago (2026-10-23). The latest release is v0.1.0.
- What can I use instead of mcp-audit?
- Servers from other publishers that do the same job: QVeris MCP server.
- How does mcp-audit compare with other MCP servers?
- safety score 92/100 (higher than 95% of 48,255 servers); github stars 5 (more than 83% of 28,688 servers); downloads a week 44 (more than 36% of 12,191 servers with a package). Full comparison.
Alternatives to mcp-audit
Same job from other publishers: the closest match first, then the best rated.
QVerisProfessional data and tools for AI: find services, review scope, call them, and audit usage.not reviewedEstablishedA