Recite MCP

Official registry AI and agents

Local MCP server for Recite receipt processing with ledger and memory tools.

What can you do with Recite MCP?

  • Scans — scan_receipt (file, URL, base64, or raw text; ephemeral mode), get_scan
  • Transactions — create, list (with filters), get, update, delete, import_transactions (JSON list, CSV text, or CSV file)
  • Batch scans — submit_batch_scans (1–20 items, async, webhook notification), get_batch_scan_status, get_batch_scan_results
  • Projects — list, create, update, delete
  • Summaries — get_summary (period, date range, group-by)
  • Webhooks — create, list, delete (transaction.created/updated/deleted, batch.completed)
  • Reconciliation — create_reconciliation_link, list_reconciliation_links, update_reconciliation_link, delete_reconciliation_link, run_auto_match, get_reconciliation_summary, get_reconciliation_recommendations, export_reconciliation
  • Rules — create, list, update, delete (vendor_category, default_project, processing_preference)

Install

Add this to your client's MCP configuration (Claude Desktop: claude_desktop_config.json; Cursor: .cursor/mcp.json; VS Code and others use the same "mcpServers" shape).

PYPI package recite-mcp
Claude Code
claude mcp add recite-mcp -e 'RECITE_API_KEY=<your recite_api_key>' -e 'RECITE_HOME=<RECITE_HOME>' -- uvx recite-mcp==0.1.4
JSON configuration (Claude Desktop, Cursor, VS Code)
{
    "mcpServers": {
        "recite-mcp": {
            "command": "uvx",
            "args": [
                "recite-mcp==0.1.4"
            ],
            "env": {
                "RECITE_API_KEY": "<your recite_api_key>",
                "RECITE_HOME": "<RECITE_HOME>"
            }
        }
    }
}

Environment variables

  • RECITE_API_KEY required secret Recite API key used for receipt processing requests.
  • RECITE_HOME Optional local data directory for config, ledger, and memory files.

Documentation

From the project's README on GitHub, refreshed weekly. Links open on GitHub.

Contents
  1. recite-mcp
  2. Install
  3. Required Environment
  4. MCP Client Config
  5. Troubleshooting
  6. Main Features
  7. Documentation

recite-mcp

mcp-name: io.github.rivradev/recite-mcp

recite-mcp is an MCP server for the Recite API. It provides the full documented Recite MCP surface for scans, transactions, imports, batch jobs, projects, summaries, webhooks, rules, usage, and exports, while preserving the local ledger/memory workflow for agents that want local-first bookkeeping.

Install

End users

Recommended:

uvx recite-mcp

Alternative (pipx):

pipx install recite-mcp

Alternative (pip):

python -m pip install recite-mcp
Contributors
python -m pip install -e .[dev]
pytest -q
python -m recite_mcp.server

Required Environment

Get an API key at https://recite.rivra.dev/settings/api (includes 30 free scans per month), then set RECITE_API_KEY (required to process receipts; server can still start without it so validate_setup() can report what's missing):

# Windows PowerShell
$env:RECITE_API_KEY="re_live_xxx"
# macOS/Linux
export RECITE_API_KEY="re_live_xxx"

Optional home override:

# Windows PowerShell
$env:RECITE_HOME="C:\path\to\recite-home"
# macOS/Linux
export RECITE_HOME="$HOME/.config/recite"

MCP Client Config

Copy-paste this config:

{
  "mcpServers": {
    "recite": {
      "command": "uvx",
      "args": ["recite-mcp"],
      "env": {
        "RECITE_API_KEY": "re_live_xxx"
      }
    }
  }
}

If installed via pipx or pip, use:

{
  "mcpServers": {
    "recite": {
      "command": "recite-mcp",
      "args": [],
      "env": {
        "RECITE_API_KEY": "re_live_xxx"
      }
    }
  }
}

Troubleshooting

MCP Registry ownership validation failed
  • Symptom: Registry publish returns a PyPI ownership/README validation error.
  • Fix: keep this exact line in packaged README: mcp-name: io.github.rivradev/recite-mcp, then bump version and upload new PyPI release before publishing to Registry.
RECITE_API_KEY missing or invalid
  • Symptom: validate_setup() reports missing_api_key or API requests are rejected.
  • Fix: set RECITE_API_KEY in MCP client env config (preferred) or shell environment.
uvx command not found
  • Symptom: terminal says uvx is not recognized.
  • Fix: install uv first, or use one of the alternatives:
    • pipx install recite-mcp
    • python -m pip install recite-mcp
recite-mcp command not found after install
  • Symptom: command not recognized after pipx/pip install.
  • Fix:
    • For pipx: run pipx ensurepath, then reopen terminal.
    • For pip: run with module entrypoint: python -m recite_mcp.server
MCP client starts but tools are unavailable
  • Symptom: server appears configured but no tools/resources are listed.
  • Fix:
    • Confirm MCP config JSON is valid.
    • Confirm command and args match your install method (uvx vs recite-mcp).
    • Restart MCP client after config changes.
Can't download from PyPI (uvx/pip)
  • Symptom: install/run fails with network/proxy errors.
  • Fix: ensure your environment can reach PyPI (or configure your proxy / custom index). If you're on a locked-down network, you may need to allowlist PyPI or use an internal mirror.
Quick local validation (no MCP client)
  • Run recite-mcp --validate (or uvx recite-mcp --validate) to print local config/health JSON. Exit code is 0 if an API key is present, otherwise 1.

Main Features

API tools (41 total):

  • Scans — scan_receipt (file, URL, base64, or raw text; ephemeral mode), get_scan
  • Transactions — create, list (with filters), get, update, delete, import_transactions (JSON list, CSV text, or CSV file)
  • Batch scans — submit_batch_scans (1–20 items, async, webhook notification), get_batch_scan_status, get_batch_scan_results
  • Projects — list, create, update, delete
  • Summaries — get_summary (period, date range, group-by)
  • Webhooks — create, list, delete (transaction.created/updated/deleted, batch.completed)
  • Reconciliation — create_reconciliation_link, list_reconciliation_links, update_reconciliation_link, delete_reconciliation_link, run_auto_match, get_reconciliation_summary, get_reconciliation_recommendations, export_reconciliation
  • Rules — create, list, update, delete (vendor_category, default_project, processing_preference)
  • Categories — get_categories (17 built-in + custom), create_category, delete_category
  • Vendors — get_vendors, create_vendor, delete_vendor
  • Usage — get_usage (period, breakdown)
  • Exports — export_transactions (CSV/JSON, optional file save)

Local tools:

  • process_receipt — scan + ledger append in one step (optional rename, dry-run, category hint)
  • process_receipts_batch — scan a directory of images/PDFs (recursive, dry-run preview)
  • summarize_ledger, export_ledger, add_ledger_correction — local CSV ledger management
  • update_memory, list_memory — persistent agent instruction storage
  • get_config, validate_setup — configuration inspection and health check

Resources: recite://ledger, recite://memory, recite://health

Documentation

  • User guide: docs/user_guide.md

Frequently asked questions

What is Recite MCP?

Local MCP server for Recite receipt processing with ledger and memory tools.

How do I install Recite MCP?

It runs on your machine. In Claude Code: claude mcp add recite-mcp -e 'RECITE_API_KEY=<your recite_api_key>' -e 'RECITE_HOME=<RECITE_HOME>' -- uvx recite-mcp==0.1.4. For other clients, paste the JSON configuration from this page into their MCP settings.

Does Recite MCP need an API key?

Yes. It expects RECITE_API_KEY, which you set in its configuration.

Is Recite MCP open source?

Its code is public on GitHub, but the repository does not declare a standard license.

Who maintains Recite MCP?

It is published by rivradev. AI.tn lists it but does not maintain or endorse it.

From the official MCP Registry. Listing is not an endorsement: review a server's code and permissions before giving it access to your data.