Bancadia MCP について
Bancadia MCP は、構造化フィルターで Bancadia の米国企業向け当座預金商品を検索するサーバーです。手数料、事業体の種類、州、決済レール、連携機能、APY などで商品を比較したい MCP クライアントを対象としています。
主な機能
- 01企業向け当座預金商品の検索
- 02商品詳細の取得
- 03手数料とプラン階層の比較
- 04商品機能や APY による絞り込み
- 05アトリビューション付き申込リンク
活用シーン
- 01企業要件に合う当座預金口座の検索
- 02特定商品の手数料と機能の確認
- 03アトリビューション付き申込リンクの後続クライアントへの受け渡し
MCP 対応
Streamable HTTP 上の JSON-RPC 2.0 で、MCP クライアントに商品検索と詳細取得のツールを公開します。ツール呼び出しにはセッションと Bearer Token が必要で、Token ごとのレート制限があります。
設定
リモートサーバーはインストール不要です。クライアントを選んで設定をコピーするか、ワンクリックで導入できます。
https://mcp.bancadia.com/claude mcp add --transport http macphe22-bancadia https://mcp.bancadia.com/{"mcpServers":{"macphe22-bancadia":{"type":"http","url":"https://mcp.bancadia.com/"}}}Cursor で開く{"servers":{"macphe22-bancadia":{"type":"http","url":"https://mcp.bancadia.com/"}}}VS Code で開く{"mcpServers":{"macphe22-bancadia":{"type":"http","url":"https://mcp.bancadia.com/"}}}{"mcpServers":{"macphe22-bancadia":{"serverUrl":"https://mcp.bancadia.com/"}}}コマンドはターミナルで実行し、JSON は各クライアントの MCP 設定に貼り付けて再起動します。認可が必要なサーバーは初回接続時にログインを求めます。
https://mcp.bancadia.com/認証が必要ツール
2| パラメーター | 型 | 必須 | 説明 |
|---|---|---|---|
| apy_min | number | いいえ | 最も高い適用可能な利率(apy_max)がこの値以上の口座のみを返します。値は小数で指定します(例:0.02 = 2%)。これは口座で適用される可能性のある最高利率であり、一般的な顧客が受け取る利率ではありません。多くの口座ではデフォルトの利率がこれより低くなります。標準利率は結果の apy_default を確認してください。 |
| rtp_network | enum | いいえ | サポートされているリアルタイム決済ネットワークfednow | rtp_network | both | none |
| rtp_supported | boolean | いいえ | リアルタイム決済(いずれかのネットワーク)に対応しているかどうか |
| insurance_type | enum | いいえ | 預金保険の種類fdic | ncua | uninsured |
| monthly_fee_max | number | いいえ | 月額料金の上限 |
| available_states | array | いいえ | 指定されたすべての州で利用可能な掲載情報を返します |
| interest_bearing | boolean | いいえ | 口座に利息が付くかどうか |
| target_industries | array | いいえ | これらの事業タイプ向けの掲載情報をソフトランキングします。一致しなくても、ほかの条件を満たす掲載情報は除外しません。 |
| entity_types_accepted | array | いいえ | 指定されたすべての法人形態を受け入れる掲載情報を返します(例:llc、s_corp) |
| free_transactions_min | number | いいえ | 月あたりの無料取引回数の下限 |
| cash_deposit_available | boolean | いいえ | 現金預け入れに対応しているかどうか |
| sub_accounts_supported | boolean | いいえ | サブアカウントに対応しているかどうか |
| target_business_profiles | array | いいえ | この事業の段階や形態に合った掲載情報を優先するよう、結果をソフトにランク付けします。一致しなくても、他の条件を満たす掲載情報は除外しません。 |
| tax_integration_available | boolean | いいえ | 口座が税務申告の準備または申告用のソフトウェア/サービスに接続できるかどうか |
| minimum_opening_deposit_max | number | いいえ | 口座開設時の最低預入額の上限 |
| expense_integration_available | boolean | いいえ | 口座が経費/支出管理ソフトウェアに接続できるかどうか |
| accounting_integration_available | boolean | いいえ | 口座が会計ソフトウェア(例:QuickBooks、Xero)に接続できるかどうか |
詳細
Bancadia MCP
MCP クライアント(Claude、その他の LLM エージェントなど)が、Bancadia の事業用預金口座商品の登録情報(米国のみ)を構造化されたフィルターで検索できる Model Context Protocol サーバーです。
Hono 上で Cloudflare Worker として動作し、Supabase(Postgres)をバックエンドに、Upstash Redis のキャッシュおよびレート制限レイヤーを備え、JSON-RPC 2.0(Streamable HTTP トランスポート)経由で MCP を公開します。
エンドポイント
| メソッド | パス | 用途 | 認証 |
|---|---|---|---|
| GET | /health | 稼働確認 | なし |
| GET | /.well-known/mcp | 公開ディスカバリー/マニフェスト(サーバー情報とツール一覧) | なし |
| POST | / | JSON-RPC 2.0 エンドポイント — initialize、tools/list、tools/call | セッション。tools/call にはベアラートークンも必要 |
| GET | / | 単独の SSE ストリーム(サーバー起点のメッセージ、キープアライブ) | セッション |
| DELETE | / | セッションを終了 | セッション |
MCP セッションのライフサイクル
POST /にmethod: "initialize"を指定 — 認証は不要です。Mcp-Session-Idレスポンスヘッダーが返されます。以降のすべてのリクエストでは、その値をMcp-Session-Idリクエストヘッダーとして送信する必要があります。POST /にmethod: "tools/list"を指定 — セッションは必要ですが、ベアラートークンは不要です。ツールマニフェストが返されます。POST /にmethod: "tools/call"を指定 — セッションとAuthorization: Bearer <token>の両方が必要です。トークンごとにスライディングウィンドウ方式のレート制限が適用されます(成功時と 429 のどちらのレスポンスにもX-RateLimit-*ヘッダーが含まれます)。
レスポンスはデフォルトで通常の JSON ですが、リクエストの Accept ヘッダーに text/event-stream が含まれている場合は Server-Sent Events になります。
本番環境で使用するには、Bancadia 開発者ポータルからベアラートークンを取得してください。API の全ドキュメントについては、bancadia.com/docsを参照してください。
利用可能なツール
| ツール | 用途 |
|---|---|
query_business_checking | 事業用当座預金口座の掲載情報をフィルターします(手数料、事業体の種類、州、RTP レール、連携機能、APY など) |
get_business_checking_listing | listing_slug を指定して、1 件の掲載情報の詳細を取得します。手数料と機能に加え、プラン階層ごとの内訳も含まれます |
各ツールの引数の完全な JSON Schema は src/lib/tools.ts を参照するか、GET /.well-known/mcp/tools/list を直接照会してください。
application_url のアトリビューションタグ
tools/call が返すすべての application_url は、アトリビューション用パラメーター src=mcp と qr=<request_id> が追加された絶対 URL(https://bancadia.com/go/...)です。request_id は tools/call ごとに一度生成される UUID で、その呼び出しに対するすべての query_match_events 行にも書き込まれます(そのため、/go のクリックを、そのリンクを提示したツール呼び出しと紐付けられます)。保存済み URL にすでに含まれているパラメーターが上書きされることはありません。qr はすべてのツールに追加されます。query_match_events 行を記録しないツール(または掲載情報を返さないツール)では、qr の紐付け先はありません。ホスト名の付与とタグ付けは、src/index.ts で適用される src/lib/urls.ts の applyApplicationUrlHost という単一のレイヤーで行われます。
クライアントとエージェントは、クエリー文字列を含め、application_url を変更せずに渡す必要があります。 パラメーターを削除すると、そのクリックのアトリビューション情報が失われます。
はじめに
npm install
cp .dev.vars.example .dev.vars # fill in Supabase + Upstash credentials
npm run dev # wrangler dev — local server
wrangler.toml [vars] には、npm run dev とテストスイートの両方で共有する、シークレットではないデフォルト値(テスト用の Supabase/Upstash URL、セッション TTL、許可するオリジン)が設定されています。実際のシークレットは .dev.vars(Git の追跡対象外)に設定します。
コマンド
npm run dev # wrangler dev — local server
npm test # vitest run (runs inside workerd via @cloudflare/vitest-pool-workers)
npm run lint # tsc --noEmit
npm run deploy:staging # wrangler deploy --env staging
npm run deploy:production # wrangler deploy --env production
単一のテストファイルを実行するには、次のようにします。
npx vitest run src/__tests__/query-business-checking.test.ts
環境
- ステージング —
bancadia-mcp-staging。workers.devが有効です。mainへのプッシュ/PR ごとに、CI によって自動でデプロイされます。 - 本番環境 —
bancadia-mcp-production。mcp.bancadia.com/*にルーティングされます。npm run deploy:productionを使用して手動でデプロイします。
各環境のシークレットは wrangler secret put <KEY> --env <environment> で設定し、コミットすることはありません。
アーキテクチャ
コードベースの詳細なガイドについては、CLAUDE.md を参照してください。リクエストフロー、認証/セッション/レート制限の設計、クエリハンドラーの基盤となる Supabase のハイブリッドスキーマ(ベーステーブル+商品タイプごとの詳細テーブル)について説明しています。
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。