mcpField
V
vendor-statement-open-items

vendor-statement-open-items

ローカル
mcp.zovo.one金融データ21 日前に更新

vendor-statement-open-items について

仕入先明細と買掛金の未決済項目リストを比較する、財務チーム向けのローカル MCP サーバーです。元の行を保持し、欠落、金額・日付の不一致、安全に対応付けられない重複参照を示します。

主な機能

  1. 012つの未決済項目リストを比較
  2. 02欠落行と不一致の検出
  3. 03重複参照の曖昧さを識別
  4. 04元データの保持とページ表示
  5. 051項目1行の CSV 出力
  6. 06ローカルでのレポート管理

活用シーン

  1. 01仕入先明細と買掛金データの照合
  2. 02金額や日付の不一致調査
  3. 03重複した請求書参照の確認
  4. 04後続確認用のデータ出力

MCP 対応

ローカルの stdio MCP サーバーとして、比較、レポート取得、ページ表示、削除、CSV 出力、ライセンス管理のツールを MCP クライアントに提供します。ERP 接続、PDF 読み取り、支払い承認には対応しません。

設定

ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。

インストール方法は未掲載です

このサーバーのパッケージやリモートエンドポイントはまだ取得できていません。プロジェクトの README の手順に従ってください。

リポジトリ
パッケージ
mcpbsupplier-statement-check.mcpb0.25.0

ツール

ツール一覧はまだ取得されていません

ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。

詳細

仕入先明細書照合 MCP サーバー

提供された仕入先明細書と買掛金未決済項目のエクスポートを比較します。 片方にしか存在しない請求書やクレジットノート、未決済金額や日付の不一致、 安全に照合できない重複参照を検出します。このローカル MCP サーバーはすべての元の行を保持し、各検出結果について説明します。 提供された2つの未決済項目リストを確認します。期首/期末残高の照合、 支払いの照合、ERP への接続、PDF の読み取り、支払いの承認は行いません。

theluckystrike が開発しました。MIT。サポート:[email protected]。

インストール前に試す

ブラウザーで無料の仕入先明細書の例を実行する。 合成データの例を使って、未記載項目や金額/日付の不一致を確認できます。 ブラウザー版の証明機能とこのサーバーは、同じ比較コアを使用します。ローカル サーバーの無料プランでは、アカウントも API キーも必要ありません。 製品とインストールのオプション。

タスクこちらから開始
仕入先/ベンダーの明細書にある未決済項目と、AP の未決済項目エクスポートを比較するこのサーバー:supplier_statement_check。
提供された請求書履歴全体から、重複した請求書参照を見つける仕入先請求書の重複レビュー。
請求書の明細を発注書および受領確認済みの商品と照合する3者間請求書照合。

これらの比較には、該当するソースデータが必要です。不足している 書類の取得や支払いの承認は行いません。詳細な診断と CSV は引き続き無料です。有料 アップグレードでは、保存できるレポート数の上限のみがなくなります。

インストール

Node.js 18 以降と MCP クライアントが必要です。Claude Desktop では、 supplier-statement-check.mcpb v0.25.0 パッケージを開けます。 その他のクライアントでは、以下のソースをビルドできます。npm パッケージは公開されていません。 npx @theluckystrike/mcp-supplier-statement-check はインストール方法として利用できません。

git clone https://github.com/theluckystrike/mcp-servers.git
cd mcp-servers
npm install
node scripts/bootstrap-timezone.mjs
npm run build --workspace @theluckystrike/mcp-license
npm run build --workspace @theluckystrike/mcp-supplier-statement-check

これらのコマンドでは、共有ライセンス依存関係とこのサーバーのみをビルドします。以下の /absolute/path は、ソースをチェックアウトした場所に置き換えてください。MCP クライアントが node を見つけられない場合は、実行ファイルのフルパスを使用してください。

Claude Desktop:macOS では ~/Library/Application Support/Claude/claude_desktop_config.json、Windows では %APPDATA%\Claude\claude_desktop_config.json の mcpServers にマージします。

{"mcpServers":{"supplier-statement-check":{"command":"node","args":["/absolute/path/mcp-servers/servers/supplier-statement-check/dist/index.js"]}}}

Claude Code:

claude mcp add supplier-statement-check -- node /absolute/path/mcp-servers/servers/supplier-statement-check/dist/index.js

Cursor:プロジェクト内の .cursor/mcp.json または ~/.cursor/mcp.json にマージします。

{"mcpServers":{"supplier-statement-check":{"type":"stdio","command":"node","args":["/absolute/path/mcp-servers/servers/supplier-statement-check/dist/index.js"]}}}

VS Code:.vscode/mcp.json の servers の下にエントリーを追加します。

{"servers":{"supplier-statement-check":{"type":"stdio","command":"node","args":["/absolute/path/mcp-servers/servers/supplier-statement-check/dist/index.js"]}}}

Windsurf のレガシー Cascade エージェント:~/.codeium/windsurf/mcp_config.json で、Claude Desktop の mcpServers エントリーを使用します。このファイルは Cascade に適用されます。別の エージェントでは、異なる設定方法を使用する場合があります。

Cline:MCP Servers、Configure、Configure MCP Servers を開き、次を追加します。

{"mcpServers":{"supplier-statement-check":{"type":"stdio","command":"node","args":["/absolute/path/mcp-servers/servers/supplier-statement-check/dist/index.js"],"disabled":false,"autoApprove":[]}}}

これらはローカルの stdio 設定です。このサーバーにはホスト型エンドポイントもブラウザー チャットコネクターもありません。クライアントを再接続し、license_status を呼び出してから、 以下の例を実行してください。ツールの検出だけでは、比較が検証されたことにはなりません。

ツール

ツール入力と結果
supplier_statement_checkas_of、statement_records、ledger_records、省略可能な save:false。すべての証拠、または無料のプレビュー ID 付きのページ分割された概要。
report_list省略可能な offset:0、limit:20(最大 100)。保存済み UUID と件数の概要。
report_get保存済みの id。検証済みのソース行と再計算された比較結果。
report_page保存済みまたはプレビューの id、section、省略可能な offset、limit(最大 100)、group_id。すべてのソース証拠。
report_delete保存済みの id。ローカルレポートを 1 件削除し、保存枠を空けます。
report_export_csv保存済みまたはプレビューの id、省略可能な offset、limit(最大 2000)。元のソース項目 1 件につき 1 行の CSV。
license_status引数なし。現在のオフラインティアとアップグレードリンク。
license_activatekey。オフライン Pro ライセンスを検証して保存します。

不足している項目と金額の不一致

次の合成入力を使用して supplier_statement_check を呼び出します。

{
  "as_of": "2026-10-26",
  "statement_records": [
    {"record_id":"S1","entity_id":"UK-1","supplier_id":"V-9","currency":"USD","document_type":"invoice","document_reference":"INV-001","document_date":"2026-10-01","outstanding_minor":12500},
    {"record_id":"S2","entity_id":"UK-1","supplier_id":"V-9","currency":"USD","document_type":"invoice","document_reference":"INV-002","document_date":"2026-10-02","outstanding_minor":20000},
    {"record_id":"S3","entity_id":"UK-1","supplier_id":"V-9","currency":"USD","document_type":"credit_note","document_reference":"CR-003","document_date":"2026-10-03","outstanding_minor":5000}
  ],
  "ledger_records": [
    {"record_id":"L1","entity_id":"UK-1","supplier_id":"V-9","currency":"USD","document_type":"invoice","document_reference":"INV-001","document_date":"2026-10-01","outstanding_minor":12500},
    {"record_id":"L2","entity_id":"UK-1","supplier_id":"V-9","currency":"USD","document_type":"invoice","document_reference":"INV-002","document_date":"2026-10-04","outstanding_minor":19000},
    {"record_id":"L4","entity_id":"UK-1","supplier_id":"V-9","currency":"USD","document_type":"invoice","document_reference":"INV-004","document_date":"2026-10-05","outstanding_minor":7000}
  ],
  "save": false
}

結果は 4 つのグループに分かれます。一致が 1 件、amount_mismatch と date_mismatch の両方を含む不一致が 1 件、明細書にのみ存在する項目が 1 件、 台帳にのみ存在する項目が 1 件です。提供されたすべての行を引き続き参照できます。 クレジットノートの金額は正の値で、請求書と相殺されません。残高、損失、回収可能額は 計算されません。いずれか一方の範囲内に別の INV-001 を追加すると、そのグループ全体が ambiguous_reference になります。このツールは都合のよい金額の組み合わせを選びません。

厳密な入力仕様と比較ルール

実際の日付である YYYY-MM-DD 形式の as_of 日付と、それぞれ0~1000件のレコードを含む2つの配列を指定してください。 少なくとも一方にはレコードが必要です。この日付は共通スナップショットの想定日を示します。ツールはエクスポートの最新性を検証できず、日付による行の絞り込みも行いません。 比較の前に、両方のリストで未処理項目の対象範囲を統一してください。

各レコードには、record_id、entity_id、supplier_id、大文字3文字の currency、document_type(invoice または credit_note)、document_reference、実在するISO形式の document_date、正の安全な整数である outstanding_minor が必要です。IDと参照は1~160文字で、前後に空白や制御文字を含めることはできません。IDは各側で一意である必要がありますが、両側で同じIDを使うことはできます。不明なフィールド、実在しない日付、0000年、ゼロ・負数・小数・安全でない金額、上限を超える配列は拒否されます。通貨の形式は、外部の通貨リストを使わずに検証されます。

金額は通貨の最小単位で指定します。USD の 12500 は $125.00 を意味します。クレジットノートでは正の絶対未決金額を使用し、クレジットノート同士のみを比較します。両側で共通の仕入先名を使用する必要はありませんが、supplier_id は完全一致する必要があります。異なるエンティティ、仕入先、通貨、書類種別は別々に扱われます。

結合キーは正確に (entity_id, supplier_id, currency, document_type, document_reference) です。先頭のゼロ、句読点、大文字・小文字、アクセント、Unicode形式、紛らわしい類似文字も一致判定に影響します。仕入先の推測、参照の整形、貪欲な金額照合、支払いの割り当て、通貨換算は行われません。

グループのステータス意味
matched両側にそれぞれ1行あり、キー、未決金額、書類日付が一致しています。
only_in_statement明細書の行に完全一致するキーを持つ台帳の行がありません。
only_in_ledger台帳の行に完全一致するキーを持つ明細書の行がありません。
discrepancy両側にキーが一致する行がそれぞれ1行ありますが、金額または日付が異なります。issues には両方の理由が保持されます。
ambiguous_referenceいずれかの側でキーが重複しています。ペアを選択せず、すべての行を保持します。

行の欠落や不一致は、エクスポートのタイミングや対象範囲の違いによって生じる場合があります。参照の重複が正当な場合もあります。指定したリストが完全に一致していても、仕入先残高が正しいことの証明にはなりません。不完全なエクスポート同士が一致する場合もあります。ステータス no_discrepancies_in_supplied_open_items が示すのは、その限定的な所見のみです。保存されたレポートが呼び出し間で隠れた履歴になることはありません。毎回、両方のリストを含めてください。

グループと行は決定的な順序で並べ替えられます。各ソース行は、必ず1つのグループのみに属します。エンジンは、考えられるすべてのレコードの組み合わせを展開しません。グループが参照するソースIDには、明細書側または台帳側の区別が付くため、両側で同じIDを使っても証拠が上書きされることはありません。ネットワーク要求やテレメトリー要求は行われません。

無料の証跡、プレビュー、CSV

すべてのチェックで retrieval.report_id が返されます。未保存のプレビューには preview:<UUID> が使われ、このプロセスで行った直近2回のチェック分が30分間メモリに保持されます。3回目のチェック、再起動、または有効期限切れにより、プレビューが破棄される場合があります。その場合は無料チェックを再送信してください。保存済みのUUIDはディスク上に保持されます。プレビューデータがブラウザーやファイルシステムに書き込まれることはありません。

report_page は statement_records、ledger_records、groups、group_members に対応しています。グループページには概要メタデータと、側ごとのメンバー数が含まれます。元データのメンバー全件を読み込むには、section:"group_members" と完全一致する group_id を指定してください。next_offset が null になるまでページを取得してください。保存済みレポートの上限に達した後も、ページとCSVは無料で利用できます。

応答は、エスケープ後のMCPテキストエンベロープの上限512 KiBを使用します。レポートが大きい場合はページ分割された概要が返されます。ページはこの上限内に収めるため、指定した件数より少ない行しか含まれないことがあります。CSVは元データの各レコードにつき1行を使用し、レコードの側、元のフィールド、グループ、理由を含みます。数式のように見えるテキストはエスケープされます。JSONのソース値は変更されません。エクスポートではCSVテキストが返されます。指定されたファイル名への書き込みは行われず、各ページにヘッダーが繰り返し含まれます。ページを結合する際は、ヘッダーを1つだけ残してください。指定件数が返されたと想定せず、実際の returned と next_offset の値に従ってください。

FreeとPro

機能FreePro
完全なチェック、不一致の理由、元データの行含まれます。片側あたり1000レコード同じ
プレビューページとCSV含まれます同じ
保存済みレポート数3レポート数の上限なし
保存済みデータの合計容量64 MiB64 MiB
ファイルごとの整合性上限8 MiB8 MiB
入力、応答、テキスト、プレビューの上限ドキュメントに記載された上限と同じ同じ

無料プランの上限に達した状態で save:true を指定すると、診断結果と無料プレビューが返され、saved:false、save_error:"free_saved_report_cap"、アップグレードリンクが含まれます。保存済みレポートを削除すると、空いた枠を再利用できます。ストレージ障害が発生した場合も、診断結果は保持されます。

Proを購入:一度限り$19。 全サーバー:$39のバンドル。MCP_LICENSE_KEY を設定するか、license_activate を呼び出してください。キーはオフラインで検証されます。Proで撤廃されるのは、保存済みレポート数の上限のみです。会計データ、精度保証、ERPへのアクセス、安全性の承認が追加されることはありません。保存履歴のアップグレードは商業上の仮説であり、投資収益率が実証されているわけではありません。

すべてのデータはローカルに保持されます。レポートは ${XDG_DATA_HOME:-~/.local/share}/mcp-servers/supplier-statement-check/ に保存されます。 XDG_DATA_HOME は絶対パスで、実在するディレクトリをすべての親ディレクトリとして指定する必要があります。プライベートなJSONファイルは、プロセス間の変更ロックを使用してアトミックに書き込まれます。読み込み時には元の入力を検証し、編集された結果を信頼するのではなく、証跡を再計算します。ライセンスの有効化では、共有のローカルライセンス設定が書き込まれます。会計データへのアクセス、保持、バックアップはご自身で管理してください。

開発

npm run build --workspace @theluckystrike/mcp-supplier-statement-check
npm test --workspace @theluckystrike/mcp-supplier-statement-check

モノレポのルートから docker build -f servers/supplier-statement-check/Dockerfile . を実行してDockerイメージをビルドします。スタンドアロンミラーには、ミラー生成時に独立して動作するDockerfileが用意されます。テストでは、比較オラクル、厳格な入力、スコープとUnicodeの分離、元データの完全な網羅性、曖昧さ、大量の無料ページとCSV、安全なストレージ、同時保存時の上限、実際のstdio呼び出しを検証します。署名済みライセンスのテストでは、利用可能な場合は既存のローカル秘密鍵署名ツールを使用し、存在しない場合はスキップします。秘密署名鍵はユーザーに配布されず、ユーザー側で必要になることもありません。

コメント

MCP は初めてですか?

プロトコルの概要から最初のサーバーの導入まで、よくある疑問にまとめて答えます。

AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。