Borrowing it
Nothing to install: this file belongs to briandconnelly/codex-in-claude. Take a copy, put it at the same path in your own repository, and replace the rules that are about this project with yours.
curl -O https://raw.githubusercontent.com/briandconnelly/codex-in-claude/main/.agents/skills/agent-friendly-mcp/SKILL.mdgit clone --depth 1 https://github.com/briandconnelly/codex-in-claudeWrote this? Show the measurements
A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.
[](https://agentmods.dev/skills/briandconnelly/codex-in-claude/agent-friendly-mcp)<a href="https://agentmods.dev/skills/briandconnelly/codex-in-claude/agent-friendly-mcp"><img src="https://agentmods.dev/badge/skills/briandconnelly/codex-in-claude/agent-friendly-mcp/github.svg" alt="Measured on agentmods" height="20"></a>Or the 80×15 button, for a site that already has a row of RSS and ATOM ones. Only the verdict fits; the numbers stay here.
<a href="https://agentmods.dev/skills/briandconnelly/codex-in-claude/agent-friendly-mcp"><img src="https://agentmods.dev/badge/skills/briandconnelly/codex-in-claude/agent-friendly-mcp.svg" alt="Reviewed on agentmods" width="80" height="20"></a>What 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.1 | $0.00130 | $0.03320 |
| Opus 5.5 | $0.00052 | $0.01328 |
| Sonnet 5.5 | $0.00026 | $0.00664 |
| Haiku 4.5 | $0.00013 | $0.00332 |
Grade A, and why
agent-friendly-mcp 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 2mo ago.
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.
Copies of this mod
1 near-identical copy found in the catalogue:
- agent-friendly-mcp — 91% identical, 29 lines differ
How it starts
The opening of the file, as written. The whole thing — 127 lines — stays where its author put it; the contents beside it link to each section on GitHub.
Agent-Friendly MCP
Use this skill to make MCP servers easy for agents to discover, invoke correctly, recover from, and use at low token cost without sacrificing correctness.
Spec Baseline
This skill is written against the MCP 2026-07-28 specification (final, released 2026-07-28); the field names, capability paths, method set, and task lifecycle it uses follow that revision, including the io.modelcontextprotocol/tasks extension (SEP-2663).
Status caveat: the 2026-07-28 changelog calls tasks an official extension while the ext-tasks specification repository still labels itself experimental — treat the task contract as extension-versioned and re-verify it against the extension spec when it cuts a release.
The protocol core is stateless: there is no initialize handshake or session id — every request carries io.modelcontextprotocol/protocolVersion and io.modelcontextprotocol/clientCapabilities in _meta (both required), and servers advertise their own capabilities via the mandatory server/discover method.
Server-initiated requests are gone: elicitation, sampling, and roots requests ride Multi Round-Trip Requests (resultType: "input_required" with inputRequests, answered by retrying with inputResponses), and subscription notifications — list-changed, resource-updated, and task notifications — ride an opt-in subscriptions/listen stream, while request-scoped notifications (notifications/progress, notifications/message) stay on the originating request's response stream.
Every result carries a required resultType, and server/discover, list, and read results carry the native cache hints ttlMs and cacheScope on their resultType: "complete" results — MRTR interim results are never cacheable.
Roots, sampling, logging, the HTTP+SSE transport, and Dynamic Client Registration are deprecated on a twelve-month minimum window; design new servers without them.
The extensions framework is formal but demanding: an extension needs a reverse-DNS identifier, its own maintained specification, and negotiation by both peers (declared in clientCapabilities.extensions and server/discover), so a namespaced _meta key remains a private convention until someone does that work.
This section is the single home for revision-level facts: which revision is baseline, its release status, the tasks-extension caveat, and what is deprecated or removed.
Checklist rules and native-wire-shapes.md necessarily restate the mechanics they govern, including a governed surface's deprecation status; for the revision-level frame they cite this section rather than restating it.
For clients that still speak 2025-11-25, the binding rules here still govern what you build; the old revision's wire differences and version-bound failure modes are cataloged in the informative mcp-2025-11-25-compat.md, and decisions/001-mcp-2026-07-28-rebase.md records the rebase decision, verified fact sheet, and impact matrix.
What ships with it
45 files beside SKILL.md in the same directory: the scripts, references and assets a skill reads on demand. Not counted in the per-session cost; read them before you install if any of them is executable.
- decisions/001-mcp-2026-07-28-rebase.md 13 KB
- decisions/002-machine-code-rename-rationale.md 3.1 KB
- decisions/003-offending-value-omission.md 3.9 KB
- decisions/004-ownership-boundaries.md 1.9 KB
- references/contract-checklist.md 89 KB
- references/design-workflow.md 17 KB
- references/examples.md 63 KB
- references/mcp-2025-11-25-compat.md 4.6 KB
- references/mcp-vs-cli.md 8.2 KB
- references/native-wire-shapes.md 15 KB
- references/review-workflow.md 14 KB
- references/vocabulary.md 2.5 KB
- tests/check_fact_sync.py 5.2 KB runs code
- tests/check_rule_ids.py 6.6 KB runs code
- tests/check_stale_terms.py 6.2 KB runs code
- tests/fixtures/github_issues.json 5.7 KB
- tests/fixtures/github_repo_resource.json 4.5 KB
- tests/rule-ids.txt 3.2 KB
- tests/runs/2026-07-11-scenario1-baseline.md 21 KB
- tests/runs/2026-07-11-scenario1-outputschema-error.md 50 KB
- tests/runs/2026-07-11-scenario1-with-skill.md 37 KB
- tests/runs/2026-07-11-scenario2-baseline.md 11 KB
- tests/runs/2026-07-11-scenario2-with-skill.md 18 KB
- tests/runs/2026-07-11-scenario3-baseline.md 19 KB
- tests/runs/2026-07-11-scenario3-with-skill.md 30 KB
- tests/runs/2026-07-11-scenario4-baseline.md 5.6 KB
- tests/runs/2026-07-11-scenario4-with-skill.md 5.3 KB
- tests/runs/2026-07-11-scenario5-baseline.md 19 KB
- tests/runs/2026-07-11-scenario5-with-skill.md 25 KB
- tests/runs/2026-07-11-scenario6-baseline.md 10 KB
- tests/runs/2026-07-11-scenario6-with-skill.md 12 KB
- tests/runs/2026-07-11-scenario7-trigger.md 2.8 KB
- tests/runs/2026-07-29-scenario1-baseline.md 16 KB
- tests/runs/2026-07-29-scenario1-with-skill.md 45 KB
- tests/runs/2026-07-29-scenario3-baseline.md 15 KB
- tests/runs/2026-07-29-scenario3-with-skill.md 32 KB
- tests/runs/2026-07-29-scenario5-baseline.md 9.5 KB
- tests/runs/2026-07-29-scenario5-with-skill.md 15 KB
- tests/runs/2026-07-30-scenario1-with-skill.md 44 KB
- tests/runs/2026-07-30-scenario8-severity-calibration.md 5.5 KB
- tests/scenarios.md 40 KB
- tests/test_check_fact_sync.py 3.2 KB runs code
- tests/test_check_rule_ids.py 4.7 KB runs code
- tests/test_validate_fixture.py 15 KB runs code
- tests/validate_fixture.py 22 KB runs code
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.
- 2mo ago First seen · 127 lines · 130 tokens per session scan A 865589ba8db8
agent-friendly-mcp is a skill published in the GitHub repository briandconnelly/codex-in-claude (3 stars, last pushed 1mo ago), licensed MIT. It adds 130 tokens to every session and 3,320 once invoked, about $0.0005 per session on Opus 5.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.
agent-friendly-mcp compared with skills from other repositories
| Mod | Type | Stars | Last push | Licence | Scan | Tokens | Works with |
|---|---|---|---|---|---|---|---|
| agent-friendly-mcpbriandconnelly/codex-in-claude | Skill | 3 | 1mo ago | MIT | A | 130 | Claude Code |
| pr-alignment-loopnikships/skills-registry | Skill | 25 | 15d ago | Apache-2.0 | A | 122 | Claude Code, Codex |
| skillssandraschi/inkscape-mcp | Skill | 99 | 20d ago | MIT | A | 0 | Claude Code |
| vault-workflowpvliesdonk/markdown-vault-mcp | Skill | 39 | today | MIT | A | 40 | Claude Code |
| conventional-commitsIkarusMK/AIcortex | Skill | 11 | today | Apache-2.0 | A | 0 | Claude Code, Codex |
| regressionChrisGVE/localdata-mcp | Skill | 15 | 4d ago | Apache-2.0 | A | 24 | Claude Code |
| graph-data-exploreChrisGVE/localdata-mcp | Skill | 15 | 4d ago | Apache-2.0 | A | 38 | Claude Code |