iDoklad について
iDoklad は、チェコとスロバキアの請求アカウントを AI アシスタントに接続する非公式 MCP サーバーです。既定では読み取り専用で、書類や連絡先、支払いを作成・管理するツールも有効にできます。
主な機能
- 01請求書、プロフォーマ、クレジットノートの一覧と詳細
- 02請求書、プロフォーマ、クレジットノートの作成
- 03支払い管理とリマインダーメールの送信
- 04業務統計、連絡先、価格表の確認
- 05書類 PDF のダウンロード
- 06既定で読み取り専用
活用シーン
- 01未払いまたは期限超過の請求書の確認
- 02既存の請求書設定を使った新規請求書の作成
- 03売上、未収金、VAT 数値の確認
- 04期限超過の支払いに関するリマインダー送信
MCP 対応
互換性のある AI クライアントに、iDoklad のデータ参照と操作を MCP ツールとして提供します。書き込みツールは既定で無効で、IDOKLAD_READ_ONLY=false で有効にできます。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
このサーバーのパッケージやリモートエンドポイントはまだ取得できていません。プロジェクトの README の手順に従ってください。
ツール
18掲載時のツール一覧 · 4 日前に更新
| パラメーター | 型 | 必須 | 説明 |
|---|---|---|---|
| page | integer | いいえ | |
| status | enum | いいえ | 支払い状況。'overdue' = 未払いで、支払期限を過ぎています。unpaid | paid | partially_paid | overdue |
| issuedTo | string | いいえ | 発行日の終了日(当日を含む)。 |
| pageSize | integer | いいえ | |
| partnerId | integer | いいえ | 顧客の連絡先 ID(list_contacts を参照)。 |
| issuedFrom | string | いいえ | 発行日の開始日(当日を含む)。 |
| documentNumber | string | いいえ | 書類番号の一部。 |
詳細
idoklad-mcp
チェコおよびスロバキアのオンライン請求書サービスであるiDoklad向けの非公式なMCPサーバーです。 Claude、Codex、Cursor、その他のAIアシスタントから、iDokladアカウントの請求書を閲覧・作成できます。
メモ
このプロジェクトはiDokladまたはSeyfor, a. s.と提携しておらず、承認も受けていません。 🇨🇿 チェコ語のガイド
警告
**開発初期段階(v0.4)です。**ツールや入力内容は今後変更される可能性があります。ロードマップをご覧ください。
質問できること
- 「期限を過ぎた請求書はどれですか?」
- 「ACMEは今年、いくら支払ってくれましたか?」
- 「Globex宛ての最新の請求書のPDFをダウンロードして。」
- 「受け取った請求書のうち、まだ支払っていないものはどれですか?」
- 「誰が一番多く未払いですか?」 / 「今年の業績は昨年と比べてどうですか?」
- 「VAT登録の義務が生じるまで、あといくらですか?」
- 「ACME s.r.o.宛てに、コンサルティング10時間分を1,500 CZK、支払期限を14日後として請求書を作成して。」(書き込みモードが必要です)
- 「先月と同じ内容でGlobex宛ての請求書を作成して。ただし42時間分にして。」(前回の請求書から通貨、VAT、言語を引き継ぎます)
- 「請求書20260018を今日付けで支払済みにして。」
- 「期限を過ぎたすべての請求書について、支払いリマインダーを送って。」
- 「請求書20260015のクレジットノートを発行して。クライアントが10ライセンス中2ライセンスを返品しました。」
要件
- APIアクセスを含むiDokladプラン:Oblíbený(Popular)またはPrémiový(Premium)。FreeおよびBasicプランにはAPIがありません。
- Node.js 22以降。
- MCPクライアント:Claude Desktop、Claude Code、Codex、Cursor、VS Codeなど。
セットアップ
1. 認証情報を取得する
3つの値が必要です。取得には5分ほどかかります。
Client IDとClient Secret(iDokladから取得):
- app.idoklad.czにサインインします。
- Nastavení(設定)→ APIに移動します。
- Client IDとClient Secretをコピーします。
これらは、1つの会社(事業所)と1人のユーザーにひも付いています。
Application ID(iDoklad開発者ポータルから取得):
- developer.idoklad.czでアカウントを作成します。
- Nová aplikaceで任意の名前を入力し、FlowをClientCredentialsに設定します。その後、Uložitをクリックします。
- 一覧に表示された新しいアプリのClient Idをコピーします。この値がApplication IDです。
重要
アプリではClientCredentialsフローを使用する必要があります。AuthorizationCodeアプリでは、iDokladが
Invalid parameter application_idというエラーを返し、ログインできません。
2. AIクライアントにサーバーを追加する
...のプレースホルダーを3つの値に置き換えてください。
Claude Code
claude mcp add idoklad \
-e IDOKLAD_CLIENT_ID=... \
-e IDOKLAD_CLIENT_SECRET=... \
-e IDOKLAD_APPLICATION_ID=... \
-- npx -y idoklad-mcp
Claude Desktop(ワンクリックインストール)
- Releasesから最新の
idoklad-mcp-<version>.mcpbをダウンロードします。 - ファイルをダブルクリックするか、Claude Desktop → Settings → Extensionsにドラッグします。
- 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 → 設定 → API から取得します | |
IDOKLAD_CLIENT_SECRET | はい | iDoklad → 設定 → 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 | 読み取り | 1件の書類の詳細情報を取得します。明細、取引先、合計金額が含まれます。 |
get_document_pdf | 読み取り | 書類のPDFをDownloadsフォルダーに保存します。必要に応じて、別の言語や支払い情報を指定できます。 |
create_issued_invoice | 書き込み | 既定の設定を使って請求書を作成するか、以前の請求書の設定をコピーして作成します。通貨(為替レートは自動入力)、言語、VAT率、支払期限を指定できます。 |
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 | 読み取り | 月、四半期、年ごとの収入と費用、今年と昨年の比較、経過期間別の期限超過額、対象期間のVAT、VAT登録限度額に対する進捗状況、書類数を取得します。 |
get_top_partners | 読み取り | 主要顧客または主要債務者を取得します。 |
get_contact_stats | 読み取り | 顧客の支払い状況(請求書、支払い済み、未払い、支払い遅延)を確認します。 |
連絡先と価格表
| ツール | モード | 機能 |
|---|---|---|
list_contacts | 読み取り | 名前、IČO、DIČ、メールアドレスで連絡先を検索します。 |
get_contact | 読み取り | 1件の連絡先の詳細情報を取得します。 |
create_contact | 書き込み | 顧客または仕入先を作成します。 |
list_price_list_items | 読み取り | 名前またはコードで価格表(ceník)を検索します。 |
その他すべて
| ツール | モード | 機能 |
|---|---|---|
get_codebook | 読み取り | 通貨、国、VAT率、支払い方法、銀行口座、番号の連番、その他のリストを取得します。 |
search_api_docs | 読み取り | サーバーに同梱されているiDoklad APIリファレンス全体を検索します。 |
idoklad_api_request | 読み取り / 書き込み | iDokladの任意のエンドポイントを直接呼び出します。たとえば、銀行明細、定期請求書、在庫などに対応します。読み取り専用モードではGETのみ許可されます。 |
プライバシーとセキュリティ
- サーバーはお使いのコンピューター上で動作します。認証情報はローカルのクライアント設定に保存され、iDokladにのみ送信されます。
- 請求書や連絡先など、アシスタントがiDokladから読み取るデータは、チャットで共有するほかの情報と同様に、使用するAIモデルに渡されます。
- Client Secretはパスワードと同様に扱ってください。コミットしたり、チャットに貼り付けたりしないでください。無効にするには、iDoklad → Settings → APIで削除してください。
トラブルシューティング
| メッセージ | 対処方法 |
|---|---|
Missing environment variables: … | クライアント設定に3つの認証情報のうち1つが設定されていません。 |
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 ドキュメントの検索
- プロフォーマ請求書とクレジットノートの作成、および支払済みプロフォーマ請求書からの請求書作成
- 事業概要:収益、債務者、VAT、VAT 登録の上限
- 支払いリマインダーと支払い確認
- 一部支払い
- PDF からの仕入先請求書(iDoklad インボックス)
- 銀行照合、書類の編集と削除、定期請求書
- Claude Desktop のワンクリックインストールと MCP Registry への掲載
- claude.ai と ChatGPT 向けの iDoklad ログイン(OAuth)対応ホスト版
アイデアやご要望は issues でお寄せください。
開発
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 | 30件のチェコ語と英語のリクエストに対して、Claude が適切なツールを選ぶか確認します(以下を参照) |
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/ では、「Které faktury jsou po splatnosti?」 や 「Invoice Globex like last time, but for 42 hours」 といった実際のリクエストに対して、Claude が適切なツールを適切な入力で選ぶかを確認します。各ケースは架空の 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
実行には、console.anthropic.com のアカウントでプリペイド API クレジットを用意し、.env に ANTHROPIC_API_KEY を設定する必要があります。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. とは関係ありません。
必要なもの
- API にアクセスできる iDoklad プラン:Oblíbený または Prémiový。Zdarma と Základní の各プランには API がありません。
- バージョン 22 以降の Node.js。
手順
- iDoklad で 設定 → API を開き、Client ID と Client Secret をコピーします。
- developer.idoklad.cz でアカウントを作成し、Flow: ClientCredentials を指定して新しいアプリケーションを作成します。その Client Id を
IDOKLAD_APPLICATION_IDとして使用します。 - 上記の手順に従って、AI クライアントにサーバーを追加します。
- アシスタントに「iDoklad で支払期限を過ぎている請求書はどれですか?」と尋ねます。
デフォルトでは、サーバーはデータを読み取るだけです。請求書の発行を有効にするには、IDOKLAD_READ_ONLY=false を設定します。
iDoklad から Invalid parameter application_id と表示された場合、ClientCredentials 以外のフローを使用してアプリケーションを作成しています。
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。