iDoklad

io.github.honzsik由 GitHub 帳號 honzsik 發布v0.4.0更新於 Nov 11, 2026

Unofficial iDoklad invoicing: read and create invoices, proformas, credit notes and contacts.

發布方自己的服務:Doklad.ai

已驗證STDIO僅桌面金融商業與電商

概覽

AI 產生的概覽

非官方 iDoklad 伺服器,讓助理讀取、建立並以電子郵件寄送捷克/斯洛伐克發票、預開發票、貸項通知單與聯絡人。

可以做什麼
  • 列出並檢視已開發票、預開發票、貸項通知單與收到發票,並儲存其 PDF
  • 建立發票、預開發票、由預開發票產生正式發票及貸項通知單,並標記單據為已付款或未付款
  • 透過 iDoklad 範本寄送發票郵件、催款提醒與付款確認
  • 檢視營運統計、主要合作夥伴及個別客戶的付款情形
  • 搜尋聯絡人與價目表項目,並建立聯絡人
  • 查詢代碼表、檢索內建 API 文件,或直接呼叫任一 iDoklad 端點
適用情境
適合在 iDoklad 記帳、希望助理直接回答逾期或未付款發票、收入與營業稅問題,或在對話中草擬並寄送發票與催款提醒的情境。
執行需求
透過 npx 或 Claude Desktop 擴充功能在本機執行;需要 Node.js 22 以上版本,以及含 API 存取權的 iDoklad 方案(Oblíbený 或 Prémiový)。需要 iDoklad 設定 → API 中的 IDOKLAD_CLIENT_ID 與 IDOKLAD_CLIENT_SECRET,以及開發者入口中 ClientCredentials 應用程式的 IDOKLAD_APPLICATION_ID。可選 IDOKLAD_DOWNLOAD_DIR 與 IDOKLAD_READ_ONLY。
安裝前請注意
此伺服器為非官方專案且仍在早期開發階段,工具可能變動。它需要保存 IDOKLAD_CLIENT_SECRET,應視同密碼,切勿提交到版本庫或貼進對話中。預設為唯讀;將 IDOKLAD_READ_ONLY 設為 false 會啟用建立單據、登記付款與寄送郵件給客戶的工具。從 iDoklad 讀取的發票與聯絡人資料會傳給所用的 AI 模型。寫入操作建議使用測試公司。

安裝

在 SourceWeft 中

  1. 開啟 儀表板中的 iDoklad,將其新增到工作區。
  2. 為需要使用其工具的對話啟用該服務。

Desktop only,透過 STDIO。 STDIO 服務會啟動本機處理程序,因此需要 SourceWeft 桌面主機。

其他 MCP 客戶端

參照 儲存庫 中的啟動說明。

README

idoklad-mcp

[CI] [License: MIT]

An unofficial MCP server for iDoklad, the Czech and Slovak online invoicing service. It lets Claude, Codex, Cursor and other AI assistants read and create invoices in your iDoklad account.

[!NOTE] This project is not affiliated with or endorsed by iDoklad or Seyfor, a. s. 🇨🇿 Návod v češtině

[!WARNING] Early development (v0.4). Tools and their inputs may still change. See the roadmap.

What you can ask

  • "Which invoices are overdue?"
  • "How much has ACME paid us this year?"
  • "Download the PDF of the last invoice for Globex."
  • "Which received invoices haven't we paid yet?"
  • "Kdo mi dluží nejvíc?" / "Jak se mi letos daří oproti loňsku?"
  • "Kolik mi zbývá do povinné registrace k DPH?"
  • "Create an invoice for ACME s.r.o.: 10 hours of consulting at 1,500 CZK, due in 14 days." (needs write mode)
  • "Invoice Globex like last month, but for 42 hours." (copies currency, VAT and language from the previous invoice)
  • "Mark invoice 20260018 as paid today."
  • "Send payment reminders for all overdue invoices."
  • "Issue a credit note for invoice 20260015, the client returned 2 of the 10 licences."

Requirements

  • An iDoklad plan that includes API access: Oblíbený (Popular) or Prémiový (Premium). The Free and Basic plans have no API.
  • Node.js 22 or newer.
  • An MCP client: Claude Desktop, Claude Code, Codex, Cursor, VS Code or similar.

Setup

1. Get your credentials

You need three values. They take about five minutes to get.

Client ID and Client Secret, from iDoklad:

  1. Sign in to app.idoklad.cz.
  2. Go to Nastavení (Settings) → API.
  3. Copy the Client ID and Client Secret.

These belong to one company (agenda) and one user.

Application ID, from the iDoklad developer portal:

  1. Create an account at developer.idoklad.cz.
  2. Under Nová aplikace, enter any name and set Flow to ClientCredentials. Then click Uložit.
  3. Copy the new app's Client Id from the list. That value is your Application ID.

[!IMPORTANT] The app must use the ClientCredentials flow. With an AuthorizationCode app, iDoklad rejects the login with Invalid parameter application_id.

2. Add the server to your AI client

Replace the ... placeholders with your three values.

Claude Code
bash
claude mcp add idoklad \  -e IDOKLAD_CLIENT_ID=... \  -e IDOKLAD_CLIENT_SECRET=... \  -e IDOKLAD_APPLICATION_ID=... \  -- npx -y idoklad-mcp
Claude Desktop (one-click install)
  1. Download the latest idoklad-mcp-<version>.mcpb from Releases.
  2. Double-click the file, or drag it into Claude Desktop → Settings → Extensions.
  3. Click Install, then fill in your Client ID, Client Secret and Application ID.

The extension is read-only by default. You can switch that off in its settings.

Claude Desktop (manual config)

Open Settings → Developer → Edit Config and add:

json
{  "mcpServers": {    "idoklad": {      "command": "npx",      "args": ["-y", "idoklad-mcp"],      "env": {        "IDOKLAD_CLIENT_ID": "...",        "IDOKLAD_CLIENT_SECRET": "...",        "IDOKLAD_APPLICATION_ID": "..."      }    }  }}

Restart Claude Desktop afterwards.

Codex

Add to ~/.codex/config.toml:

toml
[mcp_servers.idoklad]command = "npx"args = ["-y", "idoklad-mcp"]
[mcp_servers.idoklad.env]IDOKLAD_CLIENT_ID = "..."IDOKLAD_CLIENT_SECRET = "..."IDOKLAD_APPLICATION_ID = "..."
Cursor, VS Code and other clients

Use the same command, args and env values as in the Claude Desktop example, in your client's MCP settings.

3. Try it

Ask your assistant "Which of my iDoklad invoices are unpaid?"

Configuration

VariableRequiredDefaultDescription
IDOKLAD_CLIENT_IDyesFrom iDoklad → Settings → API
IDOKLAD_CLIENT_SECRETyesFrom iDoklad → Settings → API
IDOKLAD_APPLICATION_IDyesThe Client Id of your ClientCredentials app on developer.idoklad.cz
IDOKLAD_READ_ONLYnotrueSet to false to enable tools that create or change data
IDOKLAD_DOWNLOAD_DIRno~/DownloadsFolder where downloaded PDFs are saved

To use several companies, add the server once per company under different names (for example idoklad-firma-a and idoklad-firma-b), each with that company's credentials.

Read-only by default

Out of the box, the server can only read your data. To let the assistant create or change documents, set:

IDOKLAD_READ_ONLY=false

Write tools are marked as such, so clients can ask you to confirm before running them.

Tools

Documents: issued invoices, proforma invoices, credit notes, received invoices.

ToolModeWhat it does
list_issued_invoicesreadList issued invoices (vydané faktury), newest first. Filter by unpaid, paid, partly paid or overdue, customer, issue date or number.
list_proforma_invoicesreadSame for proforma invoices (zálohové faktury).
list_credit_notesreadSame for credit notes (dobropisy).
list_received_invoicesreadSame for received invoices (přijaté faktury), filtered by supplier.
get_issued_invoice, get_proforma_invoice, get_credit_note, get_received_invoicereadFull detail of one document: items, partner and totals.
get_document_pdfreadSave a document's PDF to your Downloads folder, optionally in another language or with payments.
create_issued_invoicewriteCreate an invoice from your default settings, or copy a previous invoice's settings. Supports currency (exchange rate filled in automatically), language, VAT rate and due date.
create_proforma_invoicewriteSame for proforma invoices (zálohové faktury).
create_invoice_from_proformawriteCreate the final invoice from a paid proforma (vyúčtování zálohy).
create_credit_notewriteCredit a whole invoice or selected items, with a reason. It can also settle the credit note against the invoice.
mark_document_paidwriteRecord full payment of an invoice, proforma or received invoice.
mark_document_unpaidwriteRemove payments, so the document is unpaid again.
send_document_emailwriteEmail an invoice, proforma or credit note through iDoklad, using your iDoklad email template.
send_payment_reminderwriteEmail an overdue payment reminder (upomínka) using your iDoklad reminder template.
send_payment_confirmationwriteEmail a customer a confirmation that their payment arrived.

Business overview

ToolModeWhat it does
get_business_statsreadIncome and costs by month, quarter or year, this year against last year, overdue amounts by age, VAT for the period, progress toward the VAT registration limit, and document counts.
get_top_partnersreadBiggest customers, or biggest debtors.
get_contact_statsreadHow a customer pays: invoices, paid, unpaid and late.

Contacts and price list

ToolModeWhat it does
list_contactsreadSearch contacts by name, IČO, DIČ or email.
get_contactreadFull detail of one contact.
create_contactwriteCreate a customer or supplier.
list_price_list_itemsreadSearch the price list (ceník) by name or code.

Everything else

ToolModeWhat it does
get_codebookreadCurrencies, countries, VAT rates, payment options, your bank accounts, numeric sequences and other lists.
search_api_docsreadSearch the full iDoklad API reference, which is bundled with the server.
idoklad_api_requestread / writeCall any iDoklad endpoint directly, e.g. bank statements, recurring invoices or stock. In read-only mode it only allows GET.

Privacy and security

  • The server runs on your computer. Your credentials stay in your local client configuration and are only sent to iDoklad.
  • Data the assistant reads from iDoklad, such as invoices and contacts, is passed to the AI model you use, just like anything else you share in the chat.
  • Treat your Client Secret like a password. Never commit it or paste it into a chat. To revoke it, delete it in iDoklad → Settings → API.

Troubleshooting

MessageFix
Missing environment variables: …One of the three credentials is not set in your client configuration.
Invalid parameter application_idYour developer portal app doesn't use the ClientCredentials flow, or you copied the wrong value. Use the app's Client Id.
iDoklad login failed (HTTP 400)Check the Client ID and Secret in iDoklad → Settings → API. They may have been regenerated.
HTTP 402Your iDoklad plan doesn't include the API, or your subscription has expired.
HTTP 429You've hit iDoklad's rate limit: 200 requests per minute, and a monthly quota that depends on your plan. The server retries on its own; wait and try again.

Roadmap

  • Issued invoices: list, detail, create
  • Currency for new invoices, and copying a previous invoice
  • Proforma invoices, credit notes, received invoices
  • Contacts and price list items
  • Payments (mark as paid or unpaid)
  • PDF download and sending documents by email
  • Generic tools: call any iDoklad endpoint, search the API docs
  • Create proforma invoices and credit notes, and invoices from paid proformas
  • Business overview: revenue, debtors, VAT, VAT registration limit
  • Payment reminders and payment confirmations
  • Partial payments
  • Supplier invoices from a PDF (iDoklad inbox)
  • Bank matching, editing and deleting documents, recurring invoices
  • One-click install for Claude Desktop, and a listing in the MCP Registry
  • Hosted version with iDoklad login (OAuth) for claude.ai and ChatGPT

Ideas and requests are welcome in issues.

Development

bash
git clone https://github.com/honzsik/idoklad-mcp.gitcd idoklad-mcpnpm installcp .env.example .env   # add your credentials
CommandWhat it does
npm testUnit tests against a fake API, with no network calls
npm run test:liveRead-only checks against your real iDoklad account (uses .env)
npm run smokeCalls the read tools through a real MCP connection
npm run evalsChecks that Claude picks the right tools for 30 Czech and English requests (see below)
npm run inspectOpens the tools in MCP Inspector
npm run buildCompiles to dist/
npm run build:api-indexRefreshes the bundled API reference from iDoklad's docs
npm run build:mcpbBuilds the Claude Desktop extension (idoklad-mcp-<version>.mcpb)

Evals

evals/ checks whether Claude picks the right tool, with the right inputs, for real requests such as "Které faktury jsou po splatnosti?" or "Invoice Globex like last time, but for 42 hours". Each case runs as a short conversation against a made-up iDoklad company, so no real data is touched. It also checks that Claude doesn't send emails or change documents unless asked.

bash
npm run evals                                  # all casesnpm run evals -- --only overdue-cs,mark-paid-csnpm run evals -- --repeat 3                    # models vary; run each case 3 times

It needs ANTHROPIC_API_KEY in .env from an account at console.anthropic.com with prepaid API credit. A Claude subscription doesn't include API credit. Each full run costs roughly $1–2. Run it after changing tool names, descriptions or inputs.

If you open this folder in Claude Code, it picks up .mcp.json and runs the server from source as idoklad-dev.

[!TIP] For anything that writes data, use a separate test company in iDoklad, so test invoices don't use up your real invoice numbers.

The code is in src/:

  • client.ts: the iDoklad API client. It handles login, token renewal and retries.
  • filter.ts: the iDoklad filter syntax.
  • tools/: the MCP tools.

Pull requests are welcome. Please run npm run typecheck && npm test before opening one.

Releasing

Pushing a version tag runs release.yml. It publishes to npm, creates a GitHub release with the Claude Desktop extension attached, and publishes to the MCP Registry:

bash
npm version minor        # or patch / major: updates package.json and creates a taggit push --follow-tags

Before tagging, move the changes in CHANGELOG.md under the new version.

License

MIT © Jan Vítek


Česky

idoklad-mcp je neoficiální MCP server pro iDoklad. Umožní AI asistentům (Claude, Codex, Cursor a dalším) číst a vystavovat faktury ve vašem iDokladu. Projekt není spojen se společností Seyfor, a. s.

Co budete potřebovat

  • Tarif iDokladu s přístupem k API: Oblíbený nebo Prémiový. Tarify Zdarma a Základní API nemají.
  • Node.js ve verzi 22 nebo novější.

Postup

  1. V iDokladu otevřete Nastavení → API a zkopírujte Client ID a Client Secret.
  2. Na developer.idoklad.cz si založte účet a vytvořte novou aplikaci s Flow: ClientCredentials. Její Client Id použijete jako IDOKLAD_APPLICATION_ID.
  3. Server přidejte do svého AI klienta podle návodu výše.
  4. Zeptejte se asistenta: „Které faktury v iDokladu jsou po splatnosti?"

Ve výchozím stavu server data jen čte. Vystavování faktur zapnete proměnnou IDOKLAD_READ_ONLY=false.

Pokud iDoklad hlásí Invalid parameter application_id, vytvořili jste aplikaci s jiným flow než ClientCredentials.

來源:README.md,提交 a5e3998

工具

0
SourceWeft 尚未在沙箱中啟動過該軟體包,因此其工具未知。

版本歷史

1
  1. v0.4.0最新Nov 11, 2026

評分

已滿足適用檢查項的 50%

該評分衡量此收錄條目的完整程度,依據註冊中心條目、端點與公開來源計算得出。它不是對伺服器本身的評價,也不表示伺服器安全或目前可用:可連通性是帶日期的檢查結果,評分也不包含安裝量或使用者評價。

  • 近 30 天內可連通25 分

    請保持端點能夠回應 MCP 握手;SourceWeft 每 30 天探測一次。

  • 已宣告認證方式10 分

    請在註冊中心條目中宣告憑證請求標頭,或保持端點能夠回應探測,以便判定其認證方式。

  • 已列出工具15 分

    請讓伺服器在無憑證時回應 tools/list,或發布可在沙箱中無憑證啟動的軟體包。

  • 描述必需15 分
  • 圖示10 分
  • 文件15 分
  • 授權條款10 分

其他 Doklad 整合