mcpField
I
iDoklad

iDoklad

本地服务
github.com金融数据04 天前更新

关于 iDoklad

iDoklad 是一款非官方 MCP 服务,可让 AI 助手连接捷克和斯洛伐克的开票账户。它默认只读,也可启用创建和管理单据、联系人及付款的工具。

主要功能

  1. 01列出并查看发票、形式发票和贷项通知单
  2. 02创建发票、形式发票和贷项通知单
  3. 03管理付款并发送邮件提醒
  4. 04查看业务统计、联系人和价目表
  5. 05下载单据 PDF
  6. 06默认启用只读模式

适用场景

  1. 01查找未付款或逾期发票
  2. 02沿用既有发票设置创建新发票
  3. 03查看收入、欠款方或增值税数据
  4. 04向逾期付款方发送提醒

MCP 相关

向兼容的 AI 客户端提供访问 iDoklad 数据和操作的 MCP 工具。写入工具默认关闭,可通过 IDOKLAD_READ_ONLY=false 启用。

配置

本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。

暂未收录安装方式

我们还没有获取到这个服务的安装包或远程地址,请按项目 README 中的说明安装。

代码仓库
安装包
npmidoklad-mcp0.4.0
mcpbidoklad-mcp-0.4.0.mcpb0.4.0

工具

18

收录的工具列表 · 更新于 4 天前

参数类型必填说明
pageinteger否
statusenum否付款状态。'overdue' = 未付款且已超过到期日。unpaid | paid | partially_paid | overdue
issuedTostring否开具日期截止(含当日)。
pageSizeinteger否
partnerIdinteger否客户的联系人 ID(参见 list_contacts)。
issuedFromstring否开具日期起始(含当日)。
documentNumberstring否单据编号的一部分。

详细介绍

idoklad-mcp

CI License: MIT

适用于 iDoklad 的非官方 MCP 服务。iDoklad 是面向捷克和斯洛伐克的在线发票服务。 它支持 Claude、Codex、Cursor 和其他 AI 助手读取并创建 iDoklad 账户中的发票。

说明

本项目与 iDoklad 或 Seyfor, a. s. 无关联,也未获其认可。 🇨🇿 捷克语指南

警告

早期开发阶段(v0.4)。 工具及其输入仍可能发生变化。请参阅路线图。

你可以询问什么

  • “哪些发票已逾期?”
  • “ACME 今年付给我们多少钱?”
  • “下载 Globex 最近一张发票的 PDF。”
  • “哪些收到的发票我们还没付款?”
  • “谁欠我最多?” / “今年的业绩比去年如何?”
  • “距离必须注册增值税还差多少?”
  • “为 ACME s.r.o. 创建一张发票:咨询 10 小时,每小时 1,500 CZK,14 天后到期。”(需要写入模式)
  • “像上个月那样给 Globex 开发票,但改成 42 小时。”(从上一张发票复制币种、增值税和语言)
  • “将发票 20260018 标记为今天已付款。”
  • “为所有逾期发票发送付款提醒。”
  • “为发票 20260015 开具贷项通知单,客户退回了 10 个许可证中的 2 个。”

要求

  • iDoklad 套餐必须包含 API 访问权限:Oblíbený(Popular)或 Prémiový(Premium)。Free 和 Basic 套餐不提供 API。
  • Node.js 22 或更高版本。
  • 一个 MCP 客户端:Claude Desktop、Claude Code、Codex、Cursor、VS Code 等。

设置

1. 获取凭据

你需要三个值。获取它们大约需要五分钟。

Client ID 和 Client Secret,从 iDoklad 获取:

  1. 登录 app.idoklad.cz。
  2. 前往 Nastavení(Settings)→ API。
  3. 复制 Client ID 和 Client Secret。

这些凭据对应一家公司的账簿(agenda)和一位用户。

Application ID,从 iDoklad 开发者门户获取:

  1. 在 developer.idoklad.cz 创建账户。
  2. 在 Nová aplikace 下输入任意名称,并将 Flow 设为 ClientCredentials。然后点击 Uložit。
  3. 从列表中复制新应用的 Client Id。该值就是你的 Application ID。

重要

应用必须使用 ClientCredentials flow。如果使用 AuthorizationCode 应用,iDoklad 会拒绝登录,并返回 Invalid parameter application_id。

2. 将服务添加到 AI 客户端

将 ... 占位符替换为你的三个值。

Claude Code
claude mcp add idoklad \
  -e IDOKLAD_CLIENT_ID=... \
  -e IDOKLAD_CLIENT_SECRET=... \
  -e IDOKLAD_APPLICATION_ID=... \
  -- npx -y idoklad-mcp
Claude Desktop(一键安装)
  1. 从 Releases 下载最新的 idoklad-mcp-<version>.mcpb。
  2. 双击文件,或将其拖到 Claude Desktop → Settings → Extensions。
  3. 点击 Install,然后填写 Client ID、Client Secret 和 Application ID。

此扩展默认处于只读模式。你可以在设置中关闭此模式。

Claude Desktop(手动配置)

打开 Settings → Developer → Edit Config 并添加:

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

之后重启 Claude Desktop。

Codex

添加到 ~/.codex/config.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 和其他客户端

在客户端的 MCP 设置中,使用与 Claude Desktop 示例相同的 command、args 和 env 值。

3. 试用

向助手询问 “我的 iDoklad 发票中,哪些尚未付款?”

配置

变量必填默认值描述
IDOKLAD_CLIENT_ID是从 iDoklad → Settings → API 获取
IDOKLAD_CLIENT_SECRET是从 iDoklad → Settings → API 获取
IDOKLAD_APPLICATION_ID是你在 developer.idoklad.cz 上的 ClientCredentials 应用的 Client Id
IDOKLAD_READ_ONLY否true设置为 false,以启用创建或更改数据的工具
IDOKLAD_DOWNLOAD_DIR否~/Downloads下载的 PDF 保存位置

如需使用多家公司,请在不同名称下为每家公司各添加一次服务(例如 idoklad-firma-a 和 idoklad-firma-b),并分别使用对应公司的凭据。

默认只读

开箱即用时,该服务只能读取你的数据。若要允许助手创建或更改文档,请设置:

IDOKLAD_READ_ONLY=false

写入工具会明确标注,因此客户端可以在运行前请求你确认。

工具

单据:已开具发票、形式发票、贷项通知单、收到的发票。

工具模式功能
list_issued_invoices读取列出已开具的发票(vydané faktury),按时间从新到旧排序。可按未付款、已付款、部分付款或逾期、客户、开具日期或编号筛选。
list_proforma_invoices读取同上,适用于形式发票(zálohové faktury)。
list_credit_notes读取同上,适用于贷项通知单(dobropisy)。
list_received_invoices读取同上,适用于收到的发票(přijaté faktury),可按供应商筛选。
get_issued_invoice、get_proforma_invoice、get_credit_note、get_received_invoice读取获取一份单据的完整详情:项目、合作方和总额。
get_document_pdf读取将单据的 PDF 保存到“下载”文件夹,也可选择其他语言或包含付款信息。
create_issued_invoice写入使用默认设置创建发票,也可复制之前发票的设置。支持货币(自动填入汇率)、语言、增值税税率和到期日。
create_proforma_invoice写入同上,适用于形式发票(zálohové faktury)。
create_invoice_from_proforma写入根据已付款的形式发票创建最终发票(vyúčtování zálohy)。
create_credit_note写入对整张发票或选定项目开具贷项通知单,并注明原因。也可将贷项通知单与发票结清。
mark_document_paid写入记录发票、形式发票或收到的发票已全额付款。
mark_document_unpaid写入移除付款记录,使单据恢复为未付款状态。
send_document_email写入通过 iDoklad 使用你的 iDoklad 邮件模板发送发票、形式发票或贷项通知单。
send_payment_reminder写入使用你的 iDoklad 提醒模板,通过邮件发送逾期付款提醒(upomínka)。
send_payment_confirmation写入通过邮件向客户发送已收到付款的确认信息。

业务概览

工具模式功能
get_business_stats读取按月、季度或年份查看收入和成本;比较今年与去年;查看按逾期时长划分的逾期金额、期间增值税、增值税注册限额的完成进度,以及单据数量。
get_top_partners读取查看最大的客户或最大的欠款方。
get_contact_stats读取查看客户的付款情况:发票、已付款、未付款和逾期。

联系人和价目表

工具模式功能
list_contacts读取按名称、IČO、DIČ 或电子邮件搜索联系人。
get_contact读取获取单个联系人的完整详情。
create_contact写入创建客户或供应商。
list_price_list_items读取按名称或代码搜索价目表(ceník)。

其他所有内容

工具模式功能
get_codebook读取查看货币、国家/地区、增值税税率、付款选项、你的银行账户、数字序列及其他列表。
search_api_docs读取搜索完整的 iDoklad API 参考文档,该文档已随服务打包。
idoklad_api_request读取 / 写入直接调用任意 iDoklad 端点,例如银行对账单、定期发票或库存。只读模式下仅允许 GET。

隐私与安全

  • 服务运行在你的计算机上。你的凭据保存在本地客户端配置中,仅会发送给 iDoklad。
  • 助手从 iDoklad 读取的数据(例如发票和联系人)会传递给你使用的 AI 模型,就像你在聊天中分享的其他内容一样。
  • 请像对待密码一样保护你的 Client Secret。切勿将其提交到代码库或粘贴到聊天中。如需撤销,请在 iDoklad → Settings → API 中将其删除。

故障排除

消息修复方法
Missing environment variables: …客户端配置中未设置三个凭据之一。
Invalid parameter application_id开发者门户中的应用未使用 ClientCredentials 流程,或者你复制了错误的值。请使用该应用的 Client Id。
iDoklad login failed (HTTP 400)检查 iDoklad → Settings → API 中的 Client ID 和 Secret。它们可能已重新生成。
HTTP 402你的 iDoklad 套餐不包含 API,或者订阅已过期。
HTTP 429你已达到 iDoklad 的速率限制:每分钟 200 个请求,月度配额则取决于你的套餐。服务会自动重试;请稍后再试。

路线图

  • 已开具发票:列表、详情、创建
  • 新发票的货币,以及复制之前的发票
  • 形式发票、贷项通知单、已收到的发票
  • 联系人和价目表项目
  • 付款(标记为已付款或未付款)
  • 下载 PDF,以及通过电子邮件发送单据
  • 通用工具:调用任意 iDoklad 端点、搜索 API 文档
  • 创建形式发票和贷项通知单,以及根据已付款的形式发票创建发票
  • 业务概览:收入、欠款方、增值税、增值税注册限额
  • 付款提醒和付款确认
  • 部分付款
  • 根据 PDF 创建供应商发票(iDoklad 收件箱)
  • 银行匹配、编辑和删除单据、定期发票
  • Claude Desktop 一键安装,以及在 MCP Registry 中上架
  • 支持通过 iDoklad 登录(OAuth)的托管版本,适用于 claude.ai 和 ChatGPT

欢迎在 问题 中提出想法和需求。

开发

git clone https://github.com/honzsik/idoklad-mcp.git
cd idoklad-mcp
npm install
cp .env.example .env   # add your credentials
命令功能
npm test使用模拟 API 运行单元测试,不进行网络调用
npm run test:live对你的真实 iDoklad 账户执行只读检查(使用 .env)
npm run smoke通过真实 MCP 连接调用读取工具
npm run evals检查 Claude 是否能针对 30 条捷克语和英语请求选择正确的工具(见下文)
npm run inspect在 MCP Inspector 中打开这些工具
npm run build编译到 dist/
npm run build:api-index根据 iDoklad 文档刷新打包的 API 参考
npm run build:mcpb构建 Claude Desktop 扩展(idoklad-mcp-<version>.mcpb)
评测

evals/ 用真实请求检查 Claude 是否能选择正确的工具并提供正确的输入,例如 “哪些发票已逾期?” 或 “像上次一样给 Globex 开具发票,但按 42 小时计算”。每个用例都会针对一家虚构的 iDoklad 公司进行简短对话,因此不会触及任何真实数据。它还会检查 Claude 是否会在未被要求时发送电子邮件或更改单据。

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

你需要在 .env 中设置 ANTHROPIC_API_KEY,并使用 console.anthropic.com 上拥有预付费 API 额度的账户。Claude 订阅不包含 API 额度。每次完整运行的费用约为 $1–2。更改工具名称、描述或输入后请运行评测。

如果你在 Claude Code 中打开此文件夹,它会读取 .mcp.json,并以 idoklad-dev 的名称从源代码运行服务。

提示

对于任何会写入数据的操作,请在 iDoklad 中使用单独的测试公司,以免测试发票占用真实发票编号。

代码位于 src/:

  • client.ts:iDoklad API 客户端,负责登录、令牌续期和重试。
  • filter.ts:iDoklad 筛选语法。
  • tools/:MCP 工具。

欢迎提交拉取请求。提交前请运行 npm run typecheck && npm test。

发布

推送版本标签会运行 release.yml。它会发布到 npm,创建一个附带 Claude Desktop 扩展的 GitHub 发布,并发布到 MCP Registry:

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

创建标签前,请将 CHANGELOG.md 中的变更移到新版本下。

许可证

MIT © Jan Vítek


捷克语

idoklad-mcp 是适用于 iDoklad 的非官方 MCP 服务。它允许 AI 助手(Claude、Codex、Cursor 等)读取和开具 iDoklad 中的发票。本项目与 Seyfor, a. s. 无关联。

准备工作
  • iDoklad 支持 API 访问的套餐:Oblíbený 或 Prémiový。Zdarma 和 Základní 套餐不支持 API。
  • Node.js 22 或更高版本。
操作步骤
  1. 在 iDoklad 中打开 设置 → API,并复制 Client ID 和 Client Secret。
  2. 在 developer.idoklad.cz 注册账号,并创建一个 Flow: ClientCredentials 的新应用。将其 Client Id 用作 IDOKLAD_APPLICATION_ID。
  3. 按照上方的说明将服务添加到 AI 客户端。
  4. 询问助手:“iDoklad 中哪些发票已逾期?”

默认情况下,服务仅读取数据。将变量 IDOKLAD_READ_ONLY=false 设置为 false 即可启用开具发票功能。

如果 iDoklad 报告 Invalid parameter application_id,说明你创建的应用使用了 ClientCredentials 以外的流程。

评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。