per-diem について
per-diemは、ポーランド、HMRC、GSA CONUSの同梱レート表を使って出張手当を計算・記録します。内訳やレートの出典を確認したい出張・経理業務向けで、出張データはローカルに保存されます。
主な機能
- 01ポーランド、HMRC、GSAのレート
- 02日額と出張合計の計算
- 03部分日と食事控除の適用
- 04出張の保存・一覧・集計
- 05経費連携用データの出力
活用シーン
- 01出張手当の計算
- 02レートの出典と適用日の確認
- 03保存した出張の月別管理
- 04経費トラッカー向けデータの準備
MCP 対応
レート照会、手当計算、出張管理、経費出力データの準備を行うツールを提供するMCPサーバーです。ローカル利用とホスト型エンドポイントの両方に対応します。
設定
リモートサーバーはインストール不要です。クライアントを選んで設定をコピーするか、ワンクリックで導入できます。
https://mcp.zovo.one/mcp/per-diemclaude mcp add --transport http theluckystrike-per-diem https://mcp.zovo.one/mcp/per-diem{"mcpServers":{"theluckystrike-per-diem":{"type":"http","url":"https://mcp.zovo.one/mcp/per-diem"}}}Cursor で開く{"servers":{"theluckystrike-per-diem":{"type":"http","url":"https://mcp.zovo.one/mcp/per-diem"}}}VS Code で開く{"mcpServers":{"theluckystrike-per-diem":{"type":"http","url":"https://mcp.zovo.one/mcp/per-diem"}}}{"mcpServers":{"theluckystrike-per-diem":{"serverUrl":"https://mcp.zovo.one/mcp/per-diem"}}}コマンドはターミナルで実行し、JSON は各クライアントの MCP 設定に貼り付けて再起動します。認可が必要なサーバーは初回接続時にログインを求めます。
https://mcp.zovo.one/mcp/per-diem認証が必要ツール
9| パラメーター | 型 | 必須 | 説明 |
|---|---|---|---|
| city | string | いいえ | 都市別の料率を公表している制度で使用する、都市名または地域名 |
| scheme | enum | いいえ | "pl" ポーランド代表団規則、"uk" HMRC 基準定額、"us" GSA CONUS 標準。省略するとすべての制度が対象になりますpl | uk | us |
| country | string | いいえ | 国名または ISO コード(例:Germany、DE)。まず完全一致で照合し、次に部分文字列として照合します |
詳細
mcp-per-diem
税務当局が実際に公開しているレート表に基づいて出張の日当を計算し、計算した出張を保存できます。行き先、出発日時と帰着日時、ほかの人が負担した食事を指定すると、制度独自の通貨で、日ごとの金額と合計が表示されます。日割りルールと食事ごとの控除額も、その計算結果とともに確認できます。3つの制度を収録しています。ポーランドの出張規則(国内および国別)、英国国内の移動に対するHMRCの基準レート、米国GSAのCONUS標準M&IEおよび宿泊費です。レート表は同梱ファイルであり、ライブフィードではありません。そのため、同じ出張を2回計算すれば同じ結果になり、各レートには規則、出典URL、適用開始日が記録されます。データがマシンの外に送信されることはありません。
theluckystrikeが開発しました。
公式MCP Registry に登録されています(io.github.theluckystrike/per-diem)。

インストール
ワンクリック(.mcpb):最新リリースから per-diem.mcpb をダウンロードし、Claude Desktopでダブルクリックします:
https://github.com/theluckystrike/mcp-servers/releases/latest
ホスト型、インストール不要:URLベースのクライアントで https://mcp.zovo.one/mcp/per-diem を指定します。GET https://mcp.zovo.one/mcp/connect を実行するとトークンが発行され、すぐに使えるURLが表示されます。
@theluckystrike/mcp-per-diem のnpm公開は保留中のため、以下の npx の行は現時点では404を返します。
Claude Desktop(~/Library/Application Support/Claude/claude_desktop_config.json):
{
"mcpServers": {
"per-diem": {
"command": "npx",
"args": ["-y", "@theluckystrike/mcp-per-diem"]
}
}
}
Claude Code:
claude mcp add per-diem -- npx -y @theluckystrike/mcp-per-diem
Cursor(~/.cursor/mcp.json または .cursor/mcp.json):Claude Desktopと同じエントリーを使用します。
ツール
| ツール | 機能 |
|---|---|
perdiem_rates | 当局、法令、出典URL、適用開始日を含め、制度に同梱されているレートを一覧表示します。国または都市で絞り込めます。 |
perdiem_calc | 1件の出張を計算します。日ごとの手当と合計に加え、日割りの割合と、制度の規則に基づく食事控除額を表示します。 |
trip_record | 出張を計算し、共有ビジネスプロフィールの旅行者情報とともに名前を付けて保存します。 |
trip_list | 保存した出張を、通貨ごとの合計とともに一覧表示します。 |
trip_delete | エクスポートされておらず、費用が計上されていない保存済み出張を削除し、その出張が占めていた無料枠を解放します。 |
trip_export | 保存済み出張について、経費トラッカーサーバー用に、通貨ごとに1つのペイロードとして正確な expense_add 引数を出力します。 |
perdiem_report | 各制度独自の通貨で、制度別および暦月別の合計を表示します。 |
license_status | FreeまたはProの状態と、アップグレード先を表示します。 |
license_activate | Proキーを有効化します。オフラインで検証されます。 |
FreeとProの比較
| Free | Pro | |
|---|---|---|
perdiem_rates、perdiem_calc | はい、無制限 | はい |
| 暦月あたりの保存済み出張数 | 5件、開始日で判定 | 無制限 |
trip_list | はい、無制限 | はい |
trip_delete | はい、無制限 | はい |
trip_export | いいえ | はい |
perdiem_report | いいえ | はい |
Proを入手:買い切り$19、またはバンドルで$39。
テーブルに含まれるもの、意図的に含まれていないもの
src/tables/ 配下の各テーブルには、所管機関、制度、出典 URL、料金の適用開始日、料金を確認した日を記載した header があります。perdiem_rates は料金とともにこのヘッダーを返すため、数値には出典情報が添えられます。
テーブルに含める内容の基準は、公開されている規制文書の文面から確信を持って示せない値は、推測せずに省くことです。日当の金額は税務申告に記載されます。権威があるように見える誤った金額は、記載がない場合よりも問題です。記載がなければ、その旨が明示され、自分で調べられるからです。
| テーブル | 収録内容 | 省かれているもの |
|---|---|---|
| ポーランド、国内 | 1日あたり45.00 PLNの日当、宿泊費の定額手当150%、部分日および食事のルール | 地方交通費の定額手当20%は記載されていますが、支給されません。生活費ではないためです |
| ポーランド、海外 | 別表に記載された34か国の日当と通貨 | そのほかの約90か国と、国ごとの宿泊費上限すべて。国が記載されていない場合は「ここでは確認されていない」という意味であり、「料金が存在しない」という意味ではありません |
| 英国、国内 | HMRC のベンチマーク定額料金4種類すべて(5、10、15時間の区分と夜間追加手当) | なし |
| 英国、海外 | なし。 ファイルには料金リストが空であることを示すヘッダーとともに、空の料金リストが収録されています | 都市別の海外定額料金表全体。約250都市について、目的地の通貨でそれぞれ8種類の金額があります。このビルドでは確信を持って提示できなかったため、いずれも収録していません。perdiem_calc {scheme:"uk"} は海外の目的地を明示して拒否し、HMRC のページを案内します |
| 米国、GSA | FY2025 と FY2026 の CONUS の標準 M&IE と宿泊費上限、および公表されている食事の内訳 | 約300か所の標準外地域(ニューヨーク市、サンフランシスコなど)。これらに該当しない目的地には標準料金が適用されます。このテーブルに記載されているのはその料金です |
料金は変更されます。回答にある effective_date を確認してから利用し、出張日が近い場合は source_url を読んでください。
計算機が適用するルール
- 開始時刻と終了時刻は壁時計の時刻ではなく、瞬間を表します。 オフセット付きの ISO 8601(
2026-03-28T22:00:00+01:00)か、IANA のtimezoneを指定した現地日時を渡してください。経過時間はエポック時刻の差で計算されるため、時計変更をまたぐ出張は24時間ではなく23時間または25時間になります。 - ポーランドでは、出発から24時間単位で計算します。国内で24時間未満の場合、8時間未満は支給なし、8時間から12時間までは日当の半額、12時間を超えると全額です。24時間を超える場合は、1期間につき日当全額を支給し、残りが8時間以下なら半額、8時間を超えると全額です。海外では、8時間までは3分の1、8時間を超え12時間までは半額、12時間を超えると全額です。無料の食事がある場合、国内は1日分から25/50/25%、海外は15/30/30%を差し引きます。
- 英国では区分に応じて支給します。5時間以上の外出で5.00 GBP、10時間以上で10.00 GBP、15時間以上で25.00 GBP(午後8時時点で移動が続いている場合)です。5時間未満は支給されません。食事が提供された場合は、区分の金額からその食事分を比例配分して差し引きます。HMRC は原則(「提供された食事に対しては料金を支給しない」)を示しています。この比例配分の計算はこのサーバーによる解釈であり、その旨も回答に記載します。
- 米国では、目的地のタイムゾーンにおける暦日単位で計算し、初日と最終日は M&IE の75%を適用します。提供された食事は公表額に基づいて差し引き、5.00 USD の雑費は差し引きません。宿泊費は領収書に基づく払い戻しの上限であり、支給される手当ではありません。回答では毎回その旨を示します。
- 通貨を合算することはありません。 このサーバーには為替レートがないため、PLN の日当と EUR の日当は別々の金額として扱われます。
経費トラッカーへのエクスポート
trip_export は、expense-tracker サーバー向けの正確な expense_add 引数を通貨ごとに 1 つ返し、それ自体では何も書き込みません。これは意図的な設計です。expense-tracker はライブラリのエントリーポイントを公開しておらず、ID カウンター、カテゴリのルール、VAT の内訳、通貨のデフォルト値はすべて、独自のロックの下で動作する独自の expense_add ハンドラー内にあります。その data.json に直接行を追加すると、これらが何も適用されない経費が作られてしまいます。ネイティブに見えても、そうではありません。引数を返す方法は、kanban が time-tracker の timer_start に使っているものと同じ契約です。
ペイロードには vat_rate を設定しません。法定の日当は手当であり、購入ではないため、控除できる仕入 VAT はありません。
実測に基づく考察
国名の部分一致では、日当が知らないうちに別の国のレートで計算されることがあります。
最初のビルドでは、渡航先を完全一致、次に ISO コード、最後に country.includes(destination) で照合していました。オマーンへの出張は、警告もなく EUR 建てで計算されました。"romania".includes("oman") は true なので、ルーマニアの日当 42.00 EUR が適用されたのです。このビルドに含まれる 34 か国にオマーンは含まれていないため、正しい対応は、対象範囲の不足を明示して拒否することでした。しかし実際には、約 3,000 km 離れた国のレートが、誤った通貨で、確信に満ちた数値として返されました。
修正は 1 行です。フォールバックは 4 文字以上の前方一致で、test/adversarial.test.mjs でアサートされています。この修正そのものよりも、一般的な考え方のほうが重要です。曖昧な照合は、不一致が安価に済む場合は安全ですが、不一致が黙って見過ごされる場合は危険です。ここでは不一致によって税額が算出されるため、フォールバックは安全側に倒して失敗しなければなりません。テーブルが意図的に不完全であることこそ、部分一致のフォールバックを危険にしています。テーブルが完全なら誤った行は惜しいところでの誤一致ですが、不完全なテーブルでは、そもそも一致してはならない行なのです。
プライバシー
すべてのデータはお使いのマシン内にとどまります。出張データは ${XDG_DATA_HOME:-~/.local/share}/mcp-servers/per-diem/ に JSON 形式で保存されます。レートテーブルはパッケージ内のファイルです。このサーバーはネットワークを呼び出さず、アカウントも API キーも必要ありません。ライセンスキーはオフラインで検証されます。
ライセンス
MIT。サポート:[email protected]
MCP サーバーとしてこのドキュメントを使用する
どの MCP クライアント(Claude、Cursor、Windsurf、VS Code)でも、GitMCP 経由でこのリポジトリのドキュメントを直接読み取れます。インストールは不要です。
- Docs MCP URL:https://gitmcp.io/theluckystrike/mcp-per-diem
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。