footnote — Claude Code MCP server: what it does, how to install
Prevents fabricated figures in finance and ERP queries by tying every output number to underlying database records.
claude mcp add --env DATABASE_URL=<DATABASE_URL> --env PROVENANCE_DB=<PROVENANCE_DB> --env PROVENANCE_ACTOR=<PROVENANCE_ACTOR> --transport stdio footnote -- npx -y @brick-byte/footnoteWhat footnote does
The server changes how the model interacts with enterprise records. Instead of letting the language model write raw SQL or aggregate totals, it forces the assistant to pick typed operations from a strict catalog. Parameter validation and query execution run deterministically in the database engine, and values are injected directly into structured slots.
Every result gets saved into an append-only log with hash chaining. This audit trail records the exact entity rows, timestamps, and parameters behind each statement, making the claims tamper-evident and inspectable by human reviewers.
Running the server requires Node.js 22.5+ to utilize built-in SQLite support. An external PostgreSQL connection is entirely optional, since test seeds can run directly on the local SQLite setup.
What it helps with
- Eliminate hallucinated figures during automated financial reviews
- Build tamper-evident audit trails for LLM responses over business data
- Prevent arbitrary SQL generation on production database tables
- Safely report empty query results without triggering model fabrication
Example prompts for the agent
- List all overdue balances for Bergmann with underlying invoice IDs
- Review open support tickets and fetch their severity records from ERP
- Calculate total outstanding balance across unpaid vendor accounts
How to install footnote
Platform CLI
claude mcp add --env DATABASE_URL=<DATABASE_URL> --env PROVENANCE_DB=<PROVENANCE_DB> --env PROVENANCE_ACTOR=<PROVENANCE_ACTOR> --transport stdio footnote -- npx -y @brick-byte/footnoteReplace <…> with your own values
Platform CLI
codex mcp add footnote --env DATABASE_URL=<DATABASE_URL> --env PROVENANCE_DB=<PROVENANCE_DB> --env PROVENANCE_ACTOR=<PROVENANCE_ACTOR> -- npx -y @brick-byte/footnoteReplace <…> with your own values
Config file
{
"mcpServers": {
"footnote": {
"command": "npx",
"args": [
"-y",
"@brick-byte/footnote"
],
"env": {
"DATABASE_URL": "<DATABASE_URL>",
"PROVENANCE_DB": "<PROVENANCE_DB>",
"PROVENANCE_ACTOR": "<PROVENANCE_ACTOR>"
}
}
}
}Replace <…> with your own values
Config file
{
"servers": {
"footnote": {
"type": "stdio",
"command": "npx",
"args": [
"-y",
"@brick-byte/footnote"
],
"env": {
"DATABASE_URL": "<DATABASE_URL>",
"PROVENANCE_DB": "<PROVENANCE_DB>",
"PROVENANCE_ACTOR": "<PROVENANCE_ACTOR>"
}
}
}
}Replace <…> with your own values
Platform CLI
gemini mcp add -e DATABASE_URL=<DATABASE_URL> -e PROVENANCE_DB=<PROVENANCE_DB> -e PROVENANCE_ACTOR=<PROVENANCE_ACTOR> footnote npx -y @brick-byte/footnoteReplace <…> with your own values
Step by step, with commands for each platform: How to add an MCP server to Claude Code, Codex, Cursor, VS Code, Gemini CLI and more
Questions about footnote
How to install footnote in Claude Code?
Run `claude mcp add --env DATABASE_URL=<DATABASE_URL> --env PROVENANCE_DB=<PROVENANCE_DB> --env PROVENANCE_ACTOR=<PROVENANCE_ACTOR> --transport stdio footnote -- npx -y @brick-byte/footnote` in your terminal.
What does footnote do?
It ensures that every numeric figure in an AI response originates from deterministic database queries rather than model generation, recording cryptographic proof for every claim.
What database setup is required to run the server?
Node 22.5 or newer is necessary for the built-in SQLite driver. Postgres is optional and only needed when pointing the server at an external database.