Model Context Protocol

The accounting MCP server

LedgerMCP exposes a complete double-entry accounting system as 63 MCP tools. Any AI assistant that speaks MCP can create books, import transactions, post balanced entries, reconcile, and report, all on a ledger that enforces its own correctness.

https://ledgermcp.com/mcp · streamable HTTP · OAuth or bearer key

Connect your agent
{
  "mcpServers": {
    "ledgermcp": {
      "type": "http",
      "url": "https://ledgermcp.com/mcp",
      "headers": { "Authorization": "Bearer lmcp_YOUR_KEY" }
    }
  }
}

63

MCP tools: 26 read, 37 write

1

URL to connect any client

4

ledger invariants enforced in Postgres

100%

of agent writes audit-logged and reversible

The tool surface, grouped

Real names from the live contract. The same registry generates /docs and /llms.txt, so nothing here can drift from what the server does.

Books & accounts

An agent can open fresh books (default chart seeded), add categories, and manage offline bank accounts, no human signup required.

list_businessescreate_businessarchive_businesslist_accountscreate_accountupdate_accountlist_bank_accountscreate_bank_account

Ingestion

Bulk import with batch dedupe, retractable batches, Plaid sync, and duplicate/transfer candidate detection.

import_transactionsundo_importadd_transactionsync_connectionsfind_matchesresolve_duplicate

The write path

Every write flows through the same balanced-entry machinery. reverse_entry is the only undo, because postings are immutable.

categorize_transactionbulk_categorizesplit_transactionrecord_transferconfirm_transferpost_entryreverse_entryset_lock_date

Reports & verification

Everything derives live from postings, including verify_books, an integrity audit the agent can run on itself.

run_pnlrun_balance_sheetrun_trial_balanceget_balanceget_account_transactionsrun_1099_reportrun_tag_reportverify_booksreconcile_account

Working metadata

Display fields, review state, vendor/project/client tags, receipts, and the append-only audit log.

update_transactionmark_reviewedtag_transactionupdate_tagattach_receiptlist_tagslist_audit_log

Personal finance & assets

Budgets, recurring-charge detection with price-change alerts, a cash calendar, and straight-line depreciation.

set_budgetbudget_reportlist_recurringresolve_recurringmark_recurringcash_calendarset_balanceregister_assetbook_depreciationlist_assets

Full parameters for all 60 live at /docs; the agent-readable version is /llms.txt.

Invariants, not prompts

Agent safety here does not depend on the agent being careful. Four rules are enforced in Postgres: entries must balance at commit; postings are immutable, with corrections as linked reversals; idempotency keys make every retry safe; balances are computed from postings, never stored. An agent physically cannot leave the books in a broken state.

The idempotency contract is worth spelling out for anyone building agents: every posting write requires a key, replaying a key returns the original entry without posting, and a fresh action needs a fresh key. Network timeouts stop being scary: retry with the same key and the ledger sorts it out.

Tool callpost_entry
{
  "business_id": "b_9f2…",
  "date": "2026-06-30",
  "memo": "Owner draw",
  "lines": [
    { "account_id": "acct_draw", "debit": true,  "amount_cents": 250000 },
    { "account_id": "acct_check", "debit": false, "amount_cents": 250000 }
  ],
  "idempotency_key": "draw-jun-2026"
}
Balanced at commit. Replaying this exact key returns this entry, never a duplicate.

Connect a client

1

Claude

Settings → Connectors → add custom connector with the URL above. Email-code sign-in; works on claude.ai, Desktop, and mobile.
Step-by-step guide →
2

ChatGPT

Developer mode → Apps → Create → enter the URL. OAuth sign-in; available on Plus, Pro, Business, Enterprise, and Edu plans.
Step-by-step guide →
3

Your own agent

Any MCP client over streamable HTTP: create an API key in Settings and send it as a bearer token. Read-only keys can report but never write.
Tool reference →

Guides: using an accounting MCP server

The full cluster, from first principles to connecting a specific client. Each guide answers one question directly.

What is an MCP server?

The non-developer explanation of the Model Context Protocol and why it lets an AI use real tools.
Read the explainer →

The best accounting MCP server

What to look for in an accounting MCP server, and how the current options compare.
See the criteria →

MCP vs the QuickBooks connector

A hosted server your agent drives versus a US-only connector on a paid QuickBooks plan.
Compare the two →

An MCP server for double-entry

Why a real ledger beats a spreadsheet an agent could silently corrupt.
How it stays balanced →

Connect Claude with MCP

The four-step connection, plus the API-key path for Claude Desktop and Claude Code.
Step by step →

Can ChatGPT use an MCP server?

Connecting LedgerMCP to ChatGPT through developer-mode connectors.
ChatGPT setup →

How agents find MCP servers

Runtime configuration and the MCP registries where servers are published.
Discovery + registries →

Safe agent write access

Audit log, reversibility, read-only keys, and period locks that make write access safe.
The safeguards →

AI agent vs MCP server

The agent is the brain; the MCP server is the hands and the memory. Neither keeps books alone.
The difference →

Common questions

What is an accounting MCP server?

An MCP server exposes tools that AI assistants can call through the Model Context Protocol. An accounting MCP server exposes bookkeeping: posting entries, importing transactions, reconciling, and reporting. LedgerMCP ships one built into real double-entry accounting software: hosted, one URL, no local setup.

How is this different from the QuickBooks MCP server?

Intuit’s official MCP server is, as of mid-2026, a local developer preview: it runs as a stdio subprocess on a developer’s machine, requires registering your own app on the Intuit Developer Portal, and connects one company at a time, all on top of a paid QuickBooks subscription. LedgerMCP is the opposite shape: a hosted server any MCP client reaches by URL, the full write surface exposed as tools, unlimited books, free software.

Which clients can connect?

Claude (connectors, Desktop, Claude Code), ChatGPT (developer-mode connectors), and any MCP-compatible client over streamable HTTP. OAuth sign-in or bearer API keys, including read-only keys.

Can an agent create its own books, with no human signup?

Yes, and this is the part incumbents structurally cannot offer. An agent holding an API key can call create_business and have fresh books with a seeded chart of accounts in one call, then run them end to end: import, categorize, reconcile, report. Agent-first workflows need no human in the loop until review time.

What stops an agent from corrupting the ledger?

The database. Entries must balance or the write is rejected; postings are immutable with corrections as linked reversals; every write carries an idempotency key so retries never double-post; and every write lands in an append-only audit log the owner can reverse with one click.

How does authentication work?

Two paths. Interactive clients (Claude, ChatGPT) use OAuth: the user signs in with an email code and the client is scoped to their account. Headless clients use account-level API keys (lmcp_ prefix), created and revoked in Settings, stored SHA-256 hashed, sent as a bearer token. Read-only keys give reporting access with no write surface at all.

Is there documentation an agent can read?

Yes. Human docs live at ledgermcp.com/docs; machine-readable instructions live at ledgermcp.com/llms.txt. Both are generated from the same tool registry the server runs, so they never drift from actual behavior.

Is there a REST API too?

MCP is the primary interface today; a public REST API, OAuth for third-party apps, and webhooks are on the roadmap. If you are building on LedgerMCP and need them sooner, email support@ledgermcp.com. Early integrators shape the order.

Point your agent at a real ledger

Free to start. The whole accounting surface, one MCP URL.