figuard-mcp について
figuard-mcpは、SDKコードを書かずにエージェントの支出を認可したいチーム向けに、FiGuardの支出制御をAIアシスタントへ接続します。予算設定、事前認可、精算、委任トークン管理のツールを提供します。
主な機能
- 01支出予算の作成と管理
- 02理由付きの支出認可判定
- 03予約の確定、失敗処理、取消
- 04予算とフィルター付き台帳の確認
- 05スコープ付き委任トークンの管理
活用シーン
- 01エージェントの出張費予算の作成
- 02支払い前の購入申請の確認
- 03実際の請求額の確定や失敗予約の解放
- 04委任トークンによるエージェント別上限の設定
MCP 対応
figuard-mcpは、予算、認可、台帳、委任操作を含む14個のFiGuardツールをMCPクライアントに公開します。設定されたAPIキーとベースURLを使い、稼働中のFiGuardサーバーに接続します。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
npx -y figuard-mcpFIGUARD_API_KEYシークレットFiGuard API key — set this (with FIGUARD_BASE_URL) to use a self-hosted FiGuard server. Leave unset to run embedded: in-process enforcement against a local SQLite file, no account or server needed.FIGUARD_BASE_URLSelf-hosted FiGuard server URL. Leave unset to run embedded against a local SQLite file.FIGUARD_DATABASEPath to the embedded SQLite file (default ~/.figuard/figuard.db). Embedded is the default backend — no server required.FIGUARD_MODEBackend mode: embedded | server | sandbox. Defaults to embedded when nothing else is configured.ローカルサーバーにはマシン上の実行環境(Node.js 18 以上など)が必要です。設定ファイルの場所はクライアントごとに異なります。
ツール
16掲載時のツール一覧 · 2 週間前に更新
| パラメーター | 型 | 必須 | 説明 |
|---|---|---|---|
| unit | string | いいえ | リソース単位のラベル(例:'tokens'、'api_calls')。リソース予算では必須です。金額ベースの予算では省略してください。 |
| user_id | string | はい | この予算が属するユーザーまたはエージェントセッションの識別子。 |
| currency | string | いいえ | ISO 4217 通貨コード(例:'USD'、'EUR')。金額ベースの予算では必須です。リソース予算では省略してください。 |
| expires_in | string | いいえ | 予算の有効期間。'24h'、'7d'、'30m'、または秒数を指定できます。デフォルトは '24h' です。 |
| allocations | array | いいえ | 任意のカテゴリ別上限。各 allocation は独立した最大額です。航空券の上限が $300 の場合、他のカテゴリの支出にかかわらず、航空券の支出は $300 を超えられません。Allocation の上限は total_limit 以下である必要がありますが、合計を一致させる必要はありません。残額は共有プールになります。例:total_limit=1000、allocations=[{flights: 500}, {hotels: 200}] は有効で、未割り当ての余裕額として $300 が残ります。 |
| total_limit | number | はい | エージェントが支出できる最大総額です。USD の予算では、セントではなくドル単位です。 |
| intent_context | string | いいえ | この予算の用途を説明する、人が読める任意の説明(例:'Book travel to NYC for user_123')。 |
| external_reference | string | いいえ | この予算の安定した識別子(任意)(例:'run-abc-123'、'order-456')。指定すると、同じ external_reference で figuard_create_budget を再度呼び出した場合、新しい予算を重複作成せず、既存の有効な予算を返します。オーケストレーターの再起動時も安全に使用できます。 |
| velocity_max_per_day | number | いいえ | ローリング 24 時間ウィンドウ内の承認試行回数の上限です。 |
| auto_pause_on_anomaly | boolean | いいえ | 異常への対応モードを制御します。true(デフォルト)の場合、異常なリクエストによって予算が一時停止され、人が再開するまで以降の支出はできません。false(アドバイザリーモード)の場合、異常なリクエストは拒否され、ANOMALY_DETECTED webhook が発火しますが、予算は ACTIVE のままです。単発の急増でフリート全体が停止しないようにする、高スループットのエージェントに適しています。 |
| velocity_max_per_minute | number | いいえ | ローリング 1 分間ウィンドウ内の承認試行回数の上限です。超過すると VELOCITY_LIMIT_EXCEEDED で拒否されます。 |
| anomaly_detection_enabled | boolean | いいえ | true の場合、FiGuard は支出リクエストの統計的な異常を監視します。本番環境での有効化を推奨します。 |
| velocity_max_amount_per_hour | number | いいえ | ローリング 1 時間ウィンドウ内の requestedQuantity 合計の上限です。 |
詳細
figuard-mcp
FiGuard MCP サーバー — SDK コードを書かずに、Claude Code、Cursor、または Claude Desktop から FiGuard を直接使用できます。
できること
14 個の FiGuard ツールを AI アシスタントに追加します。SDK コードを書く代わりに、Claude に話しかけるだけです。
「500 ドルの旅行予算を作成し、航空券に 300 ドル、ホテルに 200 ドルを割り当ててください」 → Claude が
figuard_create_budgetを呼び出します
「この予算からエコノミークラスの航空券 149 ドルを承認してください」 → Claude が
figuard_authorizeを呼び出し、AUTHORIZED または DENIED を返します
「航空券の実際の料金は 147 ドルでした。実際の金額を確定してください」 → Claude が
figuard_confirmを呼び出します
必要条件
- Node.js 18 以降
- FiGuard サーバーが稼働していること(ローカルまたはサンドボックス)
セットアップ
Claude Code
claude mcp add figuard-mcp \
--env FIGUARD_API_KEY=fg_live_... \
--env FIGUARD_BASE_URL=http://localhost:8080
または、~/.claude/claude_desktop_config.json に手動で追加します。
{
"mcpServers": {
"figuard": {
"command": "npx",
"args": ["figuard-mcp"],
"env": {
"FIGUARD_API_KEY": "fg_live_...",
"FIGUARD_BASE_URL": "http://localhost:8080"
}
}
}
}
Cursor
プロジェクトの .cursor/mcp.json(またはグローバル設定の ~/.cursor/mcp.json)に追加します。
{
"mcpServers": {
"figuard": {
"command": "npx",
"args": ["figuard-mcp"],
"env": {
"FIGUARD_API_KEY": "fg_live_...",
"FIGUARD_BASE_URL": "http://localhost:8080"
}
}
}
}
Claude Desktop
macOS の場合、~/Library/Application Support/Claude/claude_desktop_config.json に追加します。
{
"mcpServers": {
"figuard": {
"command": "npx",
"args": ["figuard-mcp"],
"env": {
"FIGUARD_API_KEY": "fg_live_...",
"FIGUARD_BASE_URL": "http://localhost:8080"
}
}
}
}
サンドボックスを使用する(Docker 不要)
FIGUARD_BASE_URL にホストされたサンドボックスを指定すると、ローカルサーバーを実行せずに FiGuard を試せます。
{
"FIGUARD_API_KEY": "sb_live_demo",
"FIGUARD_BASE_URL": "https://figuard-sandbox-g1ha.onrender.com"
}
利用可能なツール
| ツール | 機能 |
|---|---|
figuard_create_budget | 支出用の予算枠を作成します。session_token を返します |
figuard_authorize | 事前確認を行い、理由とともに AUTHORIZED または DENIED を返します |
figuard_confirm | 成功後、実際の金額で予約を確定します |
figuard_fail | 処理が失敗した場合に予約を解放します |
figuard_void | 未使用の予約をキャンセルします |
figuard_get_budget | 予算の状態、使用済み額、予約額、利用可能額を確認します |
figuard_get_ledger | 絞り込み条件を指定して、すべての支出イベントを一覧表示します |
figuard_resume_budget | 異常検知によって一時停止された予算を再開します |
figuard_extend_budget | 予算の有効期限を延長します |
figuard_cancel_batch | 1 回の呼び出しで最大 100 件の予算をキャンセルします |
figuard_fund_budget | 予算の総上限を調整します(CREDIT / DEBIT / RESET / RESET_SPENT) |
figuard_create_delegation_token | フリート予算に対する、エージェントごとにスコープが限定されたトークンを作成します |
figuard_revoke_delegation_token | 委任トークンを取り消します(冪等) |
figuard_get_delegation_token | 委任トークンの状態と上限の使用状況を確認します |
セキュリティに関する注意
FIGUARD_API_KEY はツールの引数ではなく、環境変数として設定します。ツールの引数は LLM のコンテキストウィンドウに表示されるため、API キーをツールのパラメーターとして渡してはいけません。
figuard_create_budget が返すセッショントークンは短時間で期限切れになります(予算の期限とともに失効します)。セッション内でツールの引数として安全に使用できます。
FiGuard をローカルで実行する
git clone https://github.com/figuard/figuard-core
cd figuard-core
docker compose up -d
FiGuard は http://localhost:8080 で利用できます。
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。