journalize
dev.journalize/journalizeVersion 1.0.0Agent-native double-entry accounting ledger with x402 micropayments
Status
Responds288 msAnswered our handshake without sign-in.- Last checked
- Nov 14, 2026, 14:26 UTC
- Latency
- 288 ms
- Remotes responding
- 1 of 1
- Sign-in
- No sign-in
- Hosting
- Hosted outside the EU (detected)
- Registry data as of
- Nov 14, 2026, 21:12 UTC
Data from the official MCP Registry, checked by run.zero. How we check
Connect
Streamable HTTP
https://journalize.dev/mcpResponds288 msNo sign-in
Claude Code
claude mcp add --transport http journalize https://journalize.dev/mcpClaude Desktop and claude.ai
Settings > Connectors > Add custom connector
Name: journalize
Remote MCP server URL: https://journalize.dev/mcpCursor
{
"mcpServers": {
"journalize": {
"url": "https://journalize.dev/mcp"
}
}
}VS Code
code --add-mcp '{"name":"journalize","type":"http","url":"https://journalize.dev/mcp"}'Built your own server? run.zero hosts MCP servers on European infrastructure.
Tools
11 tools
Read-only | Idempotent | Open world | ||
|---|---|---|---|---|
export_ledgerExport the full ledger as literal Beancount text — a portable
snapshot for fava/bean-report/etc., not the live store. Shares a
combined free allowance of 2 with get_balance_sheet,
get_income_statement, and get_trial_balance (the "report tier") — not
2 free calls for each of those four separately. | Not declared | Not declared | Not declared | Not declared |
get_account_balanceBalance of a single account. Settles at the same fixed price
whether the account exists or not — an "unknown account" answer is
still a valid, billable response (no per-error pricing discount). No
free-trial allowance for this specific tool, unlike list_directives
(same price, but list_directives has 2 free calls and this doesn't) —
the free tier applies to browsing (list_directives, list_accounts)
and the report tier, not per-account lookups. | Not declared | Not declared | Not declared | Not declared |
get_balance_sheetFull realize() balance sheet — often served from cache. Settles at
the same fixed price regardless of cache hit/miss. Shares a combined
free allowance of 2 with export_ledger, get_income_statement, and
get_trial_balance (the "report tier") — not 2 free calls each. | Not declared | Not declared | Not declared | Not declared |
get_income_statementIncome statement, period-scoped by since/until (ISO date strings,
both optional — omitted means whole history). Always books full
history first, then clamps the output to the requested period (never
filters input dates — see reports.py for why). Shares a combined free
allowance of 2 with export_ledger, get_balance_sheet, and
get_trial_balance (the "report tier") — not 2 free calls each. | Not declared | Not declared | Not declared | Not declared |
get_trial_balanceTrial balance, period-scoped same as income statement — same
underlying compute, priced and audited as its own resource. Shares a
combined free allowance of 2 with export_ledger, get_balance_sheet,
and get_income_statement (the "report tier") — not 2 free calls
each. | Not declared | Not declared | Not declared | Not declared |
list_accountsList all opened accounts with their currency constraints and
booking method. No booking pass involved. Your first 2 calls per
registered key are free (a separate allowance from list_directives'
and the report tier's — see those tools). | Not declared | Not declared | Not declared | Not declared |
list_directivesList raw directives (optionally filtered by account/date range). No
booking involved — cheapest paid tool. `since`/`until` are ISO date
strings (YYYY-MM-DD). Your first 2 calls per registered key are free
(independent of the write/accounts/report allowances — see
list_accounts, get_balance_sheet). | Not declared | Not declared | Not declared | Not declared |
registerGenerate a new Ed25519 keypair for ledger identity. Returns the
private key exactly once — it is never stored server-side and cannot
be recovered if lost. This is a SEPARATE keypair from whatever wallet
you use to authorize x402 payments (payment auth and ledger identity
are two independent signing domains — see payments.py). | Not declared | Not declared | Not declared | Not declared |
submit_batchSubmit up to 1000 directives atomically — all persist together or
none do. Priced 10x a single write, regardless of batch size within
the cap. Always paid — the free-trial allowance (see
submit_directive) applies to single writes only, never to batches,
even if you haven't used any free writes yet. Paid. | Not declared | Not declared | Not declared | Not declared |
submit_directiveSubmit one Beancount directive (open, transaction, close, balance,
price, note, document — any type). Paid, except your first 20
accepted writes per registered key, which are free (this specific
tool only — submit_batch is always paid, even for your first call).
Call with no payment_header first: if free writes remain, this
succeeds immediately; otherwise you'll get price/asset/recipient
back, so you can retry with payment_header set to your signed
X-PAYMENT-equivalent payload (fresh nonce required on the retry —
each call is independently signed). | Not declared | Not declared | Not declared | Not declared |
validate_directiveFree dry-run: parse+book text against your full history without
persisting or charging anything. Still requires a valid signature
(identity/replay protection is not a billing concern). | Not declared | Not declared | Not declared | Not declared |
Details
- Registry status
- Active
- Published
- Jul 9, 2026
- Updated
- Jul 9, 2026
- Repository
- Not given
- Categories (suggested)
- Invoicing and accountingSuggested categories are assigned automatically from the registry text and may be wrong. Verified operators can correct them.
- GDPR
- Not declared