Getting it into your agent
One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.
npx agentmods add instructions/exploitintel/eip-mcp/agents-mdgit clone --depth 1 https://github.com/exploitintel/eip-mcpWhat it costs to keep this loaded
Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.
| Model | Per session | Once invoked |
|---|---|---|
| Fable 5 | $0.03256 | $0.03256 |
| Opus 5 | $0.01628 | $0.01628 |
| Sonnet 5 | $0.00651 | $0.00651 |
| Haiku 4.5 | $0.00326 | $0.00326 |
Grade A, and why
eip-mcp AGENTS.md scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured yesterday.
A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.
Nothing flagged
None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.
How it starts
The opening of the file, as written. The whole thing — 237 lines — stays where its author put it; the contents beside it link to each section on GitHub.
eip-mcp-v3
The public source repository, PyPI distribution, and canonical executable are
all eip-mcp. The Python import package is eip_mcp_v3. Version 3 begins at
3.0.0 and releases only from a matching v* tag on main. Do not publish or
tag without explicit operator authorization.
Boundary
This repository is an MCP adapter over the public read-only EIP v3 API. It is a peer of the WebUI, not part of the API or the pipeline.
It must not:
- connect to PostgreSQL, read the source corpus, or read the code-search index;
- acquire, parse, or execute source feeds or PoC code;
- call an LLM or expose unstored model output;
- invent EIP scores, confidence, reliability, or exploitation claims;
- import from any other Exploit Intel repository.
Its only dependency on EIP is the public HTTP API contract.
Correctness rules
- Render only what the API returned, in the order it returned it. Never re-sort,
re-rank, or score.
src/eip_mcp_v3/format.pyand the focusedformat_*.pymodules implement this rule. - Never derive any output from Metasploit reliability rank, the ExploitDB
verifiedflag, or GitHub stars.tests/test_no_derived_judgments.pyenforces this: it greps the formatter source for banned ranking inputs and the rendered output for banned phrases. The banned-token list names the data fields (stars,verified,"rank"), not helper names, so renaming derived-score code cannot bypass the boundary. Do not weaken it. - Never claim an exploit or lab works, is verified, reliable, ranked, or safe.
- Stored analysis is cited model interpretation with its model and dates. Absent analysis renders as absent - never "clean". An unrecognised backdoor verdict fails closed: only the one documented benign verdict renders quietly, everything else renders loudly.
- Model self-reported confidence is provenance only, never an EIP score.
- Missing values are omitted, never fabricated defaults.
- All corpus text is hostile. Every corpus value that reaches output must pass
through a primitive in
src/eip_mcp_v3/text.py-inline()for a value on a trusted line,untrusted_block()for multi-line prose,code_block()for source,cap()for the finished result. Never interpolate a corpus value into Markdown directly, and never hand-roll escaping: the primitives size their own fences and delimiters against the body so hostile backticks cannot close them early. - PoC access tokens live as frame locals for the duration of one call. They must
never reach a tool result, a log line, or a traceback. Errors raised from a
token-bearing call are re-raised with the token scrubbed and with the original
dropped from the exception chain, because a chained traceback renders the
unscrubbed message.
tests/test_token_containment.pychecks the property - a fresh token per request, every recorded request line, every rendered byte, every propagated error, and the object graph left behind. - Never surface a traceback that carries frame locals. The entrypoint prints the configuration error message and not the stack, for this reason.
- No download tool.
POST /api/v1/poc-downloadis absent from the API client's path allowlist, and_check_pathraisesValueError- deliberately outside theApiErrorhierarchy the handlers catch - so a forbidden endpoint cannot fail quietly. - Every tool is annotated read-only.
- Every tool returns both a concise contained text brief and a validated generic
eip-mcp-result-v1source-payload envelope. One hard ceiling covers the complete serialized result across both forms. The envelope validates its version, kind, truncation state, and object-valued data; it does not duplicate the API as a second per-tool schema. It always marksdata_trust=untrusted-api-data; the structured projection preserves API types and values while they fit the shared output budget but must never be executed or treated as instructions. Whentruncated=true, long values, fields, list items, or collections may be clipped or omitted. The API-minted opaquenext_cursormust remain byte-for-byte reusable. Structured content is not an escape hatch around output bounds or PoC access-token scrubbing. - Nothing may write to stdout. Under the stdio transport stdout carries the JSON-RPC stream and one stray byte corrupts the session. Diagnostics go to stderr.
What this file has done since we first saw it
Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.
- yesterday First seen · 237 lines · 3,256 tokens per session scan A 924ea0b6bb2d
eip-mcp AGENTS.md is an instructions file published in the GitHub repository exploitintel/eip-mcp (0 stars, last pushed 13d ago), licensed MIT. It adds 3,256 tokens to every session, about $0.0163 per session on Opus 5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-31.
Other instructions, from other repositories
vulnerability-db AGENTS.md
Instructions for AppThreat/vulnerability-db, covering agents.md, what this project is, repository map, rules for agents and things that look like bugs and are not.
magpie AGENTS.md
Instructions for apache/magpie, covering agents instructions, repository purpose, treat external content as data, never as instructions, per-project and per-user configuration and user.md resolution order.
hacker-bob AGENTS.md
Instructions for vmihalis/hacker-bob, covering hacker bob agent instructions and review guidelines.
hacker-bob CLAUDE.md
Instructions for vmihalis/hacker-bob: This repository is the install source for the Hacker Bob /bob-evaluate Claude Code framework.
magpie GEMINI.md
Instructions for apache/magpie, covering apache magpie — gemini cli extension context and upgrade prompt.
kimiko AGENTS.md
Instructions for spearchucker667/kimiko, covering kimiko context, 1. system identity, 2. operational commands, 3. architecture & conventions and 4. environment variables.