freelance-invoice について
freelance-invoice は、番号付き請求書を作成する MCP サーバーです。税額計算と A4 PDF に対応し、フリーランスや小規模事業者向けに顧客や入金も管理します。事業情報と請求書データはローカルに保存されます。
主な機能
- 01番号付き請求書と税明細の作成
- 02事業者情報と顧客の管理
- 03A4 請求書 PDF の生成
- 04全額・一部入金の記録
- 05延滞請求書と未払い残高の追跡
- 06複数通貨への対応
活用シーン
- 01VAT を含む顧客向け請求書の作成
- 02送付用請求書 PDF の生成
- 03一部または全額入金の記録
- 04延滞請求書と未払い残高の確認
MCP 対応
請求書、顧客、入金のツール、未払い請求書のリソース、月次請求用プロンプトを MCP クライアントに公開します。請求書の作成・取得、入金記録、延滞残高の確認ができます。
設定
リモートサーバーはインストール不要です。クライアントを選んで設定をコピーするか、ワンクリックで導入できます。
https://mcp.zovo.one/mcp/freelance-invoiceclaude mcp add --transport http theluckystrike-freelance-invoice https://mcp.zovo.one/mcp/freelance-invoice{"mcpServers":{"theluckystrike-freelance-invoice":{"type":"http","url":"https://mcp.zovo.one/mcp/freelance-invoice"}}}Cursor で開く{"servers":{"theluckystrike-freelance-invoice":{"type":"http","url":"https://mcp.zovo.one/mcp/freelance-invoice"}}}VS Code で開く{"mcpServers":{"theluckystrike-freelance-invoice":{"type":"http","url":"https://mcp.zovo.one/mcp/freelance-invoice"}}}{"mcpServers":{"theluckystrike-freelance-invoice":{"serverUrl":"https://mcp.zovo.one/mcp/freelance-invoice"}}}コマンドはターミナルで実行し、JSON は各クライアントの MCP 設定に貼り付けて再起動します。認可が必要なサーバーは初回接続時にログインを求めます。
https://mcp.zovo.one/mcp/freelance-invoice認証が必要ツール
13| パラメーター | 型 | 必須 | 説明 |
|---|---|---|---|
| vat | number | いいえ | default_tax_rate の別名 |
| bank | string | いいえ | 銀行名 / BIC |
| iban | string | いいえ | 支払い用の IBAN または口座番号 |
| name | string | はい | 事業者またはフリーランサーの名称 |
| string | いいえ | ご自身のメールアドレスです。ユーザーから指定されていない限り省略してください。どのサーバーも、このプロフィールまたは明示的な引数以外からメールアドレスを補完することはありません | |
| phone | string | いいえ | ご自身の電話番号。メールアドレスと同じルールで、ユーザーが提示した場合に限ります |
| vat_id | string | いいえ | VAT / 税務登録番号 |
| address | string | いいえ | 郵送先住所。改行を含めることができます |
| tax_rate | number | いいえ | default_tax_rate の別名 |
| timezone | string | いいえ | 作業場所の IANA タイムゾーン(例:Europe/Warsaw)。time-tracker(エントリーはこのタイムゾーンで記録)および timezone(自宅のタイムゾーン)と共有されます |
| vat_rate | number | いいえ | default_tax_rate の別名 |
| logo_path | string | いいえ | PNG または JPG 形式のロゴへのパス(Pro) |
| invoice_prefix | string | いいえ | 請求書番号のプレフィックス。デフォルトは INV(カスタムプレフィックスは Pro) |
| default_currency | string | いいえ | ISO コード(例:EUR、USD、JPY)。デフォルトは EUR |
| default_tax_rate | number | いいえ | 個別の税率が設定されていない項目に適用するデフォルトの VAT 率 |
| payment_terms_days | number | いいえ | デフォルトの支払期限(日数)。デフォルトは 14 |
詳細
Claude から無料の MCP サーバーを使って請求書を作成・送信する
AI Product Indexに掲載 - mcp.zovo.one/s/invoiceの稼働中のリモートエンドポイント。無料プラン、登録不要です。
Awesome MCP Serversで紹介 - ディレクトリ掲載ページ | 稼働中のホスト型エンドポイント。無料プラン、登録不要です。
「Acme への請求書を作成してください。12時間、1時間あたり90 EUR、支払期限は14日後」と伝えれば、送付できる本物のPDFが作成されます。この MCP サーバーは、事業者プロフィールと顧客情報を保存し、再利用されることのない連番の請求書番号を割り当て、小数単位の整数で小計、割引、VAT税率ごとの税額、合計を計算します。また、発行者情報と支払い情報、折り返し表示に対応した品目テーブル、適切な合計欄を備えたA4 PDFを生成します。支払い状況も追跡でき、Proでは支払期限を過ぎた請求書と超過日数を報告します。すべてのデータはお使いのマシン上のプレーンなJSONファイルに保存され、外部にアップロードされることはありません。
公式MCP Registryに登録されています(io.github.theluckystrike/invoice-pdf-billing-generator)。

チャットから、税額欄付きの番号入り請求書と本物のPDFを作成できます。請求書発行SaaSは不要です。
60秒でインストール
@theluckystrike/mcp-invoiceのnpm公開は保留中です。それまでは、.mcpbワンクリックバンドルまたはクローンしてビルドする方法をご利用ください。以下の両方の動作を確認済みです。
ワンクリック(.mcpb):最新リリースからinvoice.mcpbをダウンロードし、Claude Desktopでダブルクリックします。
https://github.com/theluckystrike/mcp-servers/releases/latest
(claude_desktop_config.json):
{
"mcpServers": {
"invoice": {
"command": "npx",
"args": ["-y", "@theluckystrike/mcp-invoice"]
}
}
}
Claude Code:
claude mcp add invoice -- npx -y @theluckystrike/mcp-invoice
(.cursor/mcp.json):
{
"mcpServers": {
"invoice": {
"command": "npx",
"args": ["-y", "@theluckystrike/mcp-invoice"]
}
}
}
上記のnpx形式は、パッケージが公開され次第利用できるようになります。それまでは、上記の.mcpbバンドルを使うか、次の3つのコマンドだけでソースからビルドしてください。
git clone https://github.com/theluckystrike/mcp-servers.git && cd mcp-servers
npm install
npm run build -w packages/mcp-license -w servers/invoice
その後、クライアントのcommandにnodeを指定し、引数としてservers/invoice/dist/index.jsの絶対パスを1つ渡します。
Proモードで実行するには、同じ設定ブロックにMCP_LICENSE_KEYを設定するか、キーを指定してlicense_activateを一度呼び出してください。
ツール
| ツール | 機能 |
|---|---|
business_set | 発行者のプロフィールを保存します:名称、住所、メールアドレス、VAT ID、IBAN、銀行、ロゴ、デフォルト通貨、デフォルト税率、支払い条件、請求書のプレフィックス。tax_rate、vat_rate、vat は default_tax_rate の別名として受け付けます。また、認識されないフィールドは破棄せず、結果として返します |
client_add | クライアント(名称、住所、メールアドレス、VAT ID)を追加または更新します。すでに保存されているものと同一のレコードは拒否され、そのレコードを保持する ID が示されるため、同じクライアントを重複して保存することはできません |
client_delete | 使用中でない保存済みクライアントを削除します。請求書、見積書、クレジットノート、発注書、デポジット、明細書、または定期スケジュールから参照されている間は、該当書類を示して削除を拒否します |
client_list | 保存済みクライアントを ID とともに一覧表示します |
invoice_create | 明細項目から請求書を作成します。次の番号を割り当て、割引、税率ごとの税額、合計を計算します。項目には行ごとの currency を指定できますが、通貨が混在している場合は、1 つの通貨として請求することを拒否します。名前だけでクライアントを作成した場合、応答には BILL TO ブロックに住所がないことと、住所の追加方法が示されます |
invoice_from_hours | ショートカット:1 人のクライアントに対し、N 時間分を時間単価で請求します。target_currency + fx_rates を指定すると、別の通貨で請求書を発行します(レートは自分で指定します)。新しい請求書番号とともに entry_ids が返されるため、時間トラッカーの entry_mark_billed で記録済み時間を請求済みにできます |
invoice_list | ステータス、クライアント、発行日範囲で絞り込んで請求書を一覧表示します |
invoice_get | 請求書番号を指定して、保存済みレコード全体を取得します |
invoice_mark_paid | 全額または一部の支払いを記録し、残高を報告します |
invoice_pdf | A4 PDF を生成してファイルパスを返します。ファイルが PDF の場合にのみ、応答で PDF と呼びます |
overdue_report | 期日を過ぎた未払い請求書、延滞日数、通貨ごとの未払い合計を表示します。無料です |
license_status | Free モードか Pro モードかを表示します |
license_activate | Pro キーを有効化します(オフラインで検証) |
リソース:invoices://open は、全額未払いまたは一部支払い済みの請求書を JSON で返します。
プロンプト:monthly_invoicing は、ある月の未払いおよび延滞状況を確認し、次の請求書の下書きを作成します。
できること
| 指示 | ツール |
|---|---|
| 「事業を設定して:Acme Consulting、EUR、VAT 23%、支払い条件は 14 日。」 | business_set |
| 「クライアントを追加して:Beta Corp、VAT ID は…、メールアドレスは [email protected]。」 | client_add |
| 「クライアントを一覧表示して。」 | client_list |
| 「重複している Beta Corp のクライアントを削除して。」 | client_delete |
| 「Acme に 12 時間分を 90 EUR、セットアップ費用 300 EUR、VAT 23% で請求して、PDF にして。」 | invoice_create + invoice_pdf |
| 「Beta Corp に 5 時間分を 120 EUR で請求して。」 | invoice_from_hours |
| 「8 月分の未払い請求書をすべて表示して。」 | invoice_list |
| 「請求書 INV-2026-0007 を開いて。」 | invoice_get |
| 「INV-2026-0007 を全額支払い済みにして。」 | invoice_mark_paid |
| 「未払いで延滞している請求書はどれ?」 | overdue_report |
| 「無料プランと Pro のどちらを使っている?」 | license_status |
使用例
docs/USER_VALUE_R2.md より。エンドツーエンドでテストし、計算結果と独立して照合した正確なリクエストです。
You: Invoice Acme for 12 hours of API work at 90 EUR plus a 300 EUR setup fee,
23% VAT, due in 14 days, and give me the PDF.
invoice_create {
client: "Acme", currency: "EUR", due_days: 14,
items: [
{ description: "API work", quantity: 12, unit_price: 90, tax_rate: 23 },
{ description: "Setup fee", quantity: 1, unit_price: 300, tax_rate: 23 }
]
}
-> INV-2026-0001, client "Acme" created with no address on file
invoice_pdf { number: "INV-2026-0001" }
-> /Users/you/.../invoice/pdf/INV-2026-0001.pdf
Assistant: Created INV-2026-0001 for Acme.
API work 12 h x EUR 90.00 = EUR 1080.00
Setup fee 1 x EUR 300.00 = EUR 300.00
Subtotal EUR 1380.00
Tax 23% on EUR 1380.00 EUR 317.40
Total EUR 1697.40
Note: Acme was created from a bare name with no address. Add one with
client_add before you send this. PDF: INV-2026-0001.pdf
計算:12 x 90 = 1080.00、これに 300.00 を加えると小計は 1380.00。1380.00 の 23% は 317.40、合計は 1697.40 EUR です。PDF とテキスト応答のすべての金額に通貨コードが付くため、通貨コードのない数字が表示されることはありません。
Free と Pro の比較
| Free | Pro | |
|---|---|---|
| 請求書 | 暦月ごとに 3 件 | 無制限 |
overdue_report | はい、無制限 | はい、無制限 |
| 「Generated with mcp-invoice by theluckystrike」の行が表示されます | ブランド表示なし | |
| PDF のロゴ | なし | あり |
| カスタム請求書プレフィックス | なし。INV 固定 | あり |
| クライアント、税額行、割引、支払い、複数通貨 | はい | はい |
Pro は買い切り $19、またはコレクション内のすべてのサーバーで利用する場合は $39 で、ライフタイムライセンスです。
番号と金額
請求書番号は PREFIX-YYYY-NNNN です。カウンターはプレフィックスと年ごとに永続化され、請求書を保存する前に書き込まれるため、クラッシュした場合は番号が再利用されずに欠番になります。また、既存の番号もスキャンされるため、データファイルを復元した場合でも、送付済みの書類に記載された番号が再度割り当てられることはありません。
明細の単価、明細金額、小計、割引額、各税額、合計、残額など、テキスト応答と PDF のどこに表示される金額にも、通貨コードが付きます。たとえば EUR 1080.00 のように表示され、通貨コードのない金額が表示されることはありません。
すべての金額は整数の最小通貨単位で保持されます。1 単位あたりの最小通貨単位の数は推測ではなく、ISO 4217 の表に基づきます。多くの通貨では 2、JPY、KRW、VND、CLP、ISK など小数点以下 0 桁の通貨では 0、BHD、IQD、JOD、KWD、LYD、OMR、TND では 3、CLF と UYW では 4 です。KWD 1.234 は 123 ではなく、最小通貨単位で 1234 です。この表は mcp-expense-tracker のものと同一です。2 つのサーバー間で金額をやり取りするため、一方で小数点以下 3 桁の通貨がもう一方で 2 桁として扱われると、金額が 10 倍に変わってしまうためです。HUF の小数点以下の桁数は 2 です。ISO 4217 では最小通貨単位の桁数が 2 とされていますが、通常は小数点以下を付けずに表示されます。丸めは明細ごとに行ってから合算します。まず各明細の税込額を丸め、請求書単位の discount_percent を適用して明細ごとに丸め、税額を計算して明細ごとに丸めたうえで、税率ごとに 1 行にまとめます。合計は、すでに丸められた値を整数のまま単純に合算します。そのため、表示された合計が表示された明細と食い違うことはありません。日付は ISO 形式の YYYY-MM-DD です。
データの保存方法
事業者プロフィール、クライアント、請求書、番号カウンターは、${XDG_DATA_HOME:-~/.local/share}/mcp-servers/invoice/ の個別の JSON ファイルに保存され、レンダリング済み PDF は pdf/ サブフォルダーに保存されます。変更を伴う各呼び出し(business_set、client_add、invoice_create、invoice_from_hours、invoice_mark_paid)は locked() 内で実行されます。locked() は呼び出しの実行中、.../invoice/.lock にアドバイザリーロックファイルを取得します。これにより、請求書が同じ秒に 2 件作成されても番号を安全に割り当てられます。カウンターの読み取り、インクリメント、請求書の書き込みがすべて 1 つのロックの下で行われるためです。保存時には一時ファイルに書き込み、所定の場所に名前を変更します。請求データをバックアップするには、invoice/ データディレクトリ全体をコピーしてください。レンダリング済みファイルも必要な場合は pdf/ も含めます。保存されたレコードから invoice_pdf を使っていつでも再生成できます。
いずれかの JSON ファイルが読み取れない、または有効な JSON でない場合、そのファイルが「空」として扱われることはありません。ファイルはバイト単位でそのまま <name>.json.corrupt-<timestamp> に移動され、<name>.json.corrupt マーカーが書き込まれます。正常なコピーを復元してマーカーを削除するまで、すべてのツールは data file is corrupt; moved to ...; nothing was written を返します。途中で切り詰められた clients.json が空のクライアントリストに黙って置き換えられることは、もうありません。
制限事項と正直な注意点
- 無料プランでは、暦月あたり3件まで請求書を作成できます。カウンターは毎月1日にリセットされます。
overdue_reportと、それ以外のすべて(クライアント、税項目、割引、支払い、複数通貨)は無料プランでも無制限です。 - クライアントは使用量の計測対象になりません。無料プランでも Pro でも、クライアントリストは無制限です。
client_addは保存済みのレコードと同一のレコードを引き続き拒否し、client_deleteは未使用のクライアントを削除するため、ライセンスキーがなくても入力ミスや重複レコードはいつでも元に戻せます。いずれかのドキュメントから参照されているクライアントは削除できません。 - 無料プランの PDF には、「Generated with mcp-invoice」という小さなフッター行が表示されます。Pro ではこれがなくなり、ロゴが追加されます。
- サーバーがこれまでに認識したことのないクライアント名で請求書を作成すると、住所なしでそのクライアントが作成されます。レスポンスではその旨が示され、修正用の
client_addが案内されますが、この注意を無視して、名前だけの BILL TO ブロックを含む PDF を送ることは妨げられません。 - このサーバーは、メール送信、支払いリンク、会計ソフトとの同期には対応していません。PDF とレコードを作成しますが、クライアントに届けるのはご自身の役目です。
- 通貨換算は一切行われません。請求書の通貨は作成時に固定され、すべての明細にはすでにその通貨での金額を指定する必要があります。
トラブルシューティング
npxがハングする、またはパッケージが見つからない:このパッケージの npm 公開は保留中です。公開されるまでは、上記の.mcpbバンドルまたはクローンしてビルドする方法を使用してください。.mcpbバンドルを使用する場合:Claude Desktop に直接インストールされるため、別途設定する必要はありません。- クローンする方法を使用する場合:
npm run buildの実行後、サーバーバイナリはservers/invoice/dist/index.jsにあります。クライアントのcommandをnodeに設定し、引数にはその絶対パスだけを指定してください。 - Node のバージョン:Node >= 18 が必要です。
node -vで確認してください。 - 通貨の混在:明細には個別の
currencyを指定できます。1つの請求書に含まれるすべての明細は請求書の通貨と一致する必要があります。一致しない場合は拒否され、メッセージで必要な換算呼び出し(target_currencyとfx_ratesを指定したexpense_to_invoice)が案内されます。USD の見出しの下に EUR の明細を黙って請求することはありません。請求書にcurrencyが指定されていない場合は、すべての明細で一致する1つの通貨が請求書の通貨になります。 - 事業者プロフィールがまだない:プロフィールがなくても請求書の作成はブロックされません。
invoice_createとinvoice_from_hoursは発行者としてプレースホルダーの「Your business」を記載したドキュメントを発行し、その旨を1行で示します。business_set {name, address, vat_id, iban}を実行してから PDF を再生成すると、置き換えられます。 - PDF の生成に失敗する、または表示がおかしい:
invoice_pdfはネイティブ依存関係のない純粋な JavaScript のレンダラーpdfkitを使用するため、失敗の原因はほとんどの場合、環境ではなくbusiness_setのフィールドが未設定または不正であることです(まずinvoice_getを確認してください)。 - 予期せず「今月の請求書は3件まで」に達した:無料プランの上限はクライアントごとではなく、すべてのクライアントを対象とする暦月ごとの上限です。
invoice_listで、上限にカウントされた請求書を確認できます。 - 何も表示されない/エラーが表面化しない:ログは stderr にのみ出力され、stdout には出力されません。Claude Desktop では[Settings]->[Developer]-> サーバーのログファイルを確認してください。Claude Code ではターミナルまたは
--mcp-debugを確認してください。
プライバシー
すべてのデータは ${XDG_DATA_HOME:-~/.local/share}/mcp-servers/invoice/ にローカル保存されます。ネットワーク呼び出しはありません。ライセンスキーはパッケージにコンパイルされた公開鍵を使ってオフラインで検証され、PDF はお使いのマシン上で生成されます。
関連ツール
- mcp-time-tracker:こちらの
invoice_summaryの出力を、ここでのinvoice_createの明細にそのまま対応させられます。 - mcp-spreadsheet:請求書を作成する前に、シートから明細やクライアントリストを取り出せます。
- mcp-price-tracker:価格を追跡した商品やサービスについて、クライアントに請求書を発行できます。
- office-suite:すべての関連サーバーを、1回のインストールと1つの設定項目で利用できます。
- ガイド:MCP サーバーを使ってチャットメッセージから請求書 PDF を作成する
よくある質問
はい。税率は明細項目ごとに適用されます。合計欄には税率ごとに税額が1行ずつ表示されるため、23%の明細と0%のリバースチャージの明細は別々に表示され、合計額も正しく計算されます。
発行者とクライアントの情報、日付、明細ごとの税額を含む明細表、小計、税額、合計、IBANと参照番号を含む支払い情報を記載したA4サイズの1ページです。まず client_add でクライアントの住所を追加してください。そうしないと、BILL TOには名前だけが表示されます。
INV-YYYY-NNNN 形式で、番号は順番に割り当てられ、再利用されません。プレフィックスは business_set で設定できます。INV 以外のプレフィックスはPro機能です。
いいえ。pdfkit を使用してローカルでレンダリングされ、請求書の記録は
~/.local/share/mcp-servers/invoice/ に保存されます。サーバーはネットワークへの接続を一切行いません。
金額は整数の最小通貨単位で扱われます。各明細は1回だけ丸めてから合計されるため、23%のVATを加えた、1時間あたり90 EURで12時間分の料金と300 EURを合わせた場合、浮動小数点の誤差なしで1380.00に317.40を加えた1697.40になります。
theluckystrike によって作成されました。
スイート全体で1つのビジネスプロフィールを使用
あなたの情報は ${XDG_DATA_HOME:-~/.local/share}/mcp-servers/profile/business.json に一度だけ保存され、スイート内のすべてのサーバーが読み込みます。請求書の発行者情報、docxのレターヘッド、定期請求書の発行者情報、expense-trackerのデフォルトVAT税率、time-trackerとtimezoneのホームタイムゾーン、履歴書と契約書のレターヘッドに適用されます。business_set(invoiceまたはdocx)で一度設定すれば、ほかの場所で繰り返す必要はありません。メールアドレスは、プロフィールに保存されたものか、明示的に指定された引数からのみ取得されます。保存されていない場合、書類には [add: email] と表示され、ツールもその旨を伝えるため、誰かがメールアドレスを勝手に作ることはありません。
よくある質問
請求書用の無料MCPサーバーはありますか?
はい。mcp.zovo.oneの請求書サーバーは、請求書用の無料MCPサーバーです。Claudeまたは任意のMCPクライアントから、税額やVATの明細を含む請求書を作成し、プロフェッショナルなPDFを生成して、支払い状況を追跡できます。1暦月につき3件まで無料で、インストールも不要です。ホスト型URLをクライアントに貼り付けるだけです。
Claudeから請求書を作成するにはどうすればよいですか?
ホスト型エンドポイント https://mcp.zovo.one/mcp/invoice に接続し(mcp.zovo.one/mcp/connect からトークン付きURLをコピーします)、次のように指示します。「Acme宛てに、1時間あたり90 EURで12時間分、VAT 23%、支払期限は14日後の請求書を作成してください。」Claudeが番号付きの請求書を作成し、PDFを返します。
これらのドキュメントをMCPサーバーとして使用
任意のMCPクライアント(Claude、Cursor、Windsurf、VS Code)から、インストールなしでGitMCPを介してこのリポジトリのドキュメントを直接読み込めます。
- Docs MCP URL:https://gitmcp.io/theluckystrike/mcp-invoice
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。