Monobank MCP Server について
Monobank MCP Serverは、Monobankの口座、取引、為替レート、Webhook設定をMCPクライアントに公開します。LLM向けに応答を整形し、頻繁に読むデータをキャッシュしてAPIへの反復リクエストを抑えます。
主な機能
- 01口座とジャーの詳細を取得
- 02取引明細を取得
- 03為替レートを照会
- 04Webhook設定を確認・変更
- 05頻繁に使うデータをキャッシュ
活用シーン
- 01口座残高とジャーを確認
- 02口座の取引履歴を取得
- 03為替レートやWebhook URLを確認
MCP 対応
Monobankのデータ取得とWebhook操作を、ClaudeなどのMCPクライアント向けツールとして提供します。個人向け口座ツールには `MONOBANK_API_TOKEN` が必要で、為替レートツールは認証不要です。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
ツール
2掲載時のツール一覧 · 3 週間前に更新
このツールにパラメーターはありません。
詳細
monobank-mcp
Monobank 用の MCP サーバーです。アカウント、取引、為替レート、Webhook の設定を、Claude やその他の MCP クライアント向けのツールとして提供します。
LLM で利用しやすいよう、応答はあらかじめ処理されています。金額は通貨の最小単位(セント)ではなく基本通貨単位で示され、タイムスタンプは ISO 8601、通貨コードは ISO 4217 文字列で、権限は人間が読みやすい名称に変換されます。頻繁にアクセスされるデータはサーバー側で 1 時間キャッシュされるため、繰り返し読み込んでも Monobank のレート制限に達しません。
クイックスタート — Claude Desktop
claude_desktop_config.json に追加します。
{
"mcpServers": {
"monobank": {
"command": "npx",
"args": ["-y", "@dirgen/monobank-mcp"],
"env": {
"MONOBANK_API_TOKEN": "your_token_here"
}
}
}
}
クイックスタート — Claude Code
claude mcp add monobank -- npx -y @dirgen/monobank-mcp
次に、トークンを .claude/settings.json に追加します。
{
"mcpServers": {
"monobank": {
"env": { "MONOBANK_API_TOKEN": "your_token_here" }
}
}
}
トークンの取得
api.monobank.ua を開き、Monobank アプリで QR コードをスキャンして、個人用 API トークンを生成します。トークンがマシンの外部に送信されることはありません。環境変数としてサーバープロセスに直接渡されます。
利用可能なツール
公開 — トークン不要
| ツール | 説明 |
|---|---|
monobank-bank-currency | Monobank のすべての為替レートを返します。baseCurrency / quoteCurrency(ISO 4217)、date(ISO 8601)、および取引ペアの場合は rateSell / rateBuy、クロスレートの場合は rateCross を返します。 |
monobank-bank-currency-rate | 単一の通貨ペアの為替レートです。入力:baseCurrency、quoteCurrency(デフォルトは UAH)。全件を取得するより高速です。 |
個人向け — MONOBANK_API_TOKEN が必要です
| ツール | 説明 |
|---|---|
monobank-personal-client-info | クライアントの全プロフィール:本人確認情報、デコードされたトークンの権限、FOP/ビジネスアカウント(managedClients)を含むすべての口座とジャー。口座の id フィールドを明細ツールに渡します。 |
monobank-personal-accounts | 口座とジャーの簡易一覧(id、type、currencyCode、balance、maskedPan)。明細を取得する前に口座をすばやく確認する場合に使用します。 |
monobank-personal-statement | 口座の取引履歴。入力:accountId(client-info から取得するか、デフォルトの UAH 口座には "0" を指定)、fromDate、toDate(タイムゾーン付き ISO 8601)。リクエストあたりの最大期間:31 日。 |
monobank-get-webhook | このトークンに現在設定されている Webhook URL を返します。空の文字列は、Webhook が設定されていないことを意味します。 |
monobank-set-webhook | ⚠️ 破壊的な操作です。 Webhook URL を設定します。確認なしで既存の URL を即座に上書きするため、まず monobank-get-webhook で現在の値を確認してください。 |
monobank-unset-webhook | ⚠️ 破壊的な操作です。 URL を空の文字列に設定して Webhook を削除します。 |
キャッシュ
Monobank のレート制限内に収め、重複した API 呼び出しを避けるため、このサーバーはレスポンスをキャッシュします。
| データ | キャッシュ TTL |
|---|---|
クライアント情報(/personal/client-info) | 1 時間 |
為替レート(/bank/currency) | 1 時間 |
固定の toDate を指定した明細 | 1 時間 |
toDate を指定しない明細 | キャッシュされません(終了日が未指定の範囲 → 古いデータになるリスク) |
Webhook の変更時にはクライアント情報のキャッシュが自動的に無効化されるため、次回の読み取りで更新後の URL が反映されます。
レート制限
Monobank の個人向けエンドポイントでは、60 秒あたり 1 リクエストが許可されています。制限に達すると、サーバーは 60 秒待つよう明記したエラーメッセージを返します。1 時間のキャッシュにより、繰り返し行う読み取りの大半は API を呼び出さず、ローカルで処理されます。
開発者向けセットアップ
Node.js ≥ 24.17.0 と pnpm が必要です。
git clone https://github.com/todesstoss/monobank-mcp
cd monobank-mcp
pnpm install
.env ファイルを作成します。
MONOBANK_API_TOKEN=your_token_here
pnpm start # run the MCP server
pnpm inspect # open MCP Inspector in the browser for interactive testing
pnpm typecheck # type-check without emitting
pnpm lint # lint src/
トラブルシューティング
無効なトークン/401 — api.monobank.ua でトークンを再生成してください。トークンは使用されていない場合、有効期限が切れます。
レート制限/429 — 60 秒待ってください。この状態になると、サーバーが通知します。1 時間以内の繰り返しの読み取りはキャッシュから処理されるため、レート制限は発生しません。
明細の範囲が 31 日を超えている — リクエストを複数回に分け、それぞれの期間が 31 日以下になるようにしてください。範囲が広すぎる場合は、ツールが通知します。
通貨ペアが見つからない — monobank-bank-currency を使用して、利用可能なすべてのペアを確認してください。利用できるのは UAH ペアと EUR/USD のみです。
client-info に managedClients がない — このフィールドは、Monobank に FOP(個人事業主)として登録されている場合にのみ表示されます。トークンはすべて同じ個人用トークンです。FOP 口座がない場合、managedClients は単に表示されません。
ライセンス
MIT
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。