{"server":"dev.journalize/journalize","count":11,"tools":[{"name":"export_ledger","title":null,"description":"Export the full ledger as literal Beancount text — a portable\n    snapshot for fava/bean-report/etc., not the live store. Shares a\n    combined free allowance of 2 with get_balance_sheet,\n    get_income_statement, and get_trial_balance (the \"report tier\") — not\n    2 free calls for each of those four separately.","input_schema":{"type":"object","title":"export_ledgerArguments","required":["public_key","nonce","timestamp","signature"],"properties":{"nonce":{"type":"string","title":"Nonce"},"signature":{"type":"string","title":"Signature"},"timestamp":{"type":"string","title":"Timestamp"},"public_key":{"type":"string","title":"Public Key"},"payment_header":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Payment Header","default":null}}},"output_schema":null,"annotations":null,"source":"probe","observed_at":"2026-10-20T04:17:24.151Z"},{"name":"get_account_balance","title":null,"description":"Balance of a single account. Settles at the same fixed price\n    whether the account exists or not — an \"unknown account\" answer is\n    still a valid, billable response (no per-error pricing discount). No\n    free-trial allowance for this specific tool, unlike list_directives\n    (same price, but list_directives has 2 free calls and this doesn't) —\n    the free tier applies to browsing (list_directives, list_accounts)\n    and the report tier, not per-account lookups.","input_schema":{"type":"object","title":"get_account_balanceArguments","required":["account","public_key","nonce","timestamp","signature"],"properties":{"nonce":{"type":"string","title":"Nonce"},"account":{"type":"string","title":"Account"},"signature":{"type":"string","title":"Signature"},"timestamp":{"type":"string","title":"Timestamp"},"public_key":{"type":"string","title":"Public Key"},"payment_header":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Payment Header","default":null}}},"output_schema":null,"annotations":null,"source":"probe","observed_at":"2026-10-20T04:17:24.151Z"},{"name":"get_balance_sheet","title":null,"description":"Full realize() balance sheet — often served from cache. Settles at\n    the same fixed price regardless of cache hit/miss. Shares a combined\n    free allowance of 2 with export_ledger, get_income_statement, and\n    get_trial_balance (the \"report tier\") — not 2 free calls each.","input_schema":{"type":"object","title":"get_balance_sheetArguments","required":["public_key","nonce","timestamp","signature"],"properties":{"nonce":{"type":"string","title":"Nonce"},"signature":{"type":"string","title":"Signature"},"timestamp":{"type":"string","title":"Timestamp"},"public_key":{"type":"string","title":"Public Key"},"payment_header":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Payment Header","default":null}}},"output_schema":null,"annotations":null,"source":"probe","observed_at":"2026-10-20T04:17:24.151Z"},{"name":"get_income_statement","title":null,"description":"Income statement, period-scoped by since/until (ISO date strings,\n    both optional — omitted means whole history). Always books full\n    history first, then clamps the output to the requested period (never\n    filters input dates — see reports.py for why). Shares a combined free\n    allowance of 2 with export_ledger, get_balance_sheet, and\n    get_trial_balance (the \"report tier\") — not 2 free calls each.","input_schema":{"type":"object","title":"get_income_statementArguments","required":["public_key","nonce","timestamp","signature"],"properties":{"nonce":{"type":"string","title":"Nonce"},"since":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Since","default":null},"until":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Until","default":null},"signature":{"type":"string","title":"Signature"},"timestamp":{"type":"string","title":"Timestamp"},"public_key":{"type":"string","title":"Public Key"},"payment_header":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Payment Header","default":null}}},"output_schema":null,"annotations":null,"source":"probe","observed_at":"2026-10-20T04:17:24.151Z"},{"name":"get_trial_balance","title":null,"description":"Trial balance, period-scoped same as income statement — same\n    underlying compute, priced and audited as its own resource. Shares a\n    combined free allowance of 2 with export_ledger, get_balance_sheet,\n    and get_income_statement (the \"report tier\") — not 2 free calls\n    each.","input_schema":{"type":"object","title":"get_trial_balanceArguments","required":["public_key","nonce","timestamp","signature"],"properties":{"nonce":{"type":"string","title":"Nonce"},"since":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Since","default":null},"until":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Until","default":null},"signature":{"type":"string","title":"Signature"},"timestamp":{"type":"string","title":"Timestamp"},"public_key":{"type":"string","title":"Public Key"},"payment_header":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Payment Header","default":null}}},"output_schema":null,"annotations":null,"source":"probe","observed_at":"2026-10-20T04:17:24.151Z"},{"name":"list_accounts","title":null,"description":"List all opened accounts with their currency constraints and\n    booking method. No booking pass involved. Your first 2 calls per\n    registered key are free (a separate allowance from list_directives'\n    and the report tier's — see those tools).","input_schema":{"type":"object","title":"list_accountsArguments","required":["public_key","nonce","timestamp","signature"],"properties":{"nonce":{"type":"string","title":"Nonce"},"signature":{"type":"string","title":"Signature"},"timestamp":{"type":"string","title":"Timestamp"},"public_key":{"type":"string","title":"Public Key"},"payment_header":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Payment Header","default":null}}},"output_schema":null,"annotations":null,"source":"probe","observed_at":"2026-10-20T04:17:24.151Z"},{"name":"list_directives","title":null,"description":"List raw directives (optionally filtered by account/date range). No\n    booking involved — cheapest paid tool. `since`/`until` are ISO date\n    strings (YYYY-MM-DD). Your first 2 calls per registered key are free\n    (independent of the write/accounts/report allowances — see\n    list_accounts, get_balance_sheet).","input_schema":{"type":"object","title":"list_directivesArguments","required":["public_key","nonce","timestamp","signature"],"properties":{"limit":{"type":"integer","title":"Limit","default":100},"nonce":{"type":"string","title":"Nonce"},"since":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Since","default":null},"until":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Until","default":null},"account":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Account","default":null},"signature":{"type":"string","title":"Signature"},"timestamp":{"type":"string","title":"Timestamp"},"public_key":{"type":"string","title":"Public Key"},"payment_header":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Payment Header","default":null}}},"output_schema":null,"annotations":null,"source":"probe","observed_at":"2026-10-20T04:17:24.151Z"},{"name":"register","title":null,"description":"Generate a new Ed25519 keypair for ledger identity. Returns the\n    private key exactly once — it is never stored server-side and cannot\n    be recovered if lost. This is a SEPARATE keypair from whatever wallet\n    you use to authorize x402 payments (payment auth and ledger identity\n    are two independent signing domains — see payments.py).","input_schema":{"type":"object","title":"registerArguments","properties":{}},"output_schema":null,"annotations":null,"source":"probe","observed_at":"2026-10-20T04:17:24.151Z"},{"name":"submit_batch","title":null,"description":"Submit up to 1000 directives atomically — all persist together or\n    none do. Priced 10x a single write, regardless of batch size within\n    the cap. Always paid — the free-trial allowance (see\n    submit_directive) applies to single writes only, never to batches,\n    even if you haven't used any free writes yet. Paid.","input_schema":{"type":"object","title":"submit_batchArguments","required":["directives","public_key","nonce","timestamp","signature"],"properties":{"nonce":{"type":"string","title":"Nonce"},"signature":{"type":"string","title":"Signature"},"timestamp":{"type":"string","title":"Timestamp"},"directives":{"type":"array","items":{"type":"string"},"title":"Directives"},"public_key":{"type":"string","title":"Public Key"},"payment_header":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Payment Header","default":null}}},"output_schema":null,"annotations":null,"source":"probe","observed_at":"2026-10-20T04:17:24.151Z"},{"name":"submit_directive","title":null,"description":"Submit one Beancount directive (open, transaction, close, balance,\n    price, note, document — any type). Paid, except your first 20\n    accepted writes per registered key, which are free (this specific\n    tool only — submit_batch is always paid, even for your first call).\n    Call with no payment_header first: if free writes remain, this\n    succeeds immediately; otherwise you'll get price/asset/recipient\n    back, so you can retry with payment_header set to your signed\n    X-PAYMENT-equivalent payload (fresh nonce required on the retry —\n    each call is independently signed).","input_schema":{"type":"object","title":"submit_directiveArguments","required":["text","public_key","nonce","timestamp","signature"],"properties":{"text":{"type":"string","title":"Text"},"nonce":{"type":"string","title":"Nonce"},"signature":{"type":"string","title":"Signature"},"timestamp":{"type":"string","title":"Timestamp"},"public_key":{"type":"string","title":"Public Key"},"payment_header":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Payment Header","default":null}}},"output_schema":null,"annotations":null,"source":"probe","observed_at":"2026-10-20T04:17:24.151Z"},{"name":"validate_directive","title":null,"description":"Free dry-run: parse+book text against your full history without\n    persisting or charging anything. Still requires a valid signature\n    (identity/replay protection is not a billing concern).","input_schema":{"type":"object","title":"validate_directiveArguments","required":["text","public_key","nonce","timestamp","signature"],"properties":{"text":{"type":"string","title":"Text"},"nonce":{"type":"string","title":"Nonce"},"signature":{"type":"string","title":"Signature"},"timestamp":{"type":"string","title":"Timestamp"},"public_key":{"type":"string","title":"Public Key"}}},"output_schema":null,"annotations":null,"source":"probe","observed_at":"2026-10-20T04:17:24.151Z"}],"next_cursor":null,"next_actions":[{"action":"get_connection","description":"Connection block to call these tools","href":"/v1/servers/dev.journalize%2Fjournalize/connection?target=mcpServers","arguments":{"name":"dev.journalize/journalize","target":"mcpServers"}},{"action":"get_server","description":"Full descriptor with trust and connectability","href":"/v1/servers/dev.journalize%2Fjournalize","arguments":{"name":"dev.journalize/journalize"}}]}