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 集成