Codat MCP by usefulapi

io.usefulapiPublished by usefulapi.ioOfficial publisherv1.36.5Updated Nov 8, 2026

MCP server for Codat — companies, connections, invoices, bills and financial statements.

The publisher's own server: Ably MCP by usefulapi

VerifiedStreamable HTTPWeb executableFinanceData & AnalyticsBusiness & Commerce

Overview

AI-generated overview

Hosted MCP server that lets an assistant read Codat accounting data — companies, connections, invoices, bills, payments and financial statements — and trigger…

What you can do
  • Inspect the account profile, companies, their data connections and integrations, plus data freshness and accounting metadata
  • List and read accounting records: chart of accounts, invoices, bills, bill payments, credit notes, customers, suppliers, payments and journal entries
  • Retrieve period-based financial statements: balance sheet, profit and loss and cash flow
  • List connection-scoped direct costs and account transactions, and issue raw read-only GET requests to other Codat paths
  • Create companies and connections, and queue full or single-dataset data refreshes
  • Check usage, upgrade or cancel the subscription, and file feature requests
When to use it
Useful when you want an assistant to answer questions about a customer's accounting data held in Codat — unpaid invoices, supplier bills, cash position or profit and loss — without building your own API integration.
Requirements
Remote MCP endpoint connected by URL only; no local install. Sign-in is via OAuth, and on first connect you paste your Codat API key, which is validated and stored per user. A Codat account with connected companies is needed. Free plan allows 50 tool calls per month.
Before you install
The API key is a credential: enter it only on the server's own login page, not in client config. Write tools create companies and connections and queue data refreshes, which re-pull data from connected source platforms. Paid plans cost money ($9/month Pro, $39/month Pro+), billed through a Stripe checkout link, with no refund for the current period on cancellation. Accounting data is sent to the third-party host.

Installation

In SourceWeft

  1. Open Codat MCP by usefulapi in the dashboard and add it to a workspace.
  2. Enable the server for the chats that should use its tools.

Web executable via Streamable HTTP. Remote servers run from the web runtime once configured in a workspace.

Use with an agent

Paste this prompt into Claude Code, Codex, Cursor or another agent — or into SourceWeft chat. The agent reads this server's install guide, shows you its publisher, endpoint and sign-in, and adds it to your client once you agree. Keys never go into a command.

Read https://sourceweft.com/mcp/io.usefulapi%2Fcodat/install.md and connect the MCP server it describes to my client. Before changing any config, show me its publisher, endpoint and sign-in method and wait for my OK. Never put an API key in a command or in a file I would commit; ask me where it should come from.

Read the install guide the agent follows

Other MCP clients

Add this to your client's mcpServers config.

{
  "mcpServers": {
    "codat-by-usefulapi": {
      "type": "http",
      "url": "https://codat.usefulapi.io/mcp"
    }
  }
}

README

Codat MCP by usefulapi

Read your customers' unified accounting data across QuickBooks, Xero and more from Claude, Cursor, or any MCP client. Hosted, no local install — connect with your Codat API key.

Live endpoint: https://codat.usefulapi.io/mcp · Homepage: https://usefulapi.io/codat

Connect

  • Claude (claude.ai, Desktop): open Customize → Connectors, click + Add → Add custom connector, and paste https://codat.usefulapi.io/mcp.
  • Claude Code: claude mcp add --transport http codat https://codat.usefulapi.io/mcp, then run /mcp to log in.
  • VS Code: Add to VS Code.
  • Cursor and other clients: add the URL as a remote MCP server:
json
{  "mcpServers": {    "codat": {      "url": "https://codat.usefulapi.io/mcp"    }  }}

Add only the URL. Do not add an Authorization header or an API key to the client config: the server signs you in with OAuth, and the login page asks for your Codat credentials.

Step-by-step setup, where to find your credentials, and FAQ: https://usefulapi.io/codat/

On first connect you'll paste your Codat API key. It's validated, stored per-user, and scoped to you.

Tools

ToolTypeWhat it does
codat_get_profilereadGet account profile
codat_list_companiesreadList companies
codat_get_companyreadGet a company
codat_list_connectionsreadList data connections
codat_get_connectionreadGet a data connection
codat_get_data_statusreadGet data status
codat_get_data_inforeadGet accounting metadata
codat_list_integrationsreadList integrations
codat_list_accountsreadList chart of accounts
codat_list_invoicesreadList invoices
codat_get_invoicereadGet an invoice
codat_list_billsreadList bills
codat_list_bill_paymentsreadList bill payments
codat_list_credit_notesreadList credit notes
codat_list_customersreadList customers
codat_list_suppliersreadList suppliers
codat_list_paymentsreadList payments
codat_list_journal_entriesreadList journal entries
codat_get_balance_sheetreadGet balance sheet
codat_get_profit_and_lossreadGet profit & loss
codat_get_cash_flow_statementreadGet cash flow statement
codat_list_direct_costsreadList direct costs
codat_list_account_transactionsreadList account transactions
codat_requestreadRaw read request
codat_create_companywriteCreate a company
codat_create_connectionwriteCreate a data connection
codat_refresh_all_datawriteQueue a full data refresh
codat_refresh_data_typewriteQueue a single dataset refresh
codat_usage_statusmetaUsage status (free-tier meter)
codat_request_featuremetaRequest a missing feature
codat_upgrademetaUpgrade to Pro or Pro+
codat_cancel_subscriptionmetaCancel the Pro subscription

read tools are read-only; write tools mutate data (clients should confirm them); meta tools report usage, manage your subscription or send a feature request.

Pricing

PlanPriceLimit
Free$050 tool calls / month
Pro$9/mo or $90/yr (2 months free)Unlimited*

*Pro has a fair use limit of 10,000 tool calls a month on this server. For more, write to [email protected].

Pro covers this server only. Subscribe with codat_upgrade (it returns a Stripe Checkout link). Cancel any time with codat_cancel_subscription: Pro continues to the end of the paid period, with no refund for the current period, and running codat_upgrade before then undoes the cancel. Or write to [email protected].

License

MIT — see LICENSE. Documentation only; the server is hosted.

Source: servers/codat/README.md at commit 4046075

Tools

28

codat_get_profile

Get account profile

Fetch the authenticated Codat account's profile (organization name, redirect URLs, features) — a quick way to verify the API key works. Codat API: GET /profile.

Takes no parameters.

codat_list_companies

List companies

List the companies in your Codat account. A company represents one of your customers' businesses and holds its data connections. Codat API: GET /companies. Returns the paged envelope { results, pageNumber, pageSize, totalResults, _links }.

ParameterspagequeryorderBypageSize

codat_get_company

Get a company

Fetch a single company by id (name, platform, dataConnections, created/lastSync). Codat API: GET /companies/{companyId}.

ParameterscompanyIdrequired

codat_list_connections

List data connections

List a company's data connections (each links the company to one source platform, e.g. QuickBooks, Xero). Codat API: GET /companies/{companyId}/connections. Returns the paged envelope.

ParameterspagequeryorderBypageSizecompanyIdrequired

codat_get_connection

Get a data connection

Fetch a single data connection by id (platformKey, status, sourceType, lastSync). Codat API: GET /companies/{companyId}/connections/{connectionId}.

ParameterscompanyIdrequiredconnectionIdrequired

codat_get_data_status

Get data status

Get the freshness/status of each accounting data type for a company (lastSuccessfulSync, currentStatus, dataType). Use this to check whether a dataset has been pulled before reading it. Codat API: GET /companies/{companyId}/dataStatus.

ParameterscompanyIdrequired

codat_get_data_info

Get accounting metadata

Get a company's accounting metadata (base currency, supported data types, etc.). Codat API: GET /companies/{companyId}/data/info.

ParameterscompanyIdrequired

codat_list_integrations

List integrations

List the accounting/commerce/banking platforms (integrations) Codat supports, with their platformKey. Codat API: GET /integrations. Returns the paged envelope.

ParameterspagequeryorderBypageSize

codat_list_accounts

List chart of accounts

List a company's chart of accounts (id, name, nominalCode, type, status, currency, currentBalance). Codat API: GET /companies/{companyId}/data/accounts. Returns the paged envelope.

ParameterspagequeryorderBypageSizecompanyIdrequired

codat_list_invoices

List invoices

List a company's accounts-receivable invoices (id, invoiceNumber, customerRef, issueDate, dueDate, currency, totalAmount, amountDue, status, lineItems). Codat API: GET /companies/{companyId}/data/invoices. Returns the paged envelope. Tip: filter with query, e.g. "status=Submitted&&amountDue>0".

ParameterspagequeryorderBypageSizecompanyIdrequired

codat_get_invoice

Get an invoice

Fetch a single AR invoice by id (full object incl. lineItems, paymentAllocations). Codat API: GET /companies/{companyId}/data/invoices/{invoiceId}.

ParameterscompanyIdrequiredinvoiceIdrequired

codat_list_bills

List bills

List a company's accounts-payable bills (id, reference, supplierRef, issueDate, dueDate, currency, totalAmount, amountDue, status, lineItems). Codat API: GET /companies/{companyId}/data/bills. Returns the paged envelope.

ParameterspagequeryorderBypageSizecompanyIdrequired

codat_list_bill_payments

List bill payments

List a company's bill payments (money paid out to suppliers) — id, supplierRef, date, currency, totalAmount, lines. Codat API: GET /companies/{companyId}/data/billPayments. Returns the paged envelope.

ParameterspagequeryorderBypageSizecompanyIdrequired

codat_list_credit_notes

List credit notes

List a company's credit notes (id, creditNoteNumber, customerRef, issueDate, currency, totalAmount, remainingCredit, status). Codat API: GET /companies/{companyId}/data/creditNotes. Returns the paged envelope.

ParameterspagequeryorderBypageSizecompanyIdrequired

codat_list_customers

List customers

List a company's customers (id, customerName, contactName, emailAddress, addresses, status, defaultCurrency). Codat API: GET /companies/{companyId}/data/customers. Returns the paged envelope.

ParameterspagequeryorderBypageSizecompanyIdrequired

codat_list_suppliers

List suppliers

List a company's suppliers/vendors (id, supplierName, contactName, emailAddress, addresses, status, defaultCurrency). Codat API: GET /companies/{companyId}/data/suppliers. Returns the paged envelope.

ParameterspagequeryorderBypageSizecompanyIdrequired

codat_list_payments

List payments

List a company's payments received (money in against invoices) — id, customerRef, date, currency, totalAmount, lines/allocations. Codat API: GET /companies/{companyId}/data/payments. Returns the paged envelope.

ParameterspagequeryorderBypageSizecompanyIdrequired

codat_list_journal_entries

List journal entries

List a company's journal entries (id, postedOn, createdOn, journalLines with accountRef/netAmount/currency). Codat API: GET /companies/{companyId}/data/journalEntries. Returns the paged envelope.

ParameterspagequeryorderBypageSizecompanyIdrequired

codat_get_balance_sheet

Get balance sheet

Get a company's balance sheet, broken into periods. periodLength (months per period) and periodsToCompare are BOTH required by Codat. Codat API: GET /companies/{companyId}/data/financials/balanceSheet.

ParameterscompanyIdrequiredstartMonthperiodLengthrequiredperiodsToComparerequired

codat_get_profit_and_loss

Get profit & loss

Get a company's profit and loss (income statement), broken into periods. periodLength and periodsToCompare are BOTH required by Codat. Codat API: GET /companies/{companyId}/data/financials/profitAndLoss.

ParameterscompanyIdrequiredstartMonthperiodLengthrequiredperiodsToComparerequired

codat_get_cash_flow_statement

Get cash flow statement

Get a company's cash flow statement, broken into periods. periodLength and periodsToCompare are BOTH required by Codat. Codat API: GET /companies/{companyId}/data/financials/cashFlowStatement.

ParameterscompanyIdrequiredstartMonthperiodLengthrequiredperiodsToComparerequired

codat_list_direct_costs

List direct costs

List a company's direct costs (point-of-sale purchases: card/cash spend, refunds) for a data connection. NOTE: this endpoint is CONNECTION-scoped. Codat API: GET /companies/{companyId}/connections/{connectionId}/data/directCosts. Returns the paged envelope.

ParameterspagequeryorderBypageSizecompanyIdrequiredconnectionIdrequired

codat_list_account_transactions

List account transactions

List a company's account transactions (bank/GL transactions) for a data connection. NOTE: this endpoint is CONNECTION-scoped. Codat API: GET /companies/{companyId}/connections/{connectionId}/data/accountTransactions. Returns the paged envelope.

ParameterspagequeryorderBypageSizecompanyIdrequiredconnectionIdrequired

codat_request

Raw read request

Power-user escape hatch: GET any Codat API path not wrapped by a dedicated tool. READ-ONLY — only GET is allowed. Path starts with a slash (e.g. "/companies/{id}/data/taxRates", "/companies/{id}/reports/agedDebtor"). Codat API: GET {path}.

Parameterspathrequiredquery

codat_create_company

Create a company

MUTATES Codat data — create a new company (a container for a customer's data connections). Provide a name; optionally a description, tags, or other attributes via `fields`. Codat API: POST /companies. Returns the created company (incl. its id).

Parametersnamerequiredfieldsdescription

codat_create_connection

Create a data connection

MUTATES Codat data — create a new data connection on a company for a given source platform. Provide the platformKey (from codat_list_integrations, e.g. "gbol" for QuickBooks Online sandbox). The connection is created in a PendingAuth state; the customer completes authorization via the returned linkUrl. Codat API: POST /companies/{companyId}/connections. Returns the created connection.

ParametersfieldscompanyIdrequiredplatformKeyrequired

codat_refresh_all_data

Queue a full data refresh

MUTATES Codat state — queue a refresh of ALL data types for a company (Codat re-pulls from the connected source platforms). Asynchronous: it enqueues pulls, it does not return the data. Use codat_get_data_status to track progress. Codat API: POST /companies/{companyId}/data/all.

ParameterscompanyIdrequired

codat_refresh_data_type

Queue a single dataset refresh

MUTATES Codat state — queue a refresh of ONE data type for a company (e.g. "invoices", "bills", "chartOfAccounts", "balanceSheet"). Asynchronous: it enqueues a pull, it does not return the data. Codat API: POST /companies/{companyId}/data/queue/{dataType}.

ParametersdataTyperequiredcompanyIdrequired

Version history

22
  1. v1.36.5LatestNov 8, 2026
  2. v1.36.4Nov 7, 2026
  3. v1.35.3Nov 5, 2026
  4. v1.35.2Nov 5, 2026
  5. v1.35.1Nov 4, 2026
  6. v1.35.0Nov 3, 2026
  7. v1.34.1Nov 3, 2026
  8. v1.33.0Nov 1, 2026
  9. v1.31.0Oct 31, 2026
  10. v1.30.0Oct 31, 2026
  11. v1.29.2Oct 30, 2026
  12. v1.29.0Oct 30, 2026
  13. v1.24.0Oct 26, 2026
  14. v1.21.3Oct 25, 2026
  15. v1.21.0Oct 25, 2026
  16. v1.20.0Oct 24, 2026
  17. v1.17.0Oct 23, 2026
  18. v1.16.4Oct 22, 2026
  19. v1.16.3Oct 21, 2026
  20. v1.11.1Oct 9, 2026
  21. v1.10.0Oct 9, 2026
  22. v1.0.1Sep 16, 2026

Score

100% of the applicable checks met

How complete this listing is, computed from the registry entry, the endpoint and public sources. Not a rating of the server and not a statement that it is safe or working today: reachability is a dated check, and no installs or reviews go into the score.

  • Reached in the last 30 daysRequired25 pts
  • Auth declaredRequired10 pts
  • Tools listedRequired15 pts
  • DescriptionRequired15 pts
  • Logo10 pts
  • Documentation15 pts
  • License10 pts

Other Usefulapi integrations