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/bloomidea/saft-mcp/claude-mdgit clone --depth 1 https://github.com/Bloomidea/saft-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/bloomidea/saft-mcp/claude-md)<a href="https://agentmods.dev/instructions/bloomidea/saft-mcp/claude-md"><img src="https://agentmods.dev/badge/instructions/bloomidea/saft-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.01325 | $0.01325 |
| Opus 5 | $0.00662 | $0.00662 |
| Sonnet 5 | $0.00265 | $0.00265 |
| Haiku 4.5 | $0.00133 | $0.00133 |
Grade A, and why
saft-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 — 105 lines — stays where its author put it; the contents beside it link to each section on GitHub.
SAF-T MCP Server
MCP server for parsing and analyzing Portuguese SAF-T (Standard Audit File for Tax Purposes) XML files. Fully implemented with 13 tools and 152 tests.
Documents
saft-mcp-prd-en.md-- Product requirements, tool specifications, business contextsaft-mcp-technical-spec.md(v1.2) -- Authoritative implementation reference. Data models, architecture decisions, all design questions resolved. Models validated against real PHC exports.
When in doubt, the tech spec wins. It was updated after analyzing real SAF-T files and supersedes the PRD on any structural detail.
Real SAF-T Files
Located in Saft Josefinas 2025/. These are real exports from PHC Corporate for Bloomers S.A. (NIF 510803601).
5108036012025_Completo.xml-- Full year, all sections (1.1 MB)5108036012025202502031408.xml-- Monthly export, January only (110 KB)- 11 other monthly files (Feb-Dec)
Encoding: Windows-1252 (declared in XML header). Not UTF-8. lxml handles this natively via the XML declaration.
Tech Stack
- Python 3.11+, FastMCP (MCP SDK), lxml, Pydantic v2, pydantic-settings, chardet
- Dev: pytest, pytest-asyncio, ruff, mypy
Project Structure
src/saft_mcp/
server.py # FastMCP entry point, registers all 13 tools
config.py # SaftMcpSettings (pydantic-settings)
state.py # SessionStore, SessionState
exceptions.py # SaftError hierarchy
parser/
detector.py # Namespace detection, file type
full_parser.py # DOM parse (< 50 MB)
encoding.py # BOM stripping, charset detection
models.py # All Pydantic models
tools/
load.py # saft_load
validate.py # saft_validate
summary.py # saft_summary
query_invoices.py # saft_query_invoices
query_customers.py # saft_query_customers
query_products.py # saft_query_products
get_invoice.py # saft_get_invoice
tax_summary.py # saft_tax_summary
anomaly_detect.py # saft_anomaly_detect
compare.py # saft_compare
aging.py # saft_aging
export.py # saft_export
stats.py # saft_stats
validators/ # xsd_validator.py, business_rules.py, hash_chain.py, nif.py
schemas/ # XSD files (saftpt1.04_01.xsd)
tests/ # Mirrors src/ structure (152 tests)
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 · 105 lines · 1,325 tokens per session scan A 22157dd24818
saft-mcp CLAUDE.md is an instructions file published in the GitHub repository Bloomidea/saft-mcp (1 stars, last pushed 6mo ago), licensed MIT. It adds 1,325 tokens to every session, about $0.0066 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
ClawRouter CLAUDE.md
Claude Code instructions for BlockRunAI/ClawRouter, covering clawrouter, commands, project structure, key dependencies and conventions.
InvestSkill GEMINI.md
Gemini CLI instructions for yennanliu/InvestSkill, covering investskill — gemini cli setup & usage guide, installation & setup, quick start, navigate to the investskill directory and start gemini cli (loads gemini.md automatically).
LLM-TradeBot copilot-instructions.md
Copilot instructions for EthanAlgoX/LLM-TradeBot, covering repository instructions, core rules, validation and ai asset governance.
Convertible-Bond-Pricing-Research CLAUDE.md
Instructions for ericxuzhesheng/Convertible-Bond-Pricing-Research, covering claude.md — convertible bond pricing research, current published state and routine commands.
bukio-cli AGENTS.md
AGENTS.md instructions for erikvankempen/bukio-cli, covering agents.md — bukio-cli agent manual, 1. house rules (non-negotiable), 2. environment, 3. command quick reference and 3.1 jurisdiction profiles (16 markets).
swiss-snb-mcp CLAUDE.md
Claude Code instructions for malkreide/swiss-snb-mcp, covering claude.md, teil 1 — konventionen (portfolio-weit), vor der arbeit, tests and wenn etwas rot ist.