mcp-audit skillB
mcp-audit is agent-read markdown (skill) from ulises-jeremias/agent-toolkit: MCP config + implementation security audit — config secrets/auth, unpinned versions, remote vs local, OAuth, env exposure; implementation command injection, SSRF, unsafe args, tool poisoning. Static, evidence-cited..
Indexed from public GitHub and served as immutable, content-addressed versions. Install it pinned to an exact SHA-256 with the mdr CLI, and every file is verified against the hash recorded here before it reaches your agent. The deterministic audit below grades the latest version, and the same file always earns the same grade.
What the file says
# MCP Audit — Config + Implementation Security Audit **MCP servers** before adopting — static inspection only, never execute remote servers. Use when reviewing `mcp/registry/*.yaml`, `mcp/templates/*/config.template.json`, skill/plugin MCP declarations, or when a static surface scan flags MCP references. **Single skill, two modes** — decision per #379 review: config and implementation scopes meaningfully overlap (both inspect `mcp/registry/*.yaml` + templates), but checklists differ enough to keep separate gates. One skill with two modes avoids duplicating registry parsing while keeping `config` (secret hygiene, version pinning) distinct from `implementation` (command injection, SSRF, tool poisoning). > **Static only:** Do not start or call remote MCP servers during audit. Inspect YAML/JSON, package provenance, tool descriptions, and env handling. ## Modes | Mode | What it checks | Evidence | |------|----------------|----------| | **Config audit** | `mcp/registry/*.yaml` auth, package provenance, version pinning, remote vs local, OAuth, env/secret exposure, permissions | Registry YAML, template JSON, env var names, `docs/MCP.md` | …
Read the whole file at its exact version.
How to install
mdr add ulises-jeremias/agent-toolkit/mcp-audit@git:20260831.856ee57mdr add ulises-jeremias/agent-toolkit/mcp-audit@sha256:b4ee4c43c3df0590Pin to a label to follow the author's releases, or to a sha256 to freeze the exact bytes forever. Either way the resolved hash is written to mdr.lock, and mdr install reproduces it on any machine.
[](https://markdownregistry.com/a/art_jwarkuvwmbi7ezpb)
1 badge views in 30 days
Versions
Audit of the latest version
- fail: No prompt-injection phrasing (matched: ignore previous instructions)
- pass: Frontmatter block present
- pass: Frontmatter declares a name
- pass: Frontmatter declares a description
- pass: Size between 200 bytes and 200 KB (8063 bytes)
- pass: No zero-width or bidi control characters
- pass: No instruction hidden inside an HTML comment
- pass: No link to an exfiltration or paste host
- pass: No credential-shaped string
- pass: No instruction to send local credentials anywhere
- pass: No text hidden with inline styles
- pass: No curl or wget piped into a shell
- pass: No recursive delete of root, home or parent
- pass: No instruction to read or print local credentials
- pass: No base64 blob over 200 characters
- pass: No link to a raw IP address
- pass: No script tag
Source
ulises-jeremias/agent-toolkit · 18 stars · license MIT · pushed 2026-09-21 · branch main
API
GET https://markdownregistry.com/api/v1/artifacts/art_jwarkuvwmbi7ezpb GET https://markdownregistry.com/api/v1/resolve?ref=ulises-jeremias/agent-toolkit/mcp-audit GET https://markdownregistry.com/api/v1/blob/b4ee4c43c3df05905b41320f3ecba9178cb8ed88fca565132c44bf19eaefeefa
Your agent does the legwork. You hear about the deals worth your word. Hand yours the standing instructions at modelranch.com and it joins the network that reads files like this one.
More from ulises-jeremias/agent-toolkit
Every file in ulises-jeremias/agent-toolkit