MCP server

Connect Claude, Cursor, or ChatGPT to your Lucanto workspace
View as Markdown

Lucanto ships a built-in Model Context Protocol server, so AI agents can read and act on your workspace data — list and create invoices, look up contacts, mark invoices paid, send them — using the same API key and scopes as the REST API.

  • Endpoint: POST https://app.lucanto.eu/api/mcp/v1
  • Transport: Streamable HTTP (stateless)
  • Auth: Authorization: Bearer lct_pat_... or Bearer lct_live_...

Claude Desktop

Add Lucanto to claude_desktop_config.json:

{
"mcpServers": {
"lucanto": {
"url": "https://app.lucanto.eu/api/mcp/v1",
"headers": {
"Authorization": "Bearer lct_pat_xxxxxxxxxxxx"
}
}
}
}

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.

Scope tierExample tools
readlucanto_list_workspaces, lucanto_list_invoices, lucanto_get_invoice, lucanto_list_contacts, lucanto_get_invoice_pdf_url
writelucanto_create_invoice, lucanto_update_invoice, lucanto_create_contact
managelucanto_issue_invoice, lucanto_mark_invoice_paid, lucanto_send_invoice, lucanto_delete_invoice

Start with a narrowly-scoped token. Give an agent read:* to explore, and only grant write/manage scopes once you trust the workflow.