Prerequisites
- A Dolfin API key
- An organisation ID to scope tool calls to (see Client Integration)
- An MCP-capable client — Claude Desktop, Cursor, Claude Code, VS Code, Windsurf, etc.
The MCP server is a single streamable HTTP endpoint authenticated with the same
x-dolfin-api-key header used elsewhere in the API. The organisation is encoded in the URL path, so you do not send x-dolfin-organisation-id separately.The endpoint
That’s the entire contract. Every client below is just a different way of expressing those two values in a config file.
Configure your client
- Cursor
- Claude Desktop
- Claude Code
- VS Code
- Windsurf
Cursor reads MCP servers from Restart Cursor. Open Settings → MCP and confirm
~/.cursor/mcp.json (global) or .cursor/mcp.json inside a project. Create the file if it doesn’t exist:dolfin appears with a green dot.Verify it works
Once your client reconnects, ask the assistant something like:List the last 5 invoices and tell me which are overdue.The assistant will call the
list_invoices tool against your organisation and summarise the result. If you instead see an authentication or 404 error, check:
- The organisation ID in the URL is a valid UUID for an organisation under your client.
- The API key is correct and not revoked.
- Your client is sending the header — some clients silently drop unknown header keys.
What the agent can do
The MCP server exposes the same tool surface as the Dolfin AR/AP agents:- Customers, products, invoices — create, list, search, send, mark paid
- Suppliers, bills, payments — create from staged uploads, approve, schedule, confirm paid
- Organisations & tax rates — read and update org settings, manage tax rates
- Payment accounts — check status and enable for an organisation
approve_bill, schedule_payment, send_invoice) prompt the assistant to confirm with you before running. Read tools (list_*, get_*, search_*) are cheap and the assistant will lean on them before making changes.
Authentication reference
Header conventions, key rotation, and bearer-token alternatives.