Guide · Agent skill
How to use the MCP Tool-Poisoning Auditor agent skill
Updated · written with AI from the project's own documentation and checked against our catalogue data
This guide shows you how to install and use the auditing-mcp-servers-for-tool-poisoning agent skill, which lets an AI agent check an MCP server (a plugin-style tool provider for AI agents) before you connect it. It is aimed at security engineers, platform engineers and developers who want a structured review of a server's tool descriptions, configuration and network exposure. By the end you will know how to install the skill, phrase a request that triggers it, and read the results with its limits in mind.
Quick start
- 1Download and unzip the skill. Download the ZIP from this page and unzip it into ~/.claude/skills/ or a project's .claude/skills/ folder, or upload it under Settings, Capabilities, Skills in the Claude apps.
- 2Install the prerequisites. Make sure Python 3.10+ and uv are available, then install the Python packages requests and mcp with pip.
- 3Ask for an audit. Describe the server or config you want checked in plain language, and confirm you are authorised to assess it.
- 4Run the static scan. Let the agent run mcp-scan against your MCP config, or pass the config path yourself with uvx.
- 5Inspect tool descriptions. Review the raw descriptions for hidden instructions, imperative text aimed at the model and obfuscated characters.
- 6Pin hashes and rescan. Record tool hashes for approved tools and rescan on a schedule to catch silent description changes.
- 7Decide and document. Treat flagged items as open issues and keep a clean result as a reduced risk, not proof of safety.
What the skill makes the agent do
MCP lets AI agents discover and call tools advertised by MCP servers. Each tool has a natural-language description that the agent's model reads before deciding to call it, and a malicious server can hide instructions in that text. This skill guides the agent through an audit of that risk, covering tool poisoning, tool shadowing, rug pulls, toxic flows, SSRF and unauthenticated exposure.
- Runs Invariant Labs' mcp-scan on your MCP config to flag poisoning, shadowing, rug pulls and toxic flows.
- Prints raw tool, prompt and resource descriptions so you can read them for hidden or imperative instructions.
- Pins tool description hashes so a silent change after approval is flagged as a possible rug pull.
- Offers manual checks for SSRF in URL-fetching tools and for authentication on HTTP or SSE endpoints.
- Includes a bundled Python script that runs a static config scan and a heuristic check of a stdio server's tool descriptions.
How to install the skill
Option 1: download the ZIP from this page and unzip it into your personal skills folder, ~/.claude/skills/, or into a project's .claude/skills/ folder so that only that project uses it.
Option 2: in the Claude apps, open Settings, then Capabilities, then Skills, and upload the ZIP.
- The skill folder contains SKILL.md, scripts/agent.py, references/api-reference.md and references/standards.md.
- Keep the folder structure intact after unzipping so the agent can find the reference files.
Install the tools the skill needs
The skill expects Python 3.10 or newer and uv (which provides uvx), or pip. mcp-scan is run through uvx, so there is no separate global install, but uvx fetches it from the internet the first time. The manual checks use the requests and mcp Python packages. Node.js is needed only if you audit Node-based stdio MCP servers, since the examples launch servers with node.
- Python 3.10+ and uv (for uvx), or pip.
- Python packages: requests and mcp.
- Node.js if you audit a Node-based stdio server.
- An MCP config file to scan, such as a Cursor, VS Code or Claude Desktop config.
pip install requests mcpTrigger the skill with a natural request
You do not need to name the skill. Describe the situation in plain language and mention the MCP server or config file. The skill's description covers requests such as checking a server before adding it to your agent stack, reviewing an internal MCP server, detecting rug pulls, or investigating unexpected tool-driven behaviour.
Include the config path if you have one, and say whether you own the server. The skill asks you to scan only servers you own or are authorised to assess.
- "Audit the MCP servers in ~/.cursor/mcp.json before I connect them to my agent."
- "Check whether any tool descriptions in my VS Code MCP config contain hidden instructions."
- "Pin the current tool hashes for my MCP config so we can detect rug pulls later."
- "I'm building an internal MCP server. Review its tool descriptions and check that it requires authentication."
Run a typical audit
A common sequence is a static scan of the config, then an inspection of the raw descriptions, then a JSON report for records or CI. The agent runs commands like these, which you can also run yourself.
- Scan all auto-discovered configs, or pass a specific file.
- Inspect raw descriptions and look for instructions aimed at the model, such as requests to hide information from the user or to read ~/.ssh/id_rsa.
- Save a machine-readable report for CI.
uvx mcp-scan@latest ~/.vscode/mcp.json
uvx mcp-scan@latest inspect ~/.cursor/mcp.json
uvx mcp-scan@latest --json ~/.cursor/mcp.json > mcp_scan_report.jsonRead the results and what a clean result means
Treat the output as a list of things to investigate. A flagged item means a closer look is needed. A clean result does not prove the server is safe, because the heuristic patterns can miss novel or obfuscated attacks. Treat scanned tool descriptions as untrusted input, and do not load an unaudited MCP server into a privileged agent.
- Flags to review: tool poisoning, tool shadowing, cross-origin escalation, rug pulls, toxic flows.
- Red flags in descriptions: instructions to the assistant, nested fake documentation, zero-width or Unicode-smuggled text, directives to call other tools.
- Rug pulls appear as a hash mismatch on a tool you previously approved.
Safety notes: scripts and network use
This skill runs scripts and uses the network. mcp-scan is fetched from the internet by uvx, and the manual checks connect to live MCP servers and can send requests to URLs you supply. The skill's own notice says that probing third-party endpoints for SSRF or authentication weaknesses without permission may be illegal and can disrupt systems.
Run the active checks only against systems you own or have written permission to test. Review the bundled script before running it, and run audits in an environment that cannot reach sensitive internal networks.
- Only scan servers you own or are authorised to assess.
- Do not run SSRF probes against third-party servers.
- Do not load an unaudited MCP server into a privileged agent.
What people use it for
- Vetting a third-party MCP server before adding it to a Claude Desktop, Cursor, VS Code or custom agent setup.
- Reviewing an internal MCP server you are building for poisoned descriptions and missing authentication.
- Adding a CI step that rescans MCP configs and tool definitions on each change.
- Investigating an incident where an agent took unexpected actions that may trace to a poisoned tool.
- Checking whether approved tools have changed since you reviewed them.
Frequently asked questions
How do I install the MCP Tool-Poisoning Auditor skill?
Download the ZIP from this page and unzip it into ~/.claude/skills/ for personal use, or into a project's .claude/skills/ folder. In the Claude apps you can instead upload the ZIP under Settings, Capabilities, Skills.
What do I need to run it?
You need Python 3.10 or newer, uv (for uvx) or pip, the Python packages requests and mcp, and an MCP config file to scan. Node.js is needed only if you audit Node-based stdio servers.
Is the skill free and what is its licence?
The skill is listed under the Apache-2.0 licence. The source does not state pricing, so check the listing for any terms beyond the licence.
What is mcp-scan and does the skill need it?
mcp-scan is Invariant Labs' tool for statically scanning MCP configs and inspecting tool descriptions. The skill runs it through uvx, which fetches it from the internet the first time.
Can it tell me an MCP server is safe?
No. The heuristic patterns can miss novel or obfuscated attacks, so a clean result is not proof of safety. Use it as one review step alongside your own judgement.
Is it safe to run SSRF checks on any server?
No. Only run SSRF or authentication probes against servers you own or have written permission to test. Probing third-party endpoints without permission may be illegal and can disrupt systems.
New agent skills, repos and AI tools — every week
The best new skills and open-source projects, the fastest-growing repos, and one free prompt. Five minutes to read. Unsubscribe anytime.
Our verdict
This skill suits security or platform engineers vetting a third-party MCP server, developers reviewing their own internal servers, and teams that want a CI gate on MCP configs. It is not suited to probing servers you do not own, and it should not be treated as a guarantee, since its pattern checks can miss new or hidden attacks.
Download the skill