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/canforge/canforge-mcp/claude-mdgit clone --depth 1 https://github.com/canforge/canforge-mcpWrote 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/instructions/canforge/canforge-mcp/claude-md)<a href="https://agentmods.dev/instructions/canforge/canforge-mcp/claude-md"><img src="https://agentmods.dev/badge/instructions/canforge/canforge-mcp/claude-md.svg" alt="Measured on agentmods" 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 | $0.01830 | $0.01830 |
| Opus 5 | $0.00915 | $0.00915 |
| Sonnet 5 | $0.00366 | $0.00366 |
| Haiku 4.5 | $0.00183 | $0.00183 |
Grade A, and why
canforge-mcp CLAUDE.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 3d 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.
How it starts
The opening of the file, as written. The whole thing — 123 lines — stays where its author put it; the contents beside it link to each section on GitHub.
CLAUDE.md
This file provides guidance to Claude Code (claude.ai/code) when working with code in this repository.
What this is
canforge-mcp is a local, read-only MCP server that exposes
13 bounded tools over CAN DBC files and capture logs. It is the third package in the canforge
family and the only one that composes the other two: dbckit
parses and decodes DBC content, capkit reads capture
logs into frames, and canforge-mcp wires them into MCP tools. Published to PyPI as canforge-mcp
(github.com/canforge/canforge-mcp); runnable as uvx canforge-mcp.
Unlike capkit and dbckit — which never import each other — canforge-mcp depends on both at runtime. It is the integration layer, so the coupling lives here on purpose. It never reimplements what either library does: capkit owns log I/O and frame-side J1939 arithmetic, dbckit owns all DBC-aware matching and signal decoding.
ROADMAP.md is the authority on what lands next; it mirrors the Linear canforge-mcp (CFM) team.
Commands
python -m venv .venv && source .venv/bin/activate
pip install -e ".[dev]"
pytest # full suite (direct + MCP stdio round-trips)
pytest tests/test_log_tools.py # one file
pytest --cov=canforge_mcp --cov-fail-under=90 -q # the CI coverage gate
ruff check . # lint (CI-blocking)
mypy canforge_mcp # types (CI-blocking)
python -m build # sdist+wheel (CI-blocking)
CI's build check asserts the wheel ships canforge_mcp/py.typed and the
canforge-mcp = canforge_mcp.server:main console-script entry point. The matrix is Python
3.11–3.14. Large-log benchmarks are opt-in and out of the normal suite — see below.
Architecture
Three modules, one entry point:
canforge_mcp/tools.py — 13 plain tool functions + shared helpers (the whole surface)
canforge_mcp/server.py — FastMCP wiring, read-only annotations, error boundary, stdio main()
canforge_mcp/errors.py — UnparseableInputError, the one typed terminal-error contract
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.
- 3d ago First seen · 123 lines · 1,830 tokens per session scan A 91ce5da973a0
canforge-mcp CLAUDE.md is an instructions file published in the GitHub repository canforge/canforge-mcp (0 stars, last pushed 1mo ago), licensed MIT. It adds 1,830 tokens to every session, about $0.0092 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
firmware CLAUDE.md
Claude Code instructions for OpenIPC/firmware, covering claude.md, what this is, before you start: is this the right repository?, build and common tasks.
Tutorial_AwesomeModernCPP AGENTS.md
AGENTS.md instructions for Awesome-Embedded-Learning-Studio/Tutorial_AwesomeModernCPP, covering agents.md, 这是什么, 通用 essentials(所有 agent 必读) and 你来做什么?(按场景路由).
brilliant_sdk AGENTS.md
Instructions for brilliantlabsAR/brilliant_sdk, covering brilliant sdk — agent guide, how an app works (the pattern behind everything), minimal reading paths, verify without hardware and testing.
NeoMind CLAUDE.md
Claude Code instructions for camthink-ai/NeoMind, covering neomind — edge ai platform for iot, development commands, ecosystem repositories, extension package contract (.nep) and device type template contract (json).
zmk-config AGENTS.md
AGENTS.md instructions for urob/zmk-config, covering customization guide, ground rules, how the multi-board layout works, adding a new board and where to change what.
ext-apps CLAUDE.md
Claude Code instructions for modelcontextprotocol/ext-apps, a project described as: Official repo for spec & SDK of MCP Apps protocol - standard for UIs embedded AI chatbots, served by MCP servers.