Model Context Protocol

A hosted MCP server for statement parsing

MCP is the open standard that lets AI agents call external tools without custom glue code. Point any MCP-capable client at Ledgerary’s endpoint and it gets real statement extraction as a first-class tool — no wrapper to write, no guessed transactions to trust.

Setup

Add the server

Streamable HTTP transport, JSON-RPC 2.0, MCP protocol 2024-11-05 — one URL, no local process to run.

Endpoint:

https://ledgerary.com/api/mcp

Config snippet for Claude Code, Claude Desktop, Cursor or any client that reads a mcpServers map. The Authorization header is optional — omit it to call anonymously at the anonymous rate limit (a throttled trial; the Free plan itself has no API/MCP access — Pro or Scale unlocks it).

mcp config

{
  "mcpServers": {
    "ledgerary": {
      "url": "https://ledgerary.com/api/mcp",
      "headers": {
        "Authorization": "Bearer nmr_live_..."
      }
    }
  }
}

Tools

What the server exposes

Five tools — the same extraction engine and saved-extraction store the REST API and the website use.

extract_statement

Extract every transaction from a bank/card statement — pass file_url or file_base64 (+file_name), optional format.

{ "file_url": "https://example.com/statement.pdf" }

get_extraction

Fetch one previously extracted statement by id, with its transactions.

{ "id": "EXTRACTION_ID" }

list_extractions

List the caller's saved extractions, newest first.

{}

list_supported_banks

List the banks/card issuers Ledgerary recognizes (for display/normalisation — extraction works on any statement).

{}

list_export_formats

List the export formats available (excel, csv, json, quickbooks, xero, sage) and which require a paid plan.

{}

tools/call request

POST https://ledgerary.com/api/mcp
{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "extract_statement",
    "arguments": { "file_url": "https://example.com/statement.pdf" }
  }
}

response

{
  "jsonrpc": "2.0",
  "id": 1,
  "result": {
    "content": [{
      "type": "text",
      "text": "{ \"extraction_id\": \"ext_2b7f\", \"status\": \"completed\", \"balance_check\": \"passed\", \"confidence\": 0.97, \"transactions\": [ ... ], \"request_id\": \"req_2b7f\" }"
    }]
  }
}

Anonymous calls are rate-limited to 4/min and 20/day per IP — enough to try the server from an agent config, not enough to build on. Pass Authorization: Bearer <key> (create one in Settings → API keys) for production limits: 120/min on Pro, up to 600/min on Scale. See pricing for the full table.

Ledgerary is a document-conversion tool: it extracts the data already present in the files you upload. It is not accounting, tax, lending or financial advice. Automated extraction can misread low-quality scans — always review the results (Ledgerary flags a balance mismatch and a confidence score on every job) before you rely on them.