Skip to content

Connectors · Accounting & finance

Codat MCP server for AI agents.

actionlake is an MCP gateway: one remote MCP server that connects Claude and other MCP clients to Codat and the rest of your systems. It gives your agent 309 Codat actions (206 reads, 89 writes and 14 that wait for a confirmation) and holds the Codat credential itself, so the agent never does. It paces Codat's limits and records every call.

100,000 free calls a month. No card, no email, no password: press Start a free sandbox on the next screen and keep the key it shows you.

claude mcp add --transport http actionlake https://connect.actionlake.com/mcp
the first call
do {  action: "codat.platform.list_companies",  intent: "check which Codat account is connected"}# List companies · read · 1 upstream call
  • 309actionsin one signed file
  • 206readlook, never change
  • 89writecreate and update
  • 14wait for a yesdestructive, confirmed first

Set up

Connect Codat in three steps.

  1. 01

    Add actionlake to Claude.

    Run the command once in Claude Code; its consent page can create a free sandbox: 100,000 calls a month, no card. In the Claude app, add a custom connector with the URL below and paste your key on the consent page. Creating a new sandbox from the Claude app is not yet tested by us.

    https://connect.actionlake.com/mcp
  2. 02

    Connect Codat.

    Username and secret. No consent screen: your agent can connect it for you, but the key then passes through your chat. To keep it out of the model's context, paste it in the console instead. actionlake stores what you paste write-only, sealed under your tenant's key.

    • api_keyCodat API key (Codat Portal > Developers > API keys)
    account { op: "connections.requirements", service: "codat" }
    # free: exactly what to paste, and what is found for you
  3. 03

    Make the first call. Check before a write.

    Ask in plain words; Claude picks the action. Before anything changes, check validates the call and prices it, for free.

    do    { action: "codat.platform.list_companies" }# list companies · read · 1 upstream callcheck { action: "codat.accounting.create_invoice", input: { … } }# free: inputs, permissions, cost and confirmations, nothing sent

Codat at a glance

Sign-in
Username and secret. No consent screen: your agent can connect it for you, but the key then passes through your chat. To keep it out of the model's context, paste it in the console instead.
You provide
api_key
Limits we pace to
1,000 calls an hour, per connection
API covered
Codat API v3 (codatio/oas, 21 product specs)api.codat.io
Built from
Codat's documentation, read 23 October 2026OpenAPI spec (GitHub)OpenAPI spec (GitHub)OpenAPI spec (GitHub)
Service file
Version 1.0.0, signed (Ed25519)
Cached reads
203 of 206 reads, for up to 5 minutes; a write clears what it affects
Shared entities
10, so ask can line Codat up with your other systems
Data
Processed and stored in Sydney, Australia. No US region yet

Capabilities

What an AI agent can do in Codat.

309 actions in 14 areas. Every one carries its effect, so a key can allow the reads and hold the rest.

  • 206readlook, never change
  • 89writecreate and update
  • 14destructivewait for a confirmation
  1. Accounting

    120

    88 read · 27 write · 5 destructive

    List invoices · List payments · List purchase orders · List accounts

  2. Platform

    55

    28 read · 21 write · 6 destructive

    List companies · Create company · Get company · Update company

  3. Lending

    29

    21 read · 8 write · 0 destructive

    Generate Excel report · Generate loan summaries report · Generate loan transactions report · Generate report

  4. Commerce

    21

    21 read · 0 write · 0 destructive

    List customers · List disputes · List locations · List orders

  5. Sync commerce

    21

    13 read · 8 write · 0 destructive

    Create sync for commerce company · Create connection · List companies · List data connections

  6. Bank feeds

    16

    6 read · 8 write · 2 destructive

    Create source accounts · Create single source account · Generate source account credentials · Generate one-time password

  7. Expenses

    13

    8 read · 5 write · 0 destructive

    Create expense-transactions · Create Partner Expense connection · Get Sync Transaction · Initiate sync

  8. Sync payables

    13

    6 read · 6 write · 1 destructive

    Create bank account · Create bill · Create bill payment · Create supplier

6 more areas · 21 actions
  • Banking 8
  • Sync expenses 5
  • Supplier enablement 3
  • Intuit idx 2
  • Spend insights 2
  • Assess 1

Top actions

The Codat API, shaped for agents.

The ids your agent types, what each does, and the one name it shares with other systems. 42 of Codat's 42 action names are shared with at least one other connector, so an agent learns them once.

ActionWhat it doesEffectSame name in
codat.accounting.list_invoicesList invoicesList invoices.readfinance.invoice.list101 connectors
codat.accounting.list_paymentsList paymentsList payments.readfinance.payment.list75 connectors
codat.accounting.list_purchase_ordersList purchase ordersList purchase orders.readfinance.purchase_order.list45 connectors
codat.platform.list_companiesList companiesList companies.readcrm.company.list162 connectors
codat.accounting.list_accountsList accountsList accounts.readfinance.ledger_account.list36 connectors
codat.accounting.list_bank_accountsList bank accountsList bank accounts.readfinance.bank_account.list35 connectors
codat.accounting.list_credit_notesList credit notesList credit notes.readfinance.credit_note.list33 connectors
codat.accounting.list_billsList billsList bills.readfinance.bill.list31 connectors
codat.accounting.create_invoiceCreate invoiceCreate invoice.writefinance.invoice.create74 connectors
codat.accounting.create_paymentCreate paymentCreate payment.writefinance.payment.create67 connectors
codat.accounting.create_purchase_orderCreate purchase orderCreate purchase order.writefinance.purchase_order.create43 connectors
codat.accounting.delete_invoiceDelete invoiceDelete invoice.destructivefinance.invoice.delete56 connectors

Try it

Prompts to paste into Claude.

Each one names the Codat actions it will call, so you know what it reads and what it changes before you send it.

  1. Readread

    Which Codat invoices are more than 30 days overdue? Group them by customer with the total owed.

    callscodat.accounting.list_invoices

  2. Writewrite

    Create invoice in Codat. Show me exactly what you will send before you save it.

    callscodat.accounting.create_invoice

  3. Across systemsread

    Which Codat companies have invoices in ConnectWise PSA, and how many each?

    callscodat.platform.list_companiesconnectwise_manage.invoices.list

Across your systems

Codat, joined to the rest of your business.

One ask fetches from Codat and another system, joins the rows on the same customer on our side, and hands your agent the answer, not every row.

  • Which Codat companies have invoices in ConnectWise PSA, and how many each?

    codat.platform.list_companies + connectwise_manage.invoices.list, on crm.company · ConnectWise PSA

  • Which Codat companies have tickets in HubSpot CRM, and how many each?

    codat.platform.list_companies + hubspot_crm.tickets.list, on crm.company · HubSpot CRM

Also mapped by other connectorscrm.company 227finance.invoice 91finance.payment 53finance.purchase_order 35finance.ledger_account 32finance.credit_note 28finance.bill 27finance.bank_account 25
ask
ask {  intent: "which Codat companies have invoices in ConnectWise PSA, and how many each",  steps: [    { action: "codat.platform.list_companies", as: "co", input: {}, limit: 100, max_pages: 5 },    { action: "connectwise_manage.invoices.list", as: "inv", input: {}, limit: 100, max_pages: 5 },    { join: {        left: "co",        right: "inv",        on: "crm.company",        group_by: "co.name",        select: ["co.name", "count(inv.id) as invoices"]    } }  ]}
Example. Run it through check first: it validates the steps and prices them, and it is free.

Governance for Codat

Destructive actions wait for a yes.

14 Codat actions are destructive. These are all of them:

  • Delete invoicecodat.accounting.delete_invoice
  • Delete a companycodat.platform.delete_company
  • Delete billcodat.accounting.delete_bill
  • Delete journal entrycodat.accounting.delete_journal_entry
  • Delete API keycodat.platform.delete_api_key
  • Remove productcodat.platform.remove_product
  • Delete connectioncodat.platform.delete_connection
  • Rotate Zapier keycodat.platform.rotate_zapier_key
  • Delete direct costcodat.accounting.delete_direct_cost
  • Delete bill paymentcodat.accounting.delete_bill_payment
  • Delete source accountcodat.bank_feeds.delete_source_account
  • Delete webhook consumercodat.platform.delete_webhook_consumer
  • Delete bill attachmentcodat.sync_payables.delete_bill_attachment
  • Delete all source account credentialscodat.bank_feeds.delete_bank_feed_credentials

A destructive action runs only with confirm: true. Under the human policy the agent cannot confirm for itself: the run stops until a named person approves, in the console or from a signed link in an email. The cap on a key is refused before the call is sent, never after.

docodat.accounting.delete_invoiceconfirm_policy: human

Delete invoice?

intent: the user asked me to delete invoice

run suspended · waiting for a named person · key codat-agent cannot confirm itself
In the console, or from an emailed signed link.
a key for this connector
account {  op: "keys.create", name: "codat-agent",  allowed_actions: ["codat.*"], cap_calls: 2000,  confirm_policy: "human_for_writes",  approval_rules: [    { match: "codat.accounting.delete_invoice", approver: "[email protected]" },    { match: "codat.platform.delete_company", approver: "[email protected]" },    { match: "codat.accounting.delete_bill", approver: "[email protected]" }  ]}
Illustrative. Scoped to Codat only, capped at 2,000 upstream calls, every write confirmed, and the destructive ones approved by a named person.

Cost

What Codat costs on actionlake.

Every Codat action is one upstream call, the only thing actionlake bills. Searching, check, cost, account and any call Codat refused with 401, 403, 429 or a 5xx are free. Paid plans start at US$49 a month for 250,000 calls, with overage from US$0.30 down to US$0.18 per 1,000.

  • 1upstream call per actionall 309 Codat actions
  • 309actions pageeach page of a long list is one call
  • 203reads can be cacheda cache hit costs nothing
  • 100,000calls a month, freepaid plans from US$49 a month for 250,000

See pricing

Action index

Every Codat action.

309 actions by area: the id your agent calls, what it does, and its effect.

Accounting120
  • codat.accounting.create_accountCreate accountwrite
  • codat.accounting.create_bank_accountCreate bank accountwrite
  • codat.accounting.create_bank_transactionsCreate bank account transactionswrite
  • codat.accounting.create_billCreate billwrite
  • codat.accounting.create_bill_credit_noteCreate bill credit notewrite
  • codat.accounting.create_bill_paymentCreate bill paymentswrite
  • codat.accounting.create_credit_noteCreate credit notewrite
  • codat.accounting.create_customerCreate customerwrite
  • codat.accounting.create_direct_costCreate direct costwrite
  • codat.accounting.create_direct_incomeCreate direct incomewrite
  • codat.accounting.create_invoiceCreate invoicewrite
  • codat.accounting.create_itemCreate itemwrite
  • codat.accounting.create_journalCreate journalwrite
  • codat.accounting.create_journal_entryCreate journal entrywrite
  • codat.accounting.create_paymentCreate paymentwrite
  • codat.accounting.create_purchase_orderCreate purchase orderwrite
  • codat.accounting.create_supplierCreate supplierwrite
  • codat.accounting.create_transferCreate transferwrite
  • codat.accounting.delete_billDelete billdestructive
  • codat.accounting.delete_bill_paymentDelete bill paymentdestructive
  • codat.accounting.delete_direct_costDelete direct costdestructive
  • codat.accounting.delete_invoiceDelete invoicedestructive
  • codat.accounting.delete_journal_entryDelete journal entrydestructive
  • codat.accounting.get_accountGet accountread
  • codat.accounting.get_account_transactionGet account transactionread
  • codat.accounting.get_aged_creditors_reportAged creditors reportread
  • codat.accounting.get_aged_debtors_reportAged debtors reportread
  • codat.accounting.get_balance_sheetGet balance sheetread
  • codat.accounting.get_bank_accountGet bank accountread
  • codat.accounting.get_billGet billread
  • codat.accounting.get_bill_attachmentGet bill attachmentread
  • codat.accounting.get_bill_credit_noteGet bill credit noteread
  • codat.accounting.get_bill_paymentsGet bill paymentread
  • codat.accounting.get_cash_flow_statementGet cash flow statementread
  • codat.accounting.get_company_infoGet company inforead
  • codat.accounting.get_create_bank_transactions_modelGet create bank account transactions modelread
  • codat.accounting.get_create_bill_payments_modelGet create bill payment modelread
  • codat.accounting.get_create_chart_of_accounts_modelGet create account modelread
  • codat.accounting.get_create_direct_costs_modelGet create direct cost modelread
  • codat.accounting.get_create_direct_incomes_modelGet create direct income modelread
  • codat.accounting.get_create_items_modelGet create item modelread
  • codat.accounting.get_create_journal_entries_modelGet create journal entry modelread
  • codat.accounting.get_create_journals_modelGet create journal modelread
  • codat.accounting.get_create_payments_modelGet create payment modelread
  • codat.accounting.get_create_transfers_modelGet create transfer modelread
  • codat.accounting.get_create_update_bank_accounts_modelGet create/update bank account modelread
  • codat.accounting.get_create_update_bill_credit_notes_modelGet create/update bill credit note modelread
  • codat.accounting.get_create_update_bills_modelGet create/update bill modelread
  • codat.accounting.get_create_update_credit_notes_modelGet create/update credit note modelread
  • codat.accounting.get_create_update_customers_modelGet create/update customer modelread
  • codat.accounting.get_create_update_invoices_modelGet create/update invoice modelread
  • codat.accounting.get_create_update_purchase_orders_modelGet create/update purchase order modelread
  • codat.accounting.get_create_update_suppliers_modelGet create/update supplier modelread
  • codat.accounting.get_credit_noteGet credit noteread
  • codat.accounting.get_customerGet customerread
  • codat.accounting.get_customer_attachmentGet customer attachmentread
  • codat.accounting.get_direct_costGet direct costread
  • codat.accounting.get_direct_cost_attachmentGet direct cost attachmentread
  • codat.accounting.get_direct_incomeGet direct incomeread
  • codat.accounting.get_direct_income_attachmentGet direct income attachmentread
  • codat.accounting.get_invoiceGet invoiceread
  • codat.accounting.get_invoice_attachmentGet invoice attachmentread
  • codat.accounting.get_itemGet itemread
  • codat.accounting.get_item_receiptGet item receiptread
  • codat.accounting.get_journalGet journalread
  • codat.accounting.get_journal_entryGet journal entryread
  • codat.accounting.get_paymentGet paymentread
  • codat.accounting.get_payment_methodGet payment methodread
  • codat.accounting.get_profit_and_lossGet profit and lossread
  • codat.accounting.get_purchase_orderGet purchase orderread
  • codat.accounting.get_purchase_order_attachmentGet purchase order attachmentread
  • codat.accounting.get_sales_orderGet sales orderread
  • codat.accounting.get_supplierGet supplierread
  • codat.accounting.get_supplier_attachmentGet supplier attachmentread
  • codat.accounting.get_tax_rateGet tax rateread
  • codat.accounting.get_tracking_categoryGet tracking categoriesread
  • codat.accounting.get_transferGet transferread
  • codat.accounting.is_aged_creditors_report_availableAged creditors report availableread
  • codat.accounting.is_aged_debtor_report_availableAged debtors report availableread
  • codat.accounting.list_account_transactionsList account transactionsread
  • codat.accounting.list_accountsList accountsread
  • codat.accounting.list_bank_account_transactionsList bank account transactionsread
  • codat.accounting.list_bank_accountsList bank accountsread
  • codat.accounting.list_bill_attachmentsList bill attachmentsread
  • codat.accounting.list_bill_credit_notesList bill credit notesread
  • codat.accounting.list_bill_paymentsList bill paymentsread
  • codat.accounting.list_billsList billsread
  • codat.accounting.list_credit_notesList credit notesread
  • codat.accounting.list_customer_attachmentsList customer attachmentsread
  • codat.accounting.list_customersList customersread
  • codat.accounting.list_direct_cost_attachmentsList direct cost attachmentsread
  • codat.accounting.list_direct_costsList direct costsread
  • codat.accounting.list_direct_income_attachmentsList direct income attachmentsread
  • codat.accounting.list_direct_incomesList direct incomesread
  • codat.accounting.list_invoice_attachmentsList invoice attachmentsread
  • codat.accounting.list_invoicesList invoicesread
  • codat.accounting.list_item_receiptsList item receiptsread
  • codat.accounting.list_itemsList itemsread
  • codat.accounting.list_journal_entriesList journal entriesread
  • codat.accounting.list_journalsList journalsread
  • codat.accounting.list_payment_methodsList payment methodsread
  • codat.accounting.list_paymentsList paymentsread
  • codat.accounting.list_purchase_order_attachmentsList purchase order attachmentsread
  • codat.accounting.list_purchase_ordersList purchase ordersread
  • codat.accounting.list_sales_ordersList sales ordersread
  • codat.accounting.list_supplier_attachmentsList supplier attachmentsread
  • codat.accounting.list_suppliersList suppliersread
  • codat.accounting.list_tax_ratesList all tax ratesread
  • codat.accounting.list_tracking_categoriesList tracking categoriesread
  • codat.accounting.list_transfersList transfersread
  • codat.accounting.paymentsList paymentsread
  • codat.accounting.refresh_company_infoRefresh company infowrite
  • codat.accounting.update_bank_accountUpdate bank accountwrite
  • codat.accounting.update_billUpdate billwrite
  • codat.accounting.update_bill_credit_noteUpdate bill credit notewrite
  • codat.accounting.update_credit_noteUpdate credit notewrite
  • codat.accounting.update_customerUpdate customerwrite
  • codat.accounting.update_invoiceUpdate invoicewrite
  • codat.accounting.update_purchase_orderUpdate purchase orderwrite
  • codat.accounting.update_supplierUpdate supplierwrite
Platform55
  • codat.platform.add_productAdd productwrite
  • codat.platform.configure_custom_data_typeConfigure custom data typewrite
  • codat.platform.configure_supplemental_dataConfigurewrite
  • codat.platform.create_api_keyCreate API keywrite
  • codat.platform.create_companyCreate companywrite
  • codat.platform.create_connectionCreate connectionwrite
  • codat.platform.create_ruleCreate webhookwrite
  • codat.platform.create_webhook_consumerCreate webhook consumerwrite
  • codat.platform.delete_api_keyDelete API keydestructive
  • codat.platform.delete_companyDelete a companydestructive
  • codat.platform.delete_connectionDelete connectiondestructive
  • codat.platform.delete_webhook_consumerDelete webhook consumerdestructive
  • codat.platform.get_companyGet companyread
  • codat.platform.get_company_access_tokenGet company access tokenread
  • codat.platform.get_company_data_statusGet data statusread
  • codat.platform.get_company_push_historyList push operationsread
  • codat.platform.get_company_sync_settingsGet company sync settingsread
  • codat.platform.get_connectionGet connectionread
  • codat.platform.get_connection_management_access_tokenGet access token (old)read
  • codat.platform.get_connection_management_cors_settingsGet CORS settings (old)read
  • codat.platform.get_cors_settingsGet CORS settingsread
  • codat.platform.get_create_update_model_options_by_data_typeGet push optionsread
  • codat.platform.get_custom_data_type_configurationGet custom data configurationread
  • codat.platform.get_integrationGet integrationread
  • codat.platform.get_integrations_brandingGet brandingread
  • codat.platform.get_profileGet profileread
  • codat.platform.get_profile_sync_settingsGet sync settingsread
  • codat.platform.get_pull_operationGet pull operationread
  • codat.platform.get_push_operationGet push operationread
  • codat.platform.get_read_validation_resultsGet validation resultsread
  • codat.platform.get_supplemental_data_configurationGet configurationread
  • codat.platform.get_webhookGet webhookread
  • codat.platform.list_api_keysList API keysread
  • codat.platform.list_companiesList companiesread
  • codat.platform.list_connectionsList connectionsread
  • codat.platform.list_custom_data_type_recordsList custom data type recordsread
  • codat.platform.list_integrationsList integrationsread
  • codat.platform.list_pull_operationsList pull operationsread
  • codat.platform.list_rulesList webhooksread
  • codat.platform.list_webhook_consumersList webhook consumersread
  • codat.platform.refresh_company_dataRefresh all datawrite
  • codat.platform.refresh_custom_data_typeRefresh custom data typewrite
  • codat.platform.refresh_data_typeRefresh data typewrite
  • codat.platform.refresh_product_dataRefresh product datawrite
  • codat.platform.remove_productRemove productdestructive
  • codat.platform.replace_companyReplace companywrite
  • codat.platform.rotate_zapier_keyRotate Zapier keydestructive
  • codat.platform.set_company_sync_settingsSet company sync settingswrite
  • codat.platform.set_connection_management_cors_settingsSet CORS settings (old)write
  • codat.platform.set_cors_settingsSet CORS settingswrite
  • codat.platform.unlink_connectionUnlink connectionwrite
  • codat.platform.update_companyUpdate companywrite
  • codat.platform.update_connection_authorizationUpdate authorizationwrite
  • codat.platform.update_profileUpdate profilewrite
  • codat.platform.update_profile_sync_settingsUpdate all sync settingswrite
Lending29
  • codat.lending.end_bank_statement_upload_sessionEnd upload sessionwrite
  • codat.lending.generate_excel_reportGenerate Excel reportwrite
  • codat.lending.generate_loan_summaryGenerate loan summaries reportwrite
  • codat.lending.generate_loan_transactionsGenerate loan transactions reportwrite
  • codat.lending.generate_reportGenerate reportwrite
  • codat.lending.get_bank_statement_upload_configurationGet upload configurationread
  • codat.lending.get_categorized_balance_sheet_statementGet categorized balance sheet statementread
  • codat.lending.get_categorized_bank_statement_transactionsGet categorized bank statement transactionsread
  • codat.lending.get_categorized_profit_and_loss_statementGet categorized profit and loss statementread
  • codat.lending.get_commerce_customer_retention_metricsGet customer retention metricsread
  • codat.lending.get_commerce_lifetime_value_metricsGet lifetime value metricsread
  • codat.lending.get_commerce_orders_reportGet orders reportread
  • codat.lending.get_commerce_refunds_reportGet refunds reportread
  • codat.lending.get_commerce_revenue_metricsGet commerce revenue metricsread
  • codat.lending.get_data_integrity_statusGet data integrity statusread
  • codat.lending.get_data_integrity_summariesGet data integrity summariesread
  • codat.lending.get_excel_report_generation_statusGet Excel report statusread
  • codat.lending.get_financial_summaryGet financial summary insightsread
  • codat.lending.get_loan_summaryGet loan summariesread
  • codat.lending.get_report_statusGet report statusread
  • codat.lending.list_categorized_bank_statement_accountsList categorized bank statement accountsread
  • codat.lending.list_data_integrity_detailsList data integrity detailsread
  • codat.lending.list_filesList all files uploaded by a companyread
  • codat.lending.list_loan_transactionsList loan transactionsread
  • codat.lending.list_reconciled_invoicesList reconciled invoicesread
  • codat.lending.list_reportsList reportsread
  • codat.lending.set_bank_statement_upload_configurationSet upload configurationwrite
  • codat.lending.start_bank_statement_upload_sessionStart upload sessionwrite
  • codat.lending.upload_bank_statement_dataUpload datawrite
Commerce21
  • codat.commerce.get_company_infoGet company inforead
  • codat.commerce.get_customerGet customerread
  • codat.commerce.get_disputeGet disputeread
  • codat.commerce.get_locationGet locationread
  • codat.commerce.get_orderGet orderread
  • codat.commerce.get_paymentGet paymentread
  • codat.commerce.get_payment_methodGet payment methodread
  • codat.commerce.get_productGet productread
  • codat.commerce.get_product_categoryGet product categoryread
  • codat.commerce.get_tax_componentGet tax componentread
  • codat.commerce.get_transactionGet transactionread
  • codat.commerce.list_customersList customersread
  • codat.commerce.list_disputesList disputesread
  • codat.commerce.list_locationsList locationsread
  • codat.commerce.list_ordersList ordersread
  • codat.commerce.list_payment_methodsList payment methodsread
  • codat.commerce.list_paymentsList paymentsread
  • codat.commerce.list_product_categoriesList product categoriesread
  • codat.commerce.list_productsList productsread
  • codat.commerce.list_tax_componentsList tax componentsread
  • codat.commerce.list_transactionsList transactionsread
Sync commerce21
  • codat.sync_commerce.create_companyCreate sync for commerce companywrite
  • codat.sync_commerce.create_connectionCreate connectionwrite
  • codat.sync_commerce.get_config_text_sync_flowGet preferences for text fieldsread
  • codat.sync_commerce.get_configurationGet company configurationread
  • codat.sync_commerce.get_integration_brandingGet branding for an integrationread
  • codat.sync_commerce.get_last_successful_syncLast successful syncread
  • codat.sync_commerce.get_latest_syncLatest sync statusread
  • codat.sync_commerce.get_sync_by_idGet sync statusread
  • codat.sync_commerce.get_sync_flow_urlStart new sync flowread
  • codat.sync_commerce.get_sync_statusGet sync statusread
  • codat.sync_commerce.get_visible_accountsList visible accountsread
  • codat.sync_commerce.list_companiesList companiesread
  • codat.sync_commerce.list_connectionsList data connectionsread
  • codat.sync_commerce.list_integrationsList integrationsread
  • codat.sync_commerce.list_syncsList sync statusesread
  • codat.sync_commerce.request_syncInitiate new syncwrite
  • codat.sync_commerce.request_sync_for_date_rangeInitiate sync for specific rangewrite
  • codat.sync_commerce.set_configurationSet configurationwrite
  • codat.sync_commerce.update_config_text_sync_flowUpdate preferences for text fieldswrite
  • codat.sync_commerce.update_connectionUpdate data connectionwrite
  • codat.sync_commerce.update_visible_accounts_sync_flowUpdate visible accountswrite
Bank feeds16
  • codat.bank_feeds.create_bank_account_mappingCreate bank feed account mappingwrite
  • codat.bank_feeds.create_batch_source_accountCreate source accountswrite
  • codat.bank_feeds.create_source_accountCreate single source accountwrite
  • codat.bank_feeds.delete_bank_feed_credentialsDelete all source account credentialsdestructive
  • codat.bank_feeds.delete_source_accountDelete source accountdestructive
  • codat.bank_feeds.generate_credentialsGenerate source account credentialswrite
  • codat.bank_feeds.generate_otpGenerate one-time passwordwrite
  • codat.bank_feeds.get_bank_account_mappingList bank feed accountsread
  • codat.bank_feeds.get_company_informationGet company informationread
  • codat.bank_feeds.get_configurationGet configurationread
  • codat.bank_feeds.get_latest_managed_bank_feed_syncGet latest syncread
  • codat.bank_feeds.get_managed_bank_feed_syncGet syncread
  • codat.bank_feeds.list_source_accountsList source accountsread
  • codat.bank_feeds.run_managed_bank_feed_ad_hoc_syncRun ad-hoc syncwrite
  • codat.bank_feeds.set_configurationSet configurationwrite
  • codat.bank_feeds.update_source_accountUpdate source accountwrite
Expenses13
  • codat.expenses.create_expense_datasetCreate expense-transactionswrite
  • codat.expenses.create_partner_expense_connectionCreate Partner Expense connectionwrite
  • codat.expenses.get_company_configurationGet company configurationread
  • codat.expenses.get_last_successful_syncLast successful syncread
  • codat.expenses.get_latest_syncLatest sync statusread
  • codat.expenses.get_mapping_optionsMapping optionsread
  • codat.expenses.get_sync_by_idGet Sync statusread
  • codat.expenses.get_sync_transactionGet Sync Transactionread
  • codat.expenses.intiate_syncInitiate syncwrite
  • codat.expenses.list_sync_transactionsGet Sync transactionsread
  • codat.expenses.list_syncsList sync statusesread
  • codat.expenses.save_company_configurationSet company configurationwrite
  • codat.expenses.update_expense_datasetUpdate expense-transactionswrite
Sync payables13
  • codat.sync_payables.create_bank_accountCreate bank accountwrite
  • codat.sync_payables.create_billCreate billwrite
  • codat.sync_payables.create_bill_paymentCreate bill paymentwrite
  • codat.sync_payables.create_supplierCreate supplierwrite
  • codat.sync_payables.delete_bill_attachmentDelete bill attachmentdestructive
  • codat.sync_payables.get_company_informationGet company informationread
  • codat.sync_payables.get_mapping_options_billsGet bill mapping optionsread
  • codat.sync_payables.get_mapping_options_paymentsGet payment mapping optionsread
  • codat.sync_payables.list_bill_attachmentsList bill attachmentsread
  • codat.sync_payables.list_billsList billsread
  • codat.sync_payables.list_suppliersList suppliersread
  • codat.sync_payables.update_billUpdate billwrite
  • codat.sync_payables.update_supplierUpdate supplierwrite
Banking8
  • codat.banking.get_accountGet accountread
  • codat.banking.get_transactionGet bank transactionread
  • codat.banking.get_transaction_categoryGet transaction categoryread
  • codat.banking.list_account_balancesList account balancesread
  • codat.banking.list_accountsList accountsread
  • codat.banking.list_bank_transactionsList banking transactionsread
  • codat.banking.list_transaction_categoriesList transaction categoriesread
  • codat.banking.list_transactionsList transactionsread
Sync expenses5
  • codat.sync_expenses.create_adjustment_transactionCreate adjustment transactionwrite
  • codat.sync_expenses.create_expense_transactionCreate expense transactionwrite
  • codat.sync_expenses.create_reimbursable_expense_transactionCreate reimbursable expense transactionwrite
  • codat.sync_expenses.create_transfer_transactionCreate transfer transactionwrite
  • codat.sync_expenses.update_reimbursable_expense_transactionUpdate reimbursable expense transactionwrite
Supplier enablement3
  • codat.supplier_enablement.generate_spend_analysis_reportGenerate spend analysis reportwrite
  • codat.supplier_enablement.get_report_creation_statusGet report generation statusread
  • codat.supplier_enablement.get_spend_analysis_reportGet spend analysis reportread
Intuit idx2
  • codat.intuit_idx.list_accountsList accountsread
  • codat.intuit_idx.list_transactionsList transactionsread
Spend insights2
  • codat.spend_insights.get_payment_method_analysisGet payment method analysisread
  • codat.spend_insights.get_supplier_analysisGet supplier analysisread
Assess1
  • codat.assess.get_accounting_marketing_metricsGet marketing metrics reportread

Questions

The Codat MCP server, answered.

Is there a Codat MCP server for Claude?

Yes. actionlake is an MCP gateway: a remote MCP server that gives Claude, or another MCP client, 309 Codat actions across accounting, platform, lending and commerce, through the same eight tools it uses for every other connector. actionlake is independent; it is not made or endorsed by Codat.

What do I need to connect Codat?

Codat API key (Codat Portal > Developers > API keys). The free call account { op: "connections.requirements", service: "codat" } lists exactly what to paste.

Can an AI agent delete or change things in Codat?

Only if its key allows it, and only with an explicit confirmation. 14 Codat actions are destructive, including delete invoice, delete a company and delete bill. Each runs only with confirm: true. Under the human confirm policy, or an approval rule on the key, the run waits until a named person approves it.

Will an AI agent use up my Codat API limit?

actionlake paces every call to the limits in the Codat service file: 1,000 calls an hour per connection. Repeated reads are answered from cache (203 Codat actions can be), which never reaches Codat.

What does a Codat action cost?

One upstream call, the only unit actionlake bills. A list that pages bills one call per page (309 Codat actions page). Cache hits, searches, dry runs and calls Codat refused with 401, 403, 429 or a 5xx are free. The Free plan includes 100,000 calls a month with no card. Paid plans start at US$49 a month for 250,000 calls, with overage from US$0.30 down to US$0.18 per 1,000.

Which Codat API does it cover?

The Codat API v3 (codatio/oas, 21 product specs) at api.codat.io. It is built from Codat's documentation as read on 23 October 2026. 309 actions in 14 areas, each one in the signed service file (version 1.0.0).

Can I combine Codat with my other systems?

Yes. ask joins Codat to ConnectWise PSA or HubSpot CRM on the same customer and returns the answer rather than every row. Codat maps crm.company, which 227 other connectors also map.

Does actionlake keep my Codat data, and where?

actionlake processes and stores data in Sydney, Australia; there is no US region yet. Reads may be cached for up to 5 minutes, and a write clears the reads it affects. Each run's request and response is kept, sealed, for your plan's trace window: 1 day on Free, 3 days on Starter, 7 days on Pro, 14 days on Team, 30 days on Business and 30 days on Enterprise. Your Codat credential is sealed under your tenant's key, never logged and never returned. Your traffic is not used to train models.

Which AI clients can use it?

Claude Code, tested by us end to end, and the Claude app as a custom connector, tested by us with an existing key. Other MCP clients that support remote servers over Streamable HTTP (MCP revisions 2025-06-18 and 2025-11-25) and OAuth dynamic client registration, or a bearer header, should connect the same way; we have not tested them. Or plain REST, under the same action names.

Give your agent Codat today.

Start free - 100,000 calls/month, no card. No signup. Hard caps on every key. Cached answers are free.