Spec Driven Development
MCP Server that facilitates spec-driven development workflows, not just Vibe Coding.
Description from the maker (original English)
GooodBilling 公式 MCP Server — Claude Desktop / Cursor 等の MCP 対応クライアントから AI ファーストで請求書・見積を操作する
These three are never merged into one score: opinions, measurements and popularity are different things.
We have not written a plain-language summary for this one yet. Below are the facts we read from the registry.
Pick the AI app you use, then copy the settings.
GOOODBILLING_API_TOKEN, GOOODBILLING_API_BASE_URLValues marked secret are keys to your account. Never share them or paste them into a chat.
You need
Which app do you use?
Pick your app above. We remember it, so next time the button says “Install in …”.
Open Claude Desktop → Settings → Developer → Edit Config, and paste this into claude_desktop_config.json
{
"mcpServers": {
"gooodbilling": {
"command": "npx",
"args": [
"-y",
"@gooodbilling/mcp-server"
],
"env": {
"GOOODBILLING_API_TOKEN": "your-value",
"GOOODBILLING_API_BASE_URL": "your-value"
}
}
}
}Run this in your terminal
claude mcp add gooodbilling --env GOOODBILLING_API_TOKEN=your-value --env GOOODBILLING_API_BASE_URL=your-value -- npx -y @gooodbilling/mcp-serverFill in the empty values before running it.
Paste into .cursor/mcp.json in your project, or ~/.cursor/mcp.json
{
"mcpServers": {
"gooodbilling": {
"command": "npx",
"args": [
"-y",
"@gooodbilling/mcp-server"
],
"env": {
"GOOODBILLING_API_TOKEN": "your-value",
"GOOODBILLING_API_BASE_URL": "your-value"
}
}
}
}Your browser asks to open the app, then the app shows the settings and asks you to confirm. Key values are left empty for you to fill in.
Paste into .vscode/mcp.json in your project
{
"servers": {
"gooodbilling": {
"type": "stdio",
"command": "npx",
"args": [
"-y",
"@gooodbilling/mcp-server"
],
"env": {
"GOOODBILLING_API_TOKEN": "your-value",
"GOOODBILLING_API_BASE_URL": "your-value"
}
}
}
}Your browser asks to open the app, then the app shows the settings and asks you to confirm. Key values are left empty for you to fill in.
This one runs on your computer, and ChatGPT can only connect to servers on the internet. Pick another app.
Your choice stays on this device in a cookie; no account needed.
GOOODBILLING_API_BASE_URL envThese settings are generated from the maker’s registry entry. If the README says otherwise, follow the README.
Runs on your computer; the tool list appears in your AI app after you install it.
We check information anyone can see; we have not read the code. Checks that do not apply are left out of the count. · Checked Nov 7, 2026
The registry name was verified with the GitHub account gooodbilling, which owns the repo
We have not read this repo from GitHub yet
We have not read this repo from GitHub yet
This one runs on your computer; there is no internet endpoint
Runs on your computer and uses local settings instead
Runs on your computer; we can only read tool lists from internet endpoints
Compared with every active server in this category in the registry. Stars count only when the publisher owns the repo.
It passed 1 of 1 applicable basic checks. We have not read the code. Before adding a key or token, see what access the server asks for and use a key with only the permissions you need.
You need to fill in: GOOODBILLING_API_TOKEN
It runs on your computer. Your AI app starts it when needed, and data does not pass through the maker’s servers (unless it calls an online service itself).
The GitHub repo last changed –, and the latest version (0.1.14) reached the registry 5 months ago.
Apps that support MCP, such as Claude Desktop, Claude Code, Cursor and VS Code. You also need Node.js on your computer.
In the same category: Spec Driven Development, Remote Desktop Commander, Georgia MCP
Servers in the same category from other makers, sorted by stars.
Reading a card:★ GitHub starsiThree pillars: reviews · checks · usageiUpdated = latest version published to the registryi
MCP Server that facilitates spec-driven development workflows, not just Vibe Coding.
Remote Desktop Commander: use files, terminal and processes on your own computers from any AI app.
An MCP server for Georgian public data, read from the organizations that publish it.
Copied from the maker’s repo as written. PopNx MCP has not reviewed or endorsed it. HTML, images and scripts are removed. Links lead off this site.
GooodBilling 公式 MCP Server。Claude Desktop / Cursor 等の MCP 対応クライアントから、AI ファーストで請求書・見積書を操作できます。
「A 社向け Web 制作 30 万円で請求書作って」「保守費 10 万円も追加して」「これで送信して」— PC を開かず、チャットだけで業務を完結できます。
設定 > AI 連携 > API トークン を開くgb_live_...) を 1 度だけコピー⚠️ トークンは発行時に 1 度だけしか表示されません。必ずすぐに MCP クライアントの設定に登録してください。
~/Library/Application Support/Claude/claude_desktop_config.json%APPDATA%\Claude\claude_desktop_config.jsonmcpServers セクションに以下を追加{
"mcpServers": { "gooodbilling": { "command": "npx", "args": ["-y", "@gooodbilling/mcp-server"], "env": { "GOOODBILLING_API_TOKEN": "gb_live_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx" } } } }
ツールアイコンに gooodbilling が表示されれば成功です。
Claude / ChatGPT 等の AI は、あなたのチャットを 複数の MCP (Gmail / Calendar / Drive / Stripe など) や Web 検索 から拾える状態で受け取ります。「カナリア出版の連絡先教えて」とだけ言われると、AI は GooodBilling の取引先なのか実在出版社なのか判断できず、確認質問されるか Web 検索に流れます。
これを避けるため、セッション最初の 1 発目 だけ以下のヒント語を含めてください。2 発目以降は文脈が確立されるので省略 OK です。
| 段階 | 例 | プレフィックス必要? |
|---|---|---|
| Tier 1: GooodBilling 固有語 | 請求書 / 未払い / 未入金 / 売掛 / 見積 / 案件 / インボイス | ❌ 不要 (単独で OK) |
| Tier 2: 他システムにもある語 | 連絡先 / 売上 / 送信 / 設定 / 取引履歴 | ✅ 必要 |
| Tier 3: 固有名詞のみ | 会社名だけ (カナリア出版 等) | ✅ 必要 |
どれか 1 つ含めれば OK:
GooodBillingで / GooodBillingの請求システムの / 請求管理の取引先の / 顧客の / 売上先のAI 連携の (送信機能・設定の文脈)| ❌ 曖昧 (Web 検索に流れる / 確認質問される) | ✅ 確実に呼ぶ |
|---|---|
カナリア出版の連絡先教えて | 取引先のカナリア出版の連絡先教えて |
今月の売上どんなもん? | 請求システムの今月の売上は? |
送信機能 ON だっけ? | AI 連携の送信機能 ON だっけ? |
あの会社の電話番号 | 顧客の○○社の電話番号 |
請求書 未払い 未回収 売掛金 見積 案件 のような Tier 1 語を含む場合はそのまま使えます:
カナリア出版に 5 万円で請求書出して ← 請求書 で確定未払いある? ← 未払い で確定未回収教えて ← 未回収 で確定カナリアの見積一覧見せて ← 見積 で確定AI クライアントに Stripe など他の請求・決済 MCP が同時接続されていると、Tier 1 単語であっても AI 側がそちらを優先することがあります (「未払い」「請求書」等は Stripe のドメインにも存在するため)。
その環境では 最初の 1 発目に `GooodBillingで` を付けるのが最も確実:
| フレーズ | 起こりうる挙動 (Stripe 併用時) |
|---|---|
未払いある? | Stripe を優先選択する可能性 |
売上どう? | Stripe Payments の売上を見に行く |
請求書一覧 | Stripe Invoices を優先することがある |
対策の優先順:
GooodBillingで未払いある?売掛金の未回収どう? / 請求書 (発行側) の未払い見せて適格請求書の発行状況 等の業務特化語を使う → 2 発目以降は省略可| クライアント | プレフィックス | 備考 |
|---|---|---|
| Claude Desktop / Cursor | (上記ルール) | ツール権限「常に許可」推奨 |
| ChatGPT (Custom GPTs Actions) | 不要 | OpenAPI で 1 API のみ呼ぶため曖昧性なし |
| LINE / Slack Bot | 不要 | Bot 実装が GooodBilling API のみ叩く設計 |
| Zapier / Make / n8n | 不要 | トリガー/アクションで API 明示。スコープ最小化推奨 |
draft 状態)👤 ユーザー
「A社向けに、Web制作費 30万円で請求書ドラフトを作って」
🤖 Claude search_customers({query: "A社"}) → cus_xxx (株式会社サンプルA) create_invoice_draft({customer_id: "cus_xxx", title: "Web 制作費", ...}) → { id: "inv_yyy", status: "draft", total_amount: 330000, pdf_preview_url: "..." }
「下書きを作成しました。 取引先: 株式会社サンプルA 合計: ¥330,000 (税込) PDF を確認する 内容に問題なければ『送信して』とお伝えください。」
👤 ユーザー 「保守費 10万円も追加して」
🤖 Claude get_invoice({invoice_id: "inv_yyy"}) → 現状取得 update_invoice_draft({invoice_id: "inv_yyy", items: [Web制作費, 保守費]}) → total_amount: 440000
「修正しました。保守費 10万円を追加し、合計 ¥440,000 になりました。 更新後の PDF を確認」
👤 ユーザー 「OK、送信して」
🤖 Claude send_invoice({invoice_id: "inv_yyy"}) → status: "sent"
「A社の担当者様 (billing@example.com) へ送付完了しました。 控えがあなたのメールにも届きます。」
このセクションは MCP Server を組み込むアプリケーション (LINE Bot, Slack Bot, 音声アシスタント等) の実装者向けです。AI モデルがツール呼出を組み立てる際に守ってほしい原則です。
create_invoice_draft / create_quote_draft に渡す customer_id は、必ず `search_customers` で取得した実在 ID を使ってください。AI が記憶や推測で UUID を組み立てると 422 invalid_request が返ります。
検索結果が 0 件の場合は、新規取引先を勝手に登録せず、ユーザーに正式名称の確認を促してください。
items[].tax_rate_code は 省略を推奨します。サーバー側が以下の優先順位で自動補完します:
AI が幻覚で軽減税率を勝手に当てる事故を構造的に避けられます。指定する場合はテナントの税率マスタに登録されたコード (例: STD10, RED8) を渡してください。
update_invoice_draft / update_quote_draft を呼ぶ前に、必ず `get_invoice` / `get_quote` で最新状態を取得し、items[] をメモリ上で merge してから PATCH してください。
items[] を含む PATCH は配列全置換のため、merge を怠ると既存明細が失われます。
send_invoice / send_quote は 取引先へメール送付を実行し、取り消し不可です。
呼出前に必ず pdf_preview_url をユーザーに提示し、明示同意 (「送信して」「OK」等) を取得してください。AI が単独判断で送信することは避けてください。
送信系ツールは idempotency_key を省略可能です。MCP Server が UUID を自動生成して付与します。
同一送信意図 (例: ユーザーが「送信」と 2 回連続で入力した場合) では、同じ idempotency_key を渡すと二重送信が構造的に防止されます。
discard_invoice_draft / discard_quote_draft は draft 状態の書類のみを破棄できます。
確定済 (issued / sent / paid) 書類の取消は API では行わず、ユーザーに「Web 画面での赤伝処理が必要」と案内してください。
| 変数 | 必須 | 既定値 | 説明 |
|---|---|---|---|
GOOODBILLING_API_TOKEN | ✅ | — | API トークン (gb_live_...) |
GOOODBILLING_API_BASE_URL | ❌ | https://gooodbilling.com | API ベース URL (セルフホスト / staging 用) |
FATAL: GOOODBILLING_API_TOKEN is not set で起動失敗→ MCP クライアント設定の env セクションにトークンが正しく設定されているか確認してください。
invalid_token が返る→ トークンが失効済 / 期限切れの可能性。管理画面で再発行してください。
insufficient_scope が返る→ トークンに必要なスコープが付与されていません (例: send_invoice には emails:send + invoices:write が必要)。管理画面でスコープを確認し、不足があれば再発行してください。
send_disabled_by_tenant が返る→ テナント管理者が「AI / API 経由送信」を一時停止しています。管理画面 設定 > AI 連携 > API トークン > 送信設定 で有効化してください。
customer_email_missing が返る→ 取引先の担当者にメールアドレスが登録されていません。Web 画面で取引先担当者のメールを設定するか、send_invoice の to パラメータで明示指定してください。
MIT