MCP server
Lucanto ships a built-in Model Context Protocol server, so AI agents can read and act on your workspace data — invoices and other documents, expenses, contacts, projects, bank transactions — with the same scopes as the REST API.
- Endpoint:
POST https://app.lucanto.eu/api/mcp/v1 - Transport: Streamable HTTP (stateless)
- Auth: OAuth 2.1 sign-in (Claude.ai), or
Authorization: Bearer lct_pat_.../Bearer lct_live_...
Claude.ai
Claude.ai (web, mobile and Cowork) signs you in instead of taking a token.
- In Claude, open Customize > Connectors (Team and Enterprise owners: Organization settings > Connectors) and choose Add custom connector.
- Enter
https://app.lucanto.eu/api/mcp/v1and click Connect. - Sign in to Lucanto and approve the requested access. What you grant is capped by your workspace role, exactly like a personal access token.
The connection appears in Lucanto under Settings > Personal API access, where you can revoke it; it expires after one year. OAuth tokens issued this way work only on the MCP endpoint, not on the REST API.
Claude Desktop
Add Lucanto to claude_desktop_config.json:
Restart Claude Desktop, then ask: “List my Lucanto workspaces” — the agent
will call lucanto_list_workspaces and go from there.
Tools & scopes
The tool catalog is filtered by your token’s scopes — a read:invoices
token never sees write tools. Tool execution and returned records are also
limited by the user’s current workspace role, so an employee sees only its
own records and a suspended membership cannot resolve the workspace. Each
tool carries behavior hints so clients prompt appropriately (e.g.
lucanto_delete_invoice is marked destructive, lucanto_send_invoice
reaches outside Lucanto). lucanto_send_invoice also follows the
workspace’s plan and trial send limits, the same ones the web app and the
REST API apply, and returns a subscription error with a reason when a
limit blocks the send.
Every list tool paginates with cursor / next_cursor (25 per page, 100
max).
Lifecycle actions for quotes, proformas and credit notes (issue, send, mark
paid, convert) are not exposed over MCP yet; use the REST API.
lucanto_get_invoice_pdf_url names the file .isdoc.pdf when the invoice
is served as an ISDOC.PDF.
Start with a narrowly-scoped token. Give an agent read:* to explore, and
only grant write/manage scopes once you trust the workflow.
