# codat MCP server

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

## Links
- Registry page: https://www.getdrio.com/mcp/io-usefulapi-codat
- Repository: https://github.com/m190/usefulapi-mcp

## Install
- Endpoint: https://codat.usefulapi.io/mcp
- Auth: Not captured

## Setup notes
- Remote endpoint: https://codat.usefulapi.io/mcp

## Tools
- 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. Endpoint: https://codat.usefulapi.io/mcp
- 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 }. Endpoint: https://codat.usefulapi.io/mcp
- codat_get_company (Get a company) - Fetch a single company by id (name, platform, dataConnections, created/lastSync). Codat API: GET /companies/{companyId}. Endpoint: https://codat.usefulapi.io/mcp
- 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. Endpoint: https://codat.usefulapi.io/mcp
- 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}. Endpoint: https://codat.usefulapi.io/mcp
- 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. Endpoint: https://codat.usefulapi.io/mcp
- 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. Endpoint: https://codat.usefulapi.io/mcp
- 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. Endpoint: https://codat.usefulapi.io/mcp
- 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. Endpoint: https://codat.usefulapi.io/mcp
- 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". Endpoint: https://codat.usefulapi.io/mcp
- 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}. Endpoint: https://codat.usefulapi.io/mcp
- 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. Endpoint: https://codat.usefulapi.io/mcp
- 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. Endpoint: https://codat.usefulapi.io/mcp
- 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. Endpoint: https://codat.usefulapi.io/mcp
- 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. Endpoint: https://codat.usefulapi.io/mcp
- 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. Endpoint: https://codat.usefulapi.io/mcp
- 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. Endpoint: https://codat.usefulapi.io/mcp
- 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. Endpoint: https://codat.usefulapi.io/mcp
- 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. Endpoint: https://codat.usefulapi.io/mcp
- 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. Endpoint: https://codat.usefulapi.io/mcp
- 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. Endpoint: https://codat.usefulapi.io/mcp
- 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. Endpoint: https://codat.usefulapi.io/mcp
- 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. Endpoint: https://codat.usefulapi.io/mcp
- 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}. Endpoint: https://codat.usefulapi.io/mcp
- 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). Endpoint: https://codat.usefulapi.io/mcp
- 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. Endpoint: https://codat.usefulapi.io/mcp
- 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. Endpoint: https://codat.usefulapi.io/mcp
- 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}. Endpoint: https://codat.usefulapi.io/mcp

## Resources
Not captured

## Prompts
Not captured

## Metadata
- Owner: io.usefulapi
- Version: 1.0.1
- Runtime: Streamable Http
- Transports: HTTP
- License: Not captured
- Language: Not captured
- Stars: Not captured
- Updated: Jul 17, 2026
- Source: https://registry.modelcontextprotocol.io
