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/abl030/pfsense-mcp/claude-mdgit clone --depth 1 https://github.com/abl030/pfsense-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/abl030/pfsense-mcp/claude-md)<a href="https://agentmods.dev/instructions/abl030/pfsense-mcp/claude-md"><img src="https://agentmods.dev/badge/instructions/abl030/pfsense-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.02905 | $0.02905 |
| Opus 5 | $0.01452 | $0.01452 |
| Sonnet 5 | $0.00581 | $0.00581 |
| Haiku 4.5 | $0.00291 | $0.00291 |
Grade A, and why
pfsense-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 4d 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 — 210 lines — stays where its author put it; the contents beside it link to each section on GitHub.
pfSense MCP Server
Auto-generated MCP server for the pfSense REST API v2. 677 tools generated from openapi-spec.json (OpenAPI 3.0.0, 258 paths, 178 schemas). When pfSense updates their API, pull a new spec and re-run the generator.
Rules
- Never manually edit
generated/server.py. Fix the generator or templates instead. openapi-spec.jsonis the single source of truth. All type information, parameter names, and endpoint structure come from the spec.- Test against the VM, not production. The golden image exists for this purpose.
- Expect scripts are fragile but working. Do not change timing, patterns, or shortcuts unless something breaks.
- Always use
nix develop -cas the default wrapper for repo commands (includingpython -m generator,pytest, qemu/expect scripts, and any tooling that touches this project). - Testing must be automated. Every feature/fix needs a pytest suite or equivalent that runs without human intervention. No manual-only verification — if it can't be
pytest'd, write a script. - Add tests with features. When adding new functionality, always write automated tests in the same change. Tests verify the feature works and prevent regressions.
- Sprint progress lives in CLAUDE.md. When work spans multiple sessions, document sprint plans, progress, and outcomes here so future sessions have full context.
Repository Structure
openapi-spec.json # OpenAPI 3.0.0 spec (input)
generator/ # Python generator
__main__.py # Entry point: python -m generator
loader.py # Load and parse the OpenAPI spec
naming.py # Convert operationIds to tool names
schema_parser.py # Extract parameter types from schemas
context_builder.py # Build template context for each tool
codegen.py # Render templates and write output
templates/
server.py.j2 # FastMCP server template
generated/
server.py # The MCP server (677 tools — never hand-edit)
test_modules.py # Spec-derived pytest suite for module/read-only gating (85 tests)
test_list_tools.py # Tests for list tool field selection, row filtering, known-fields (19 tests)
bank-tester/ # AI-driven integration test suite
run-bank-test.sh # Orchestrator: boot VM → run tasks → collect results
generate-tasks.py # Auto-generate task files from spec + task-config.yaml
task-config.yaml # Per-subsystem test values, deps, endpoint types
analyze-results.py # Parse results, compute tool coverage
TESTER-CLAUDE.md # System prompt for the tester Claude
tasks/ # 53 task files
results/run-*/ # Per-run results
vm/ # Test infrastructure
setup.sh # Golden image builder (install + firstboot + upgrade)
install.exp # Automated pfSense installer
firstboot.exp # First-boot configuration
upgrade-2.8.exp # pfSense 2.7.2 → 2.8.1 upgrade
research/ # Analysis documents and MCP best practices
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.
- 4d ago First seen · 210 lines · 2,905 tokens per session scan A 8596f469d964
pfsense-mcp CLAUDE.md is an instructions file published in the GitHub repository abl030/pfsense-mcp (1 stars, last pushed 2mo ago), licensed MIT. It adds 2,905 tokens to every session, about $0.0145 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
scalar AGENTS.md
AGENTS.md instructions for scalar/scalar, covering agents.md - ai agent guide for scalar, project overview, prerequisites, first-time setup and commands.
ihp CLAUDE.md
Claude Code instructions for digitallyinduced/ihp, covering claude.md, development environment setup, running tests, interactive (allows :r to reload after changes) and one-liner.
flox AGENTS.md
AGENTS.md instructions for flox/flox, covering claude.md, project overview, development setup, already in dev shell (innixshell is set) — run directly and not in dev shell — wrap with nix develop -c.
real-estate-mcp CLAUDE.md
Instructions for tae0y/real-estate-mcp, covering claude.md, project overview, commands, run a single test file and run a single test by name.
aigis CLAUDE.md
Claude Code instructions for killertcell428/aigis, covering aigis — project guidelines, zenn記事管理(zenn cli + github連携), ディレクトリ構成, 記事の作成 and プレビュー.
flox CLAUDE.md
Claude Code instructions for flox/flox, a project described as: The Deterministic Foundation for your SDLC.