Once a client is connected, Somara exposes the full
accounting engine as MCP tools. Most tools map to a REST operation documented in
the API reference — same behavior, same data, same auth. A
few (the payee-rule tools and most of the bank feed) are MCP-only, noted below.
Accounts
Tool
Description
list_accounts
List accounts (filterable).
get_account
Fetch a single account.
create_account
Create an account.
update_account
Update an account.
get_account_tree
The chart of accounts as a hierarchy.
get_account_balance
An account's current balance.
get_account_ledger
An account's individual postings.
seed_accounts
Seed the standard chart of accounts.
Contacts
Tool
Description
list_contacts
List customers and vendors.
get_contact
Fetch a single contact.
create_contact
Create a contact.
update_contact
Update a contact.
Journal entries
Tool
Description
list_journal_entries
List journal entries; filter by status/date/reference/source, page with cursor, trim columns with fields. Lean columns by default (no source_data).
count_journal_entries
Count entries matching a filter without fetching rows — cheap backlog sizing.
get_journal_entry
Fetch a single entry.
create_journal_entry
Create an entry (draft or auto-posted); each line takes account_idoraccount (code/name).
batch_create_journal_entries
Create many entries in one call. Compact response by default; include_entries echoes them.
post_journal_entry
Post a draft entry. Accepts idempotency_key (retry returns the posted entry, not an error).
batch_post_journal_entries
Post up to 100 draft entries by id. Compact response by default; include_entries echoes them.
post_journal_entries
Post all draft entries matching a filter (date/reference/source) — no id list, no 100 cap; safe to re-run.
reverse_journal_entry
Reverse a posted entry.
discard_journal_entry
Delete a draft entry.
Import & categorization
Tool
Description
import_csv
Bulk-import contacts, pre-balanced journal entries, or a bank statement from a CSV — three targets, all with content de-duplication of re-uploads. See CSV import.
set_payee_rules
Memorize payee → account rules so future bank imports auto-categorize matching rows.
list_payee_rules
List the memorized payee → account rules.
delete_payee_rule
Forget a memorized payee rule.
The payee-rule tools are MCP-only (there's no REST equivalent) — over REST you
supply categorization inline via a category_account column or a category_map.
Large CSVs are queued on both surfaces — over REST you get a 202 with a job id;
over MCP, import_csv returns { status: 'pending', job_id, row_count }. Poll for
the result (REST GET /import/jobs/{jobId}, MCP get_import_job). Only files beyond
the async cap (50,000 rows) must be split (see CSV import).
Bank feed (Plaid)
Connect a bank in the dashboard — Plaid Link is a human-only browser flow — and
transactions stream in, get categorized, and book to the ledger. Agents work the
feed (review, categorize, sync) but cannot initiate a connection. See
Bank connections and the review-bank-feedskill.
Tool
Description
list_bank_connections
Connected banks (Plaid items) with each account, its GL mapping, connection status, and last sync.
list_bank_transactions
Staged bank-feed transactions; filter by review_status (needs_review / draft_review / auto_posted / ignored) and date.
get_bank_transaction
Fetch one staged transaction by our id or the Plaid transaction_id.
categorize_bank_transaction
Set a transaction's contra account and book it; memorize the payee to auto-book future matches. Rebooks safely (draft discarded+recreated, posted reversed+recreated).
sync_bank_account
Queue a transaction sync for a connection.
These tools are MCP-only except sync_bank_account, which mirrors
POST /api/v1/plaid/items/{itemId}/sync; there is no REST endpoint for listing or
categorizing the feed.
Periods
Tool
Description
close_period
Close an accounting period.
reopen_period
Reopen a closed period.
list_closed_periods
List closed periods.
Reports
Tool
Description
get_trial_balance
Trial balance as of a date.
get_income_statement
Income statement (P&L) over a range.
get_balance_sheet
Balance sheet as of a date.
get_cash_flow_statement
Cash flow statement over a range.
get_general_ledger
General ledger over a range.
Every report tool (and get_account_balance / get_account_ledger) is
posted-only by default; pass include_drafts: true to fold in unposted drafts —
e.g. to validate an import in aggregate before committing it.
Beyond tools, the server exposes read-only MCP resources for quick context —
chart_of_accounts, recent_transactions, and accounting_skills.
Note
Tool names and behavior are derived from the live server. If a connected client
shows a tool not listed here, it reflects a newer server version — the
API reference is always the authoritative contract.