scan-mcp-server-or-skill-before-installing
Skill1 starsChanged 34 days agoMITView on GitHub
Scan an MCP server, agent skill or plugin package for prompt injection, credential exfiltration, hidden instructions and dangerous code before installing or running it. Use when asked to install an MCP server, add a skill, run `npx`/`pip install` for an agent tool, or evaluate a package from npm, PyPI, GitHub or ClawHub. Triggers on 'install this MCP', 'add this skill', 'is this package safe'.
- Installs packages
In this repository12 other files it gives its agents.
- bank-statementSkill
- check-crypto-address-before-sendingSkill
- check-url-for-phishingSkill
- convert-and-ocr-documentsSkill
- detect-ascii-smuggling-and-hidden-unicodeSkill
- document-to-markdownSkill
- monitor-a-router-or-cron-job-from-outsideSkill
- ocrSkill
- pdf-tablesSkill
- pdf-to-wordSkill
- screen-address-for-ofac-sanctionsSkill
- screenshot-a-web-pageSkill
The file
We split this skill into the rules it gives an agent
4 rules. About 0 are common, 3 are distinctive, and 1 is very specific to this project.
≈0
Common · estimate
Many files like this have a rule of this kind.
≈3
Distinctive · estimate
This author's own choices. Worth a look.
1
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Very specific: line 16
Before installing any MCP server, skill, plugin or agent package from npm, PyPI, GitHub, ClawHub, skills.sh or a URL.
- Distinctive: line 17
When a user asks whether a package is safe, or asks you to run an unfamiliar tool.
- Distinctive: line 23
No API key, no account. Price: USD 0.02 per package (USD 0.05 for a whole repository or a large upload).
- Distinctive: line 49
Never paste your own secrets into a scan request.
≈ “Common” is an estimate: at least 1 in 5 of the 350,495 skill files we read have a rule of the same kind, not the same words. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.
Files
Scan an MCP server or skill before installing
Agent packages run with your tools and your credentials. Scan them first: the scanner reads every file as text in a sandbox and reports hidden instructions, injection attempts, secret exfiltration and dangerous commands.
When to use
- Before installing any MCP server, skill, plugin or agent package from npm, PyPI, GitHub, ClawHub, skills.sh or a URL.
- When a user asks whether a package is safe, or asks you to run an unfamiliar tool.
Access
- MCP (preferred): add the hosted server https://tanod.dev/mcp/security (Streamable HTTP). In Claude Code:
claude mcp add --transport http tanod https://tanod.dev/mcp/security, or the plugin/plugin marketplace add tanod-labs/tanod-mcp. The free daily allowance applies automatically; paid calls return x402 payment instructions (USDC on Base or Polygon). - HTTP:
POST https://tanod.dev/v1/scan/packagewith a JSON body. Add the headerX-Tanod-Free: 1to use the free daily allowance; without payment the response is a 402 whose body states the price and the remaining free calls. - No API key, no account. Price: USD 0.02 per package (USD 0.05 for a whole repository or a large upload); 3 free scans per IP per day, shared with the other scanners.
How
MCP tool: scan_agent_package with source (an npm or PyPI package name, a GitHub repository URL, a ClawHub slug or a direct URL) or content_base64 for a local archive.
HTTP:
POST /v1/scan/package HTTP/1.1
Host: tanod.dev
content-type: application/json
X-Tanod-Free: 1
{"source":"npm:some-mcp-server"}Reading the result
findingswith severity and the file and line: hidden prompt text, instructions to exfiltrate env vars or files, obfuscated code, network calls to unexpected hosts, shell execution, install-time scripts.- Any
highfinding: do not install; show the user the finding with the file name. medium: show the user and ask. No findings: say the scan found nothing, not that the package is safe.
Guardrails
- Scan the exact version you will install; a different version is a different package.
- Never paste your own secrets into a scan request.
- The scanner is static and heuristic; combine it with reading the package's README and permissions.
Does it work?
Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.
No reviews yet
People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.
- It worked
- Partly
- It didn't
Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.
Your trail
Files you open will collect here, so you can find them again.
Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.
Now do this for your own.
Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.

