Fakturoid

Official MCP server for Fakturoid — Czech invoicing for freelancers and small businesses.

Community: Submitted by a user or imported; check the owner before granting accessDegradedNo sign-inGlobalFreeCan modify data

What it can do

  • Accounts: Manage user accounts. Use action=index first to discover available account slugs, then action=show for full details.
  • Subjects: Manage contacts (subjects). Use action=index to list, action=show for details, action=create to add new contact, action=search for fulltext search.
  • Invoices: Manage invoices. Use action=index to list (with optional filters), action=show for full details, action=create to issue new invoice, action=search for fulltext search, action=pay to record a

What data it sees

Do you need an account

No: the server works without sign-in

Official MCP server for Fakturoid — Czech invoicing for freelancers and small businesses. Issue invoices, check overdue receivables, manage contacts, expenses and bank accounts directly from your AI assistant.

Fakturoid is a Czech invoicing platform (since 2009, 500k+ invoices/month). Its MCP server lets AI assistants work with your invoices, expenses, contacts, bank accounts and document inbox (Krabice) — create an invoice, check what's overdue, add a contact, or upload a receipt, all in natural language without logging into the app.

How to connect

How to connect Fakturoid to Claude

The server address to paste into Claude settings:

https://fakturoid--fakturoid.run.tools

  1. Open Claude (claude.ai or the desktop app).
  2. Go to Settings → Connectors.
  3. Click Add custom connector.
  4. Paste the server address copied below into Remote MCP server URL and click Add.
  5. In a chat, click + → Connectors and switch the new connector on.

Custom connectors are available on Free, Pro, Max, Team and Enterprise plans (Free is limited to one). On Team and Enterprise an organization Owner adds the connector first under Organization settings → Connectors.

Authorization

After you click Add, a sign-in window for the service opens. Sign in with your own account and approve access. Claude never sees your password.

How to connect Fakturoid to ChatGPT

The server address to paste into ChatGPT settings:

https://fakturoid--fakturoid.run.tools

  1. Open ChatGPT in a browser (chatgpt.com). A Plus, Pro, Business, Enterprise or Edu plan is required.
  2. Turn on developer mode once: Settings → Apps → Advanced settings → Developer mode.
  3. Open Settings → Connectors and click Create.
  4. Fill in the form: Name (anything), Description (one line about what the service does), MCP server URL (copy it below).
  5. Under Authentication choose OAuth if the service requires sign-in, otherwise None. Click Create.
  6. In a new chat open + → Apps/Connectors and enable the connector.

OpenAI has renamed this section before (Connectors → Apps/Plugins). If the label differs, search settings for "developer mode". On Business/Enterprise workspaces an admin must allow custom connectors first.

Authorization

On first use ChatGPT opens the service's sign-in window. Sign in and approve access.

How to connect Fakturoid to Cursor

The server address to paste into Cursor settings:

https://fakturoid--fakturoid.run.tools

Fastest: click Open in Cursor below and confirm the prompt.

Manually:

  1. In Cursor open Settings → Cursor Settings → MCP and click Add new global MCP server.
  2. Paste the JSON copied below into ~/.cursor/mcp.json (per project: .cursor/mcp.json in the repo root).
  3. Save the file. The server appears in the MCP list; authorize it there if asked.

Authorization

If the service needs sign-in, an authorize button appears next to the server in the MCP list.

Server tool list (7)

Raw names from tools/list. Only developers need these.

accountsManage user accounts. Use action=index first to discover available account slugs, then action=show for full details.
subjectsManage contacts (subjects). Use action=index to list, action=show for details, action=create to add new contact, action=search for fulltext search.
invoicesManage invoices. Use action=index to list (with optional filters), action=show for full details, action=create to issue new invoice, action=search for fulltext search, action=pay to record a payment on a regular invoice or proforma (proforma_followup_document controls what is created when proforma is paid). Create a subject first using subjects tool. For revenue sums, filter by document_type (invoice, proforma, correction, tax_document) — these categories are disjoint and safe to sum separately; summing across them double-counts. Use issued_from/issued_to for historical analysis by issue date (works for retroactively dated documents); since filters by created_at, not issued_on. Use order=asc for chronological walks. To check whether an invoice is paid, use status (paid/open/overdue/cancelled/uncollectible) and paid_on — not remaining_amount. The remaining_amount field tracks how much of the invoice is NOT covered by a linked proforma/advance (equals total for regular invoices, regardless of payments), not the outstanding balance.
expensesManage expenses. Use action=index to list (with optional filters), action=show for full details, action=create to record a new expense, action=search for fulltext search, action=add_attachment to attach a file to an existing expense (returns upload instructions for curl), action=mark_as_paid to mark expense as paid (creates payment for remaining amount). Create a subject first using subjects tool.
bank_accountsList bank accounts for an account. Use before creating invoices to check available accounts and their IDs.
inbox_filesManage inbox files (Krabice). Use action=index to list uploaded files, action=create to upload a file (returns upload instructions for curl), action=send_to_ocr to send a file for document extraction.
reportsAggregate financial reports. Use action=yearly to get income/expense/profit totals broken down by month, quarter, or year. For period=month or quarter, totals equal the sum of lines for the requested year. For period=year, response contains 4 lines (current year and 3 previous years) for trend context, while totals reflect only the requested year. Choose date_column based on what you want to measure: issued_on for revenue analysis (what was billed), taxable_fulfillment_due for VAT periods (what is reportable for VAT returns), paid_on for cash actually received/spent on documents, cashflow for bank-account cashflow including payments without documents (always with VAT). When the response contains payment_summary (date_column=cashflow or paid_on with period=year), always display its adjustment (payment adjustment) and rate_difference (exchange rate difference) alongside the totals table — they show the gap between document amounts and actual payments.