Skip to main content
Glama
abco20

ezbookkeeping-mcp-server

by abco20

ezBookkeeping MCP Server

An independent Model Context Protocol (MCP) server for the ezBookkeeping HTTP API. It supports stdio and Streamable HTTP transports.

MCP tools

Domain

Tools

Minimum profile

System

get_server_info

read

Transactions

search_transactions, get_transaction

read

Transactions

create_transaction, patch_transaction

standard

Batch

preview_transaction_batch, apply_transaction_batch

standard

Delete

delete_transaction

standard

Accounts

list_accounts

read

Accounts

manage_account

extended (admin for deletion)

Categories

list_categories

read

Categories

manage_category

extended

Tags

list_tag_groups, list_tags

read

Tags

manage_tag_group, manage_tag

extended

Templates

list_templates

read

Templates

manage_template

extended

Analytics

get_financial_summary, get_financial_trends, get_reconciliation_statement

read

Exchange rates

get_exchange_rates

read

Exchange rates

manage_custom_exchange_rate

extended

File import/export, picture upload, user authentication management, and clear-all operations are intentionally excluded.

Related MCP server: banktivity-mcp

Requirements

  • Node.js 20 or later

  • An ezBookkeeping instance with API tokens enabled

  • An ezBookkeeping API token

Read, write, batch, and delete flows have been verified against the official ezBookkeeping v1.6.1 Docker image.

Setup

cp .env.example .env
npm ci
npm run build
EZBK_BASE_URL=http://127.0.0.1:8080
EZBK_API_TOKEN=replace-with-api-token
EZBK_TIMEZONE=Asia/Tokyo

MCP_TRANSPORT=stdio
MCP_WRITE_PROFILE=read
MCP_CONFIRMATION_SECRET=

Profiles above read require an MCP_CONFIRMATION_SECRET of at least 32 characters.

Write profiles

Profile

Permissions

read

Read and analytics only

standard

Create, update, delete, and batch-update transactions

extended

standard plus master data, templates, and custom exchange rates

admin

extended plus account deletion

Start with read and enable only the permissions you need.

Running

stdio

set -a
. ./.env
set +a
npm start

Example MCP client configuration:

{
  "mcpServers": {
    "ezbookkeeping": {
      "command": "node",
      "args": ["/absolute/path/to/ezbookkeeping-mcp/dist/index.js"],
      "env": {
        "EZBK_BASE_URL": "http://127.0.0.1:8080",
        "EZBK_API_TOKEN": "...",
        "EZBK_TIMEZONE": "Asia/Tokyo",
        "MCP_WRITE_PROFILE": "read"
      }
    }
  }
}

Streamable HTTP

MCP_TRANSPORT=http \
MCP_HTTP_HOST=0.0.0.0 \
MCP_HTTP_ALLOWED_HOSTS=finance.example.com \
MCP_HTTP_BEARER_TOKEN="$(openssl rand -hex 32)" \
MCP_HTTP_PORT=3000 npm start
  • MCP endpoint: http://HOST:3000/mcp

  • Health check: http://HOST:3000/healthz

Non-loopback bindings require a bearer token, or an authenticated reverse proxy with MCP_HTTP_ALLOW_UNAUTHENTICATED=true. Do not expose the endpoint directly to the internet.

Docker Compose

cp .env.example .env
docker compose up --build -d
curl http://127.0.0.1:3000/healthz

Verification

npm run ci

Read-only smoke test against a real ezBookkeeping instance:

EZBK_BASE_URL=https://example.invalid \
EZBK_API_TOKEN=... \
npm run test:real

Safety

patch_transaction requires an expected_revision from a recent read. Batch updates and deletions revalidate the confirmation_token issued during Preview before Apply.

The ezBookkeeping API does not provide conditional writes, so revision validation and the upstream write are not fully atomic. Avoid updating the same transaction concurrently from the Web UI or another client. See SECURITY.md for HTTP exposure, secrets, and audit-log guidance.

License

MIT

Install Server
A
license - permissive license
B
quality
B
maintenance

Maintenance

Maintainers
Response time
Release cycle
1Releases (12mo)
Commit activity

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Servers

  • A
    license
    B
    quality
    C
    maintenance
    MCP server to interact with the Cuéntica accounting API, allowing users to manage invoices, expenses, income, clients, providers, and bank accounts via natural language.
    59
    2
    MIT
  • A
    license
    -
    quality
    F
    maintenance
    MCP server for accessing and managing Banktivity personal finance data, enabling account, transaction, and budget operations through natural language.
    3
    MIT
  • A
    license
    A
    quality
    D
    maintenance
    MCP server for interacting with Money Manager EX databases. Enables querying and managing financial data like accounts, transactions, payees, categories, currencies, and more through natural language.
    68
    MIT
  • F
    license
    -
    quality
    B
    maintenance
    MCP server for personal finance management. Enables natural language expense logging, budgeting, recurring charge detection, and statement import with deterministic local calculations.

View all related MCP servers

Related MCP Connectors

  • Hosted MCP server for Mini Accountant: invoices, expenses, customers, analytics, tax estimates.

  • MCP server for generating rough-draft project plans from natural-language prompts.

  • Read-only MCP server for ClassQuill, a tutoring-business-management platform.

View all MCP Connectors

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/abco20/ezbookkeeping-mcp-server'

If you have feedback or need assistance with the MCP directory API, please join our Discord server