Finance Toolkit
500+ transparent financial methods calculated from raw statements, not third-party endpoints.
作者による説明(英語の原文)
Reference invoice-intake MCP servers: read/draft/commit split, typed errors, approval gate, audit
この3つを1つのスコアにまとめることはしません。意見、測定、人気はそれぞれ別のものだからです。
このサーバーのやさしい解説はまだ書いていません。以下はレジストリから読み取った事実です。
使っているAIアプリを選んで、設定をコピーしてください。
必要なもの
どのアプリを使っていますか?
上でアプリを選んでください。選んだアプリを覚えておくので、次からはボタンに「…にインストール」と表示されます。
Claude Desktop → Settings → Developer → Edit Config を開き、claude_desktop_config.json にこれを貼り付けます
{
"mcpServers": {
"invoice-intake": {
"command": "uvx",
"args": [
"invoice-intake-mcp",
"--role",
"read"
]
}
}
}ターミナルでこれを実行します
claude mcp add invoice-intake -- uvx invoice-intake-mcp --role readプロジェクトの .cursor/mcp.json、または ~/.cursor/mcp.json に貼り付けます
{
"mcpServers": {
"invoice-intake": {
"command": "uvx",
"args": [
"invoice-intake-mcp",
"--role",
"read"
]
}
}
}ブラウザがアプリを開いてよいか確認し、そのあとアプリが設定を表示して確認を求めます。キーの値は空欄のままなので、自分で入力してください。
プロジェクトの .vscode/mcp.json に貼り付けます
{
"servers": {
"invoice-intake": {
"type": "stdio",
"command": "uvx",
"args": [
"invoice-intake-mcp",
"--role",
"read"
]
}
}
}ブラウザがアプリを開いてよいか確認し、そのあとアプリが設定を表示して確認を求めます。キーの値は空欄のままなので、自分で入力してください。
これはパソコンで動くサーバーですが、ChatGPTがつなげるのはインターネット上のサーバーだけです。ほかのアプリを選んでください。
選んだアプリは、この端末のCookieに保存されます。アカウントは不要です。
この設定は、作者のレジストリ登録情報から作成しています。READMEと違う場合は、READMEに従ってください。
パソコンで動くサーバーです。インストールすると、ツール一覧がAIアプリに表示されます。
誰でも見られる情報をチェックしており、コードは読んでいません。当てはまらない項目は数に入れていません。 · 2026年11月8日にチェック
レジストリ名はドメイン justdukkan.com で確認済みです(レジストリがドメインの所有を確認しています)
このリポジトリはまだGitHubから読み取っていません
このリポジトリはまだGitHubから読み取っていません
これはパソコンで動くため、インターネット上のエンドポイントはありません
パソコンで動き、代わりにローカルの設定を使います
パソコンで動くサーバーです。ツール一覧を読み取れるのは、インターネット上のエンドポイントがある場合だけです
レジストリでこのカテゴリにある有効なすべてのサーバーと比較しています。スターは、公開者がリポジトリの所有者である場合だけ数えます。
当てはまる基本チェック1項目のうち1項目に合格しました。コードは読んでいません。キーやトークンを追加する前に、サーバーがどんなアクセスを求めているかを確認し、必要な権限だけを持つキーを使ってください。
レジストリには必須のキーは載っていません。ただし、最初に使うときにサインインを求めるサーバーもあります。
あなたのパソコンで動きます。必要なときにAIアプリが起動し、データは作者のサーバーを通りません(サーバー自体がオンラインサービスを呼び出す場合を除きます)。
GitHubリポジトリの最終更新は–、最新バージョン(0.1.1)がレジストリに届いたのは2 か月前です。
Claude Desktop、Claude Code、Cursor、VS CodeなどのMCP対応アプリで使えます。パソコンにPython (uv)も必要です。
同じカテゴリには:Finance Toolkit, SolidInvoice, Korea Tax Calculator
同じカテゴリで、ほかの作者が作ったサーバー。スターの多い順。
カードの見方:↓ 週あたりのダウンロードi★ GitHubスターi3つの柱:レビュー · チェック · 利用状況i更新=最新バージョンをレジストリに公開した日i
500+ transparent financial methods calculated from raw statements, not third-party endpoints.
Create and send invoices and quotes, manage clients, and track payments in SolidInvoice.
Korean tax calculation and tax-audit judgment MCP: 96 tools with statutory citations.
作者のリポジトリから書かれたとおりにコピーしたものです。PopNx MCPは内容を確認・推奨していません。HTML、画像、スクリプトは取り除いています。リンクはこのサイトの外へ移動します。
Reference implementation of the tool-design rules in Designing MCP servers and tools that agents can use safely, on a real back-office process: supplier invoice intake.
It is small on purpose. The fake ERP is a JSON file; everything else is the shape we use in production systems.
| Rule | Where | |||
|---|---|---|---|---|
| Model the business operation, not the API | erp_match_po, erp_stage_invoice, not PATCH /invoices | |||
| Separate reads, drafts and commits | --role read server (reads + reversible staging) vs --role commit server (irreversible post) | |||
| Strict schemas | Literal enums for currency, ids not names, found=false as a valid empty result | |||
| Permissions on the server and credential | specialist agents get *read*; only the orchestrator connects to *commit* | |||
| Tool results are untrusted input | invoices_extract says so in its description; the eval set includes a prompt-injection case | |||
| Typed errors | `{"error": "approval_required" \ | "validation_failed" \ | "business_rule" \ | "not_found", "retryable": bool, ...}` |
| Log for the auditor | audit.jsonl: actor, tool, ids, approval reference | |||
| Human checkpoint enforced server-side | erp_post_invoice refuses without a recorded approval, whatever the client believes |
python -m venv .venv && . .venv/bin/activate
pip install -e ".[dev]"
python -m invoice_intake_mcp.orchestrator # process the inbox python -m invoice_intake_mcp.approve list # see what is waiting python -m invoice_intake_mcp.approve APR-xxxx approved --by cfo python -m invoice_intake_mcp.orchestrator --resume # post the approved item cat audit.jsonl
Expected first run:
plan: 4 new invoices -> extract, resolve vendor, match, stage, post-or-approve
invoice_2291.pdf: staged STG-… -> WAITING for APR-… (7,420 EUR > 5,000 limit) invoice_2292.pdf: match=goods_not_received -> REVIEW invoice_2293.pdf: match=variance {"variance_pct": 2.34} -> REVIEW invoice_2294.pdf: no PO reference -> REVIEW (ask requester)
The orchestrator is deterministic so the flow replays without an API key. An LLM belongs in the places marked in orchestrator.py (ambiguous vendor candidates, free-text remarks, the note back to the requester), not in the match rule, the tolerance or the approval limit.
{
"mcpServers": { "invoice-intake-read": { "command": "uvx", "args": ["invoice-intake-mcp", "--role", "read"] }, "invoice-intake-commit": { "command": "uvx", "args": ["invoice-intake-mcp", "--role", "commit"] } } }
Give an agent only the *read* server unless it is the orchestrator.
pytest # unit tests on the core operations and the gate
python evals/run.py # replayable decision cases, run on every change
invoice_intake_mcp/
core.py business operations + policy (tolerance, approval limit), pure functions server.py the two MCP servers and their tool descriptions orchestrator.py minimal hub over MCP stdio: read server for work, commit server for posting approve.py the human decision, as a CLI audit.py append-only JSONL audit log erp.py fake ERP / inbox state (JSON file) tests/ pytest evals/ cases.jsonl + run.py
MIT. Built by JustDukkan, AI solutions architecture.