Control over MCP

Every finance tool the Control.dev MCP server exposes

The Control.dev MCP server gives Claude, ChatGPT, Codex and other MCP clients 95 finance tools over the consolidated group: statements, cash flow, transactions, budgets and forecasts. MCP (Model Context Protocol) is the open standard AI clients use to connect to tools and data. A tool is a function your AI client calls, and it returns JSON the client reads. Every call runs with the signed-in user’s role, and a read-only session receives no write tools. Control.dev is a group consolidation and FP&A platform for multi-entity groups. EPM for the AI era. Built in the Nordics.

Tools
95
Read
68
Write
27
Copied from the server
One tool call

One call, the group P&L back as JSON

Your client asks for September and Control returns the consolidated statement with every subtotal, eliminations and currency translation already done. The client reads totals, it does not add up account codes.

Tool callExample Group · September 2026Illustrative data

Client calls

get_group_statement_actuals
{
  "statementType": "ProfitAndLoss",
  "periodStart": "2026-09-01",
  "asOf": "2026-09-30",
  "mode": "monthly"
}

One call, the signed-in user’s role, the group as consolidated in Control: eliminations and currency translation already done.

Control returns rowTotals, trimmed

"months": ["2026-09"],
"rowTotals": [
  { "name": "Revenue",         "rowType": "Group",   
    "values": [1400000] },
  { "name": "Cost of sales",   "rowType": "Group",   
    "values": [-560000] },
  { "name": "Gross profit",    "rowType": "Formula", 
    "values": [840000] },
  { "name": "Operating costs", "rowType": "Group",   
    "values": [-525000] },
  { "name": "EBITDA",          "rowType": "Formula", 
    "values": [315000] }
]
Example Group, illustrative data. Four entities on four ledgers, group currency EUR.The same five figures the statement page shows
The catalog

95 tools in 19 groups

The server’s own tool list, which your client receives after sign-in, and control_api_endpoint_catalog are the source of truth. This page is a copy of that list taken on 30 Oct 2026.

Workspace and discovery 5

What the workspace holds, whether a month is ready, and where the docs answer a question.

Workspace and discovery: 5 tools
ToolWhat it doesAccess
list_entitiesLists the entities in the workspace, for narrowing a statement or transaction search to named companies.Read
list_currenciesLists the currencies the workspace knows, by ISO code or name.Read
list_supported_integration_providersLists the accounting and billing systems a connection can be set up for from the client.Read
get_monthly_close_readinessChecks whether a month is closed in every source and fully processed, and names each blocker.Read
search_product_docsSearches the Control product docs and returns excerpts with their source links.Read

Group structure: accounts, dimensions, layouts 8

The group chart of accounts, its dimensions and the statement layouts every figure is read through.

Group structure: accounts, dimensions, layouts: 8 tools
ToolWhat it doesAccess
list_group_accountsLists the group chart of accounts used in statements, mappings and transaction filters.Read
list_group_dimensionsLists the group dimensions, such as cost centre or project, used for filtering and reporting.Read
list_group_dimension_itemsLists the items of a group dimension, for example each cost centre.Read
list_statement_layoutsLists statement layouts, defaults and custom variants, by statement type or name.Read
resolve_default_statement_layoutReturns the workspace’s default layout for each statement type.Read
search_statement_layout_treeFinds a layout row by name or code, with its composition and a link to it.Read
get_group_accounting_settingsReads the group’s accounting currency and its currency translation settings.Read

Statements and cash flow 6

The consolidated statements first, then any named entity, every subtotal as the statement page shows it.

Statements and cash flow: 6 tools
ToolWhat it doesAccess
get_group_statement_actualsReads the consolidated P&L, balance sheet, functional P&L or custom report for a period, with every subtotal.Read
get_entity_statement_actualsReads the same statements for one or more named entities.Read
compare_entities_statement_actualsPuts two or more named entities side by side on the same statement and period.Read
get_group_cash_flow_monthlyReads the consolidated cash flow by month across all active entities.Read
get_entity_cash_flow_monthlyReads monthly cash flow for one or more named entities.Read
compare_entities_cash_flow_monthlyCompares monthly cash flow across two or more named entities.Read

Close and eliminations 2

The intercompany side of the close, read as the review page in Control shows it.

Close and eliminations: 2 tools
ToolWhat it doesAccess
get_elimination_reviewReads the elimination review by entity and account, with the residuals left before translation differences.Read
get_saved_elimination_groupsReads linked elimination groups for a period: each member’s status and its balance sheet effect.Read

Transactions and counterparties 3

The entries behind every figure, grouped or row by row.

Transactions and counterparties: 3 tools
ToolWhat it doesAccess
get_group_transactions_browseSearches transactions across the group with filters, grouping and pivots, up to 5,000 rows a page.Read
get_entity_transactions_browseSearches the transactions of named entities with the same filters and paging.Read
get_top_counterpartiesRanks the largest customers or suppliers for a period in group currency, with growth.Read

Invoices across ledgers 6

Sales and purchase invoices from every connected system, in one common format, and the documents stored for them.

Invoices across ledgers: 6 tools
ToolWhat it doesAccess
get_uniform_invoice_monthly_summaryTotals sales or purchase invoices by month across connected systems.Read
get_uniform_invoice_aggregationRolls invoice lines up by period, customer, supplier, product, status or source system.Read
get_uniform_invoice_documentsLists invoices one row per document, with status, due date and open amount.Read
get_uniform_invoice_linesReads the lines of specific invoices for drill-down, page by page.Read
list_invoice_documentsLists the invoice image and attachments stored for one sales or purchase invoice, or one ledger receipt.Read
read_invoice_documentReads the text of an invoice document page by page, or a page without text as an image.Read

Stripe entries 3

Journal entries derived from Stripe, beside the ledgers.

Stripe entries: 3 tools
ToolWhat it doesAccess
get_stripe_journal_entry_monthly_summarySummarises Stripe-derived journal entries by month: revenue, fees, disputes, VAT and cash.Read
get_stripe_journal_entry_aggregationRolls Stripe journal entries up by period, event type, account role, customer or tax country.Read
get_stripe_journal_entry_linesReads Stripe journal entry lines for one invoice, customer, event or month.Read

Payroll 3

Payslip lines from synced Procountor payroll, for gross-to-net reports.

Payroll: 3 tools
ToolWhat it doesAccess
list_payroll_pay_datesLists one entity’s pay dates, with the number of payslips and employees on each.Read
get_payroll_linesReads one pay run’s payslip lines by employee and salary type.Read
list_payroll_salary_typesLists the Procountor salary type catalogue with categories and income register codes.Read

Connected HR and CRM data 9

HubSpot deals and HiBob people and salaries for revenue and headcount plans, once their connection under Budgets in Control has synced.

Connected HR and CRM data: 9 tools
ToolWhat it doesAccess
list_hubspot_pipeline_stagesLists the HubSpot deal pipelines and their stages, with each stage’s win probability and whether it is closed.Read
get_hubspot_deal_linesReads HubSpot deals, one row per deal, with amount, currency, close date, stage, weighted amount and owner.Read
get_hubspot_deal_aggregationRolls HubSpot deals up by close date: count, amount and weighted amount per month, quarter or year.Read
get_hubspot_line_item_linesReads the line items on HubSpot deals: product, quantity, price, billing terms, MRR, ARR and TCV.Read
list_hibob_departmentsLists the HiBob departments, with each one’s active headcount and total full-time equivalents.Read
get_hibob_employee_linesReads HiBob employees, one row per person: department, title, start date, status, FTE and contract.Read
get_hibob_salary_linesReads base salaries from HiBob: each employee’s current salary, or the history with each raise’s effective date.Read
list_connection_custom_fieldsLists the custom fields of a connected CRM or HR system, with any description your team saved.Read
describe_connection_custom_fieldSaves what a custom field of a connected CRM or HR system holds, in your team’s own words.Write

AI spend 1

What the group spends on AI software and services.

AI spend: 1 tool
ToolWhat it doesAccess
get_ai_spend_monthlyReads the group’s spend on AI software and services by month.Read

Statement comments 3

Questions and explanations left on statement cells, as the review panel in Control shows them.

Statement comments: 3 tools
ToolWhat it doesAccess
list_statement_commentsLists the comment threads on statement cells: the question, the value then, and the replies.Read
add_statement_commentLeaves a comment or a question on a statement cell, or replies in its thread.Write
resolve_statement_commentResolves or reopens a comment thread on a statement cell.Write

Budgets and forecasts 10

Plan values with the reason behind each one, their history and the documents attached to them.

Budgets and forecasts: 10 tools
ToolWhat it doesAccess
list_budgetsLists budgets and forecasts with their periods, layouts, currency and revision.Read
get_budget_plan_valuesReads monthly plan values with the explanation, author and channel behind each described cell.Read
set_budget_group_account_monthly_valuesSets monthly budget values, each with its reason. On unified budgets a value without one is rejected.Write
describe_budget_cellsWrites or corrects the explanation on existing budget values without changing any amount.Write
get_budget_change_historyReads every committed budget change, newest first, with before and after values and the reason given.Read
export_budget_as_import_fileExports a budget as an import file, the starting point for a new version.Write
upload_budget_attachmentAttaches a supporting document, such as a hiring plan, to a budget.Write
list_budget_attachmentsLists the documents attached to a budget.Read
read_budget_attachmentReads the text of a budget attachment, page by page.Read
send_budget_agent_promptSends a request to the Budget Assistant inside Control.Write

File imports 7

Files go from the client’s own code environment straight to api.control.dev, then are checked before anything is saved.

File imports: 7 tools
ToolWhat it doesAccess
describe_bulk_file_import_formatReturns the columns and rules for importing a chart of accounts, a layout, transactions or a budget.Read
prepare_file_uploadPrepares an upload the client sends straight to api.control.dev, outside the MCP connection.Write
preview_file_uploadParses an uploaded file without importing it, up to 100 rows at a time.Read
validate_bulk_file_importChecks every row and reference in an import file without saving anything.Read
submit_bulk_file_importImports a validated file. A budget import adds and replaces values, never deletes them.Write
submit_transaction_file_uploadImports a previewed file as manual transactions for one entity.Write
get_file_upload_statusReports the status and row counts of an upload or import.Read

Manual transactions 6

Entries the team adds in Control, such as accruals. Only manual transactions can be changed or deleted here.

Manual transactions: 6 tools
ToolWhat it doesAccess
create_manual_transactionAdds one manual transaction to an entity in Control.Write
create_manual_transactionsAdds up to 100 manual transactions in one call, with a result for each row.Write
update_manual_transactionChanges the fields of one manual transaction.Write
update_manual_transactionsChanges several manual transactions in one call.Write
delete_manual_transactionDeletes one manual transaction.Write
delete_manual_transactionsDeletes several manual transactions in one call.Write

Dashboards 4

A change to a dashboard is a private draft you apply or discard in Control.

Dashboards: 4 tools
ToolWhat it doesAccess
list_dashboardsLists the workspace’s dashboards and their widgets.Read
get_dashboard_widget_capabilitiesReturns the widget types, data sources and layout rules a dashboard draft can use.Read
draft_dashboard_changesCreates a private dashboard draft you apply or discard in Control.Write
get_dashboard_draftReads a dashboard draft.Read

Excel and Google Sheets 13

Connectors and sync jobs that keep a workbook or a sheet filled from Control.

Excel and Google Sheets: 13 tools
ToolWhat it doesAccess
create_excel_connectorCreates an Excel connector from a workbook link.Write
create_google_sheets_connectorCreates a Google Sheets connector from a sheet link.Write
get_excel_oauth_statusChecks the user’s Microsoft connection used by Excel connectors.Read
initiate_excel_oauthStarts the Microsoft sign-in for Excel connector access.Write
grant_excel_workbook_accessGrants Control’s app access to an Excel workbook so syncs can write to it.Write
validate_excel_accessChecks access to an Excel workbook link.Read
validate_google_sheet_accessChecks access to a Google Sheet before a connector is created.Read
get_google_sheets_access_instructionsReturns the service account and the steps for sharing a Google Sheet.Read
describe_spreadsheet_connector_dataDescribes what a spreadsheet connector syncs: tabs, columns, row counts and samples.Read
create_spreadsheet_jobStarts a one-time sync from a Control API source to a sheet or workbook.Write
get_spreadsheet_jobReads a sync job’s status and progress.Read
stream_spreadsheet_jobFollows a sync job until it finishes.Read
control_api_to_spreadsheetFetches Control API data and writes it to Google Sheets or Excel.Write

Integration setup 2

A new ledger connection started from the client. Credentials go into Control, never into the chat.

Integration setup: 2 tools
ToolWhat it doesAccess
create_integration_setupStarts a setup session for a ledger connection and returns nothing secret.Write
get_integration_setup_statusReports the status of a setup session.Read

Control API 3

The same operations the Control app uses, for what the named tools do not cover.

Control API: 3 tools
ToolWhat it doesAccess
control_api_endpoint_catalogSearches the catalog of Control API endpoints the client may call, read and write.Read
control_api_getCalls an allowed read-only Control API endpoint.Read
control_api_requestCalls the operations the Control app uses, except billing, invitations, admin, credentials and file uploads.Write

Approved draft journal 1

Netvisor and Procountor only.

Approved draft journal: 1 tool
ToolWhat it doesAccess
propose_native_journal_writeProposes a draft journal in Netvisor or Procountor for an Owner or Admin to approve.Write

In a write session the server lists 102 tools: the 95 above and seven operational ones, left out of the tables on purpose. Four record the delivery of a monthly report: claim_monthly_report_run, begin_monthly_report_delivery, complete_monthly_report_run and fail_monthly_report_run. Of the other three, list_available_tenants lists the workspaces you belong to, get_agent_workspace_guide reads a workspace guide your administrators keep, and skip_integration_setup marks an integration setup as skipped.

For engineers

How the server works

The access model in seven lines, from the product docs. Your role in Control is the limit; the session decides whether write tools exist at all.

Access and permissions
Endpoint
One remote MCP server per workspace: https://api.control.dev/api/mcp?tenant=<workspace id>. Copy it from Data outputs, then MCP Server, in Control. The tenant parameter pins the workspace, and Control rejects it if you are not a member.
Sign-in
OAuth through Control’s identity provider, with refresh tokens. The scopes profile, email and offline_access identify the user and keep the connection alive. They grant no tools and no data.
Client registration
A pre-registered OAuth client. Copy the client ID from the MCP Server page; if it shows none yet, ask us, since registering your client is part of setup. Dynamic client registration is off by default.
Read or write
Chosen per session. Send Mcp-Requested-Access: read on every request for a read-only session; without it, an eligible user gets write access. Reconnect after changing it.
Roles
Workspace membership, the user’s role and the workspace’s features apply to every call, and the server checks the access level again when a tool runs. Your AI asks before it writes.
What comes back
JSON. Statements by layout with every subtotal the statement page shows; transactions with filters, grouping and pivots, up to 5,000 rows a page with an offset; links that open the same view in Control.
Files
Imports go from the client’s own code environment straight to api.control.dev, not through MCP. In Claude, an Owner adds api.control.dev to the allowed domains under Code execution.

Set up a client: Claude, ChatGPT, Codex, or any MCP client that supports remote servers and OAuth sign-in. Reusable instructions for the recurring jobs are on Finance skills, the hub is Control over MCP, and roles, hosting and certification are on Security.

Questions

What engineers ask about the tools

Ask us about your workload
Which tools does a read-only session get?

The tools marked Read. A read-only session does not receive write tools, and the server checks the access level again when a tool runs. Refresh the tool list after you connect to see exactly what your session has.

Can a client delete data?

The delete tools remove manual transactions only, the entries your team adds in Control. In a write session, control_api_request reaches the operations the Control app offers your role, deletes included. Nothing in your accounting systems is deleted, and a budget import adds and replaces values without deleting any.

What does control_api_request reach?

The operations the Control app itself uses, except billing, invitations, admin, credential and OAuth endpoints and file uploads. control_api_endpoint_catalog lists them, control_api_get calls the read-only ones, and the same role checks apply.

How often does the list change?

Tools are added as Control grows, and the product docs say to refresh the tool list after Control adds or changes tools. This page is a copy dated 30 Oct 2026; the list your client receives is the current one. A published ChatGPT Business app is recreated and republished to show changed tools.

Can I see each tool’s input schema?

Yes. Your client receives every tool’s description and input schema with the tool list after sign-in, and most clients show them. The product docs describe the server and the access model.

Can we get the data as files?

Yes. A client can write a workbook or a chart in its own environment from these tools. The spreadsheet tools set up and run managed Excel and Google Sheets outputs, which, like Parquet exports, are Enterprise features.

Why does my client not show a tool?

The session may be read-only, your role may not allow it, or the workspace feature may be off. Refresh the tool list or reconnect, then check your role in Control.

What does it cost?

There is no separate MCP fee or per-tool price: every tool your role allows comes with every plan. The pricing page lists the self-serve plans, a group with more than the five ledgers the Enterprise plan includes gets a quote, and the 30-day trial needs no card.

From trial to connected

Start the trial, connect your first ledger and add Control to the client you already use. Or book a demo and we connect a client to a sample group in the call.

  • 1. Start the 30-day trial. No card needed.
  • 2. Connect your first ledger. Yourself, or with us on a call.
  • 3. Add Control to your client. The server URL and the client ID are on the MCP Server page.
  • 4. Ask one question. One you already know the answer to.

MCP access is in every plan. Self-serve plans are on the pricing page; groups with more than the five ledgers the Enterprise plan includes get a quote.