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:

1{
2 "mcpServers": {
3 "lucanto": {
4 "url": "https://app.lucanto.eu/api/mcp/v1",
5 "headers": {
6 "Authorization": "Bearer lct_pat_xxxxxxxxxxxx"
7 }
8 }
9 }
10}

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).

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.