Control over MCP

Codex on the whole group

Add the Control.dev MCP server to Codex and work on every entity’s ledger, already consolidated, from the terminal or the IDE: statements by layout, transactions with the entries behind each figure, budgets and the Control API. It signs in with your own Control login, and your role applies.

Control.dev is a group consolidation and FP&A platform for multi-entity groups. EPM for the AI era. Built in the Nordics. MCP (Model Context Protocol) is the open standard AI clients use to connect to tools and data. Works in the Codex CLI and Codex in the IDE.

Updated Also for Claude and ChatGPT

Codex · connected to ControlExample Group · four entities on Netvisor, Procountor, QuickBooks, XeroIllustrative data
You

Pivot September R&D costs by cost centre and entity, then open the largest cell to its suppliers.

  1. Pivoted R&D by cost centre and entityget_group_transactions_browse
  2. Opened one cell to its accounts and suppliersget_entity_transactions_browse
Codex
Example Group, R&D costs by cost centre and entity, September 2026, EUR thousands
Cost centreFinlandServicesUSUKTotal
Hardware engineering−65·−25·−90
Software−45·−20−5−70
Test lab·−20·−15−35
R&D−110−20−45−20−195

Hardware engineering in Finland Oy: components and materials €38k, €24k of it Example Components AB in 12 entries.

Example Group, illustrative data, EUR thousands. Every figure opens to its entries in Control.

Connect Codex

Two commands, one sign-in Then ask what you know

Copy the server URL and the client ID from Data outputs, then MCP Server, in Control. If the page shows no client ID yet, ask us: registering your client is part of setup.

Codex CLITerminal
2 commands
codex mcp add control-mcp \
  --url '<workspace-server-url>' \
  --oauth-client-id '<client-id>'
codex mcp login control-mcp
  1. Before you sign in, the exact callback URL that codex mcp add prints is registered for that client ID. Never guess the address.
  2. Run codex mcp login control-mcp and complete the Control sign-in in your browser, then start a new Codex session and run /mcp to check the connection.
Read-only, in ~/.codex/config.tomlConfiguration
config.toml
[mcp_servers.control-mcp]
url = "<workspace-server-url>"
http_headers = { "Mcp-Requested-Access" = "read" }
  1. Reconnect, refresh the tool list and check that no write tools remain.

Keep the URL and OAuth settings of the existing entry; add only the header.

Which ledgers: Netvisor, Procountor, Fortnox, NetSuite, Xero, QuickBooks and 8 more, each read by Control and consolidated before Codex asks. See all 14 ledger pages.

Taito.ai · The team can also query its financial data through the MCP integration, bringing the same structured numbers into the AI tools it already uses.

  • 01Your own loginCodex signs in as you and sees only what your role in Control allows.
  • 02Writes within your roleYour AI asks before it writes.
  • 03Your provider, your decisionOpenAI processes what Codex reads, under your agreement with OpenAI. Control’s own AI processes data in the EU.
Use cases

What Codex does on Control today

Codex works with files in its own environment, so the jobs that start from a workbook or an export fit it best. Each job below is in the product docs with its prompt and checks.

  • A budget workbook, imported

    Codex checks the workbook against the group accounts without writing, shows what does not map, and imports the rest with the source row noted on every value. The workbook stays attached to the budget.

    Budget import guide
  • A ledger with no API, loaded

    Codex reads a DATEV account-ledger export, asks about the rows that need a decision, loads every posting with its booking text and document number, and ties the result out against the export.

    DATEV upload guide
  • An Excel model from the ledger

    Codex builds an editable workbook in its own environment: source sheets from Control’s statements, budgets and cash flow, formulas for every derived value, and reconciliation checks.

    Excel model skill
Reads and writes

What Codex can read and change

Codex reads the consolidated statements and cash flow, budgets, comments and transactions in pages of up to 5,000 rows. In a write session it can import files, save budget values and manual transactions, and call the Control API tools, as your role allows.

Your role in Control sets the ceiling, a read-only session gets no write tools, and a locked version refuses every write. Every client gets the same tools: the full read and write list.

For builders

Build on it

For the engineer and the finance-ops builder: what the server gives a script or an agent, in the server’s own terms.

  • Transactions in pages

    get_group_transactions_browse and get_entity_transactions_browse take limit from 1 to 5000 and offset, with filters, groupBy and a pivot mode. Statements come back as JSON by layout, with every subtotal row.

    Every Control MCP tool
  • The Control API

    control_api_endpoint_catalog lists the allowlisted endpoints, control_api_get reads them, and control_api_request calls the same operations the Control app uses, excluding billing, invitations, admin, credential and file-upload endpoints. The tool tells Codex to confirm with you before a write call; your role and the lock decide what goes through.

    Access and permissions
  • File imports

    Codex uploads a transaction or budget file straight to api.control.dev from its own environment, not through MCP: prepare_file_upload, then validate_bulk_file_import, then submit_bulk_file_import once you confirm the validation result.

    Allow file uploads

Already wired your own agents to a ledger? Keep them, and give them a consolidated group to read: Control.dev vs building it yourself compares the two row by row.

First questions

Three prompts to start with

  1. 01Show consolidated revenue by month for January through June 2026.
  2. 02Why did personnel costs change between May and June? Show the supporting transactions.
  3. 03Compare operating profit for Finland Oy and US Inc.

Name a company and Codex picks the entity tools; otherwise it answers for the whole group. On Stripe or Odoo? Stripe MCP and Odoo MCP show what Codex gets from each system alone and what the group adds.

Skills

Save the recurring jobs

Save the instructions for a recurring job in your project instructions: which Control tools to call and what to check before answering. They grant no access of their own. Three to start with:

All thirteen with the tools each calls: Finance skills. Every finance tool the server exposes: MCP tools. The other clients and the ledger pages: MCP. Copyable instructions: skills in the product docs.

Questions

What engineers ask before they connect Codex

Ask us about connecting Codex
Does Codex need a client ID?

Yes. Production connections use a pre-registered OAuth client: pass it with --oauth-client-id, and have the callback URL that codex mcp add prints registered before you sign in.

How do I make it read-only?

Add http_headers = { "Mcp-Requested-Access" = "read" } to the [mcp_servers.control-mcp] entry in ~/.codex/config.toml, reconnect and refresh the tool list. A read-only session receives no write tools.

Why does sign-in fail with an authorized-party error?

Codex tried to sign in without the registered client. Add the client ID from Data outputs, then MCP Server, to the connection and sign in again. If that page shows no client ID, registering one is part of setup: ask us.

Can I script imports?

Yes: prepare_file_upload, then validate_bulk_file_import, then submit_bulk_file_import after you confirm the validation result. The file goes straight to api.control.dev, and a locked budget refuses the import.

What does the server return?

JSON. Statements come by layout with every subtotal and formula row, and transaction browsing pages with limit up to 5000 and offset. The tool list (tools/list) is the source of truth for what your session can call; the tool catalog lists them by group.

Where is the data processed?

OpenAI processes what Codex reads under your agreement with OpenAI, and Control’s own AI processes data in the EU (security at Control.dev).

What does it cost?

There is no separate MCP fee: MCP access, budgets and forecasts come 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.

Connect Codex to your group

Start the trial and connect one ledger, or book 30 minutes and we connect Codex to a four-ledger sample group with you.

  • 1. Start the 30-day trial No credit card.
  • 2. Connect your first ledger Yourself, or with us on a call.
  • 3. Add Control to Codex The server URL and the client ID from Data outputs, then MCP Server.
  • 4. Ask what you already know One company, one month, one figure. Check it in Control.

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.