Argosvix
ドキュメント目次MCP サーバー

MCP サーバー

alpha 公開中@argosvix/mcp-server@alpha で npm から導入できます。安定版 (1.0) は準備中です。


できること

Model Context Protocol (MCP) に対応したクライアント(Claude Desktop、Cursor、Codex CLI、その他 MCP を話せるツール)から、Argosvix のデータを直接観測・照会・管理・操作できます。サーバーは 87 個の tools + 3 個の resources + 8 個の resource templates + 3 個の prompts = 合計 101 個 を公開しています(tools のうち 84 件は一般利用可能で、残り 3 件はサービス運営者専用です)。stdio と HTTP の両方の通信方式に対応します。

想定する使い方

# Claude Desktop のチャットで
あなた: 今月いちばんコストが高かったモデルは?
Claude: (argosvix MCP サーバーの get_cost_summary を呼び出す)
Claude: claude-opus-4-1-20250805 が 23 回呼び出され、合計 $0.452 でした。
        これは Anthropic の支出全体の 95% に相当します。
# Cursor の AI エージェントで
あなた: gpt-5.5 が最近遅い気がする — 何が起きてる?
エージェント: (query_calls と argosvix://traces/{id} で確認)
エージェント: 直近 10 件のうち 3 件が、ピーク時間帯に集中して 429 レート制限に当たっていました。
              残り 7 件は通常のレイテンシでした。
# Claude Desktop で、変更を伴う操作
あなた: カスタマーサポートのプロンプトに「丁寧に」を追加して。
Claude: (update_prompt でテンプレートを修正)
Claude: 追加しました。production ラベルは変更していません。

導入手順

# stdio mode (subprocess driven by Claude Desktop, Cursor, etc.)
npm install -g @argosvix/mcp-server@alpha

Claude Desktop の設定

claude_desktop_config.json に次を追記します。

{
  "mcpServers": {
    "argosvix": {
      "command": "argosvix-mcp",
      "env": {
        "ARGOSVIX_API_KEY": "argk_..."
      }
    }
  }
}

API キーは ダッシュボードの API キー画面 で発行できます。Claude Desktop を再起動すると、query_calls などの tool が表示されます。

キーの権限について: npx @argosvix/cli init が発行するキーは最小権限(読み取り + 記録の取り込みのみ)で、削除・プロンプト変更などの書き込み系ツールには使えません。ダッシュボードで発行するキーは現状フルアクセスです。エージェントに渡すキーは、書き込み操作をさせたい場合を除き CLI 発行の最小権限キーを推奨します。

Cursor の設定

Cursor を使っている場合は、ワンクリックで追加できます(開いたら YOUR_API_KEY を 自分の argk_... キーに置き換えてください):

➕ Cursor に Argosvix MCP を追加

手動で設定する場合は次のとおりです。

~/.cursor/mcp.json に次を追記します。

{
  "mcpServers": {
    "argosvix": {
      "command": "argosvix-mcp",
      "env": {
        "ARGOSVIX_API_KEY": "argk_..."
      }
    }
  }
}

Cursor を再起動すると、AI エージェントの設定画面から Argosvix の tools を利用できます。

Codex CLI の設定

~/.codex/config.toml に次を追記します。

[mcp_servers.argosvix]
command = "argosvix-mcp"
env = { ARGOSVIX_API_KEY = "argk_..." }

よくある失敗パターン

症状原因と対処
argosvix-mcp: command not foundnpm install -g @argosvix/mcp-server@alpha を再実行してください。Node.js 20 以上が必要です。
tool 一覧に argosvix が表示されないクライアント(Claude Desktop / Cursor)を完全に再起動してください。設定ファイルの JSON 構文エラーや、キー名の打ち間違いがないか確認します。
ARGOSVIX_API_KEY env var is requiredこの環境変数を設定してください。ダッシュボードの API キー画面でキーを発行し、argk_ で始まる値をコピーします。
401 認証エラーキーが無効、期限切れ、または取り消し済みの可能性があります。新しいキーを発行して設定し直してください。
404 endpoint not foundARGOSVIX_API_BASE を独自に設定している場合は、その値を確認してください。既定値は https://ingest.argosvix.com です。
HTTP transport で subscribe が拒否される (-32601 Method not found)HTTP transport は subscribe に対応していません。リアルタイム更新が必要な場合は stdio transport を使ってください。

ツールを絞る(core プロファイル)

87 ツールすべてを常時使わない場合、環境変数 ARGOSVIX_MCP_PROFILE=core で日常運用の 要点 11 ツール(記録の検索・集計、コスト、レイテンシ、健康診断、異常検知、アラートの 基本操作、本番プロンプトの解決)だけに絞れます。クライアントのコンテキスト消費が 小さくなり、ツール選択の迷いも減ります。

{
  "mcpServers": {
    "argosvix": {
      "command": "npx",
      "args": ["-y", "@argosvix/mcp-server"],
      "env": {
        "ARGOSVIX_API_KEY": "argk_...",
        "ARGOSVIX_MCP_PROFILE": "core"
      }
    }
  }
}

既定は full(全ツール)。プロファイル外のツールを呼ぶと、full への切替手順つきの エラーが返ります。

HTTP transport モード

# Remote MCP server / multi-tenant. Per-request Bearer auth.
argosvix-mcp --http

# Alternate port / bind:
MCP_HTTP_PORT=4000 MCP_HTTP_HOST=0.0.0.0 \
MCP_HTTP_ALLOWED_HOSTS=mcp.example.com \
  argosvix-mcp --http

JSON-RPC 形式のボディを POST /mcp に送り、API キーを Authorization ヘッダで渡します。localhost への bind は既定で DNS rebinding 対策が有効です。localhost 以外への bind では MCP_HTTP_ALLOWED_HOSTS の明示が必須で、未設定の場合はサーバーが fail-closed で拒否します。詳細は README の Security notes を参照してください。


Tools(全 87 件、うち 3 件はサービス運営者専用)

自律 AI ops(診断と提案)

Tool用途
classify_calls_batchアカウントの未分類の呼び出しに対して、安全性分類をオンデマンドで一括実行します(OpenAI Moderation 経由、POST /v1/safety-assessments/scan-batch)。15 分ごとに自動実行されるバックグラウンドスキャンを、「今すぐスキャン」のトリガーで補完します。Pro+ プランが必要です(Free は自動スキャンに依存)。バックエンドがプランと予算のゲートを適用します。maxRecords は 1〜100(既定 50)。返却値は { scanned, assessed, flagged, failures, skipped } です。分類結果は、定期スキャン由来と区別するために MCP 起動としてマークされます。監査として safety.scan_batch_run を監査ログに記録します。レート制限は 60 秒の固定窓で 30 リクエストです(429 + Retry-After ヘッダ。アカウント単位で適用されます)。エージェントでの言い回し例:「先週分の呼び出しをすべて分類して」を 1 つのプロンプトで完結できます。
get_account_healthLLM インフラの健康状態を一度にまとめて返します。集計・パーセンタイル・LLM 予算・監査ログの 4 つの情報を 1 つの応答にまとめます。ウィンドウ(1h / 24h / 7d)ごとの呼び出し件数 + コスト + エラー率(0〜100 のパーセント)+ p50/p95/p99 レイテンシ(ms)+ 予算消化率(0〜100)+ 直近のイベント件数に加え、ok / warn / critical の判定を返します。しきい値は、critical = エラー率 ≥ 10% / 予算 ≥ 90% / p95 ≥ 10 秒、warn = ≥ 3% / ≥ 70% / ≥ 3 秒です。エンドポイント単位の失敗に強く、部分的な結果を partialFailures 配列とともに返します。エージェントでの言い回し例:「今うちの LLM インフラはどう?」を 1 つのプロンプトで完結できます。
propose_alert_rules過去 lookbackDays(7〜30、既定 14)の呼び出しパターンを分析し、cost_daily / latency_p95 / error_rate / anomaly_cost のアラートルールを JSON で提案します。提案のみで副作用はありません。お客様が内容を確認し、別途 create_alert で適用します。すでに設定済みのアラート種別は理由とともに skipped 配列に入ります。基準値は、過去の日次平均コスト(USD)、p95 レイテンシ(ms)、観測されたエラー率(0〜100 のパーセント)、日次の呼び出し件数です。error_rate に対して提案される thresholdValue もパーセント単位です(バックエンドの create_alert の仕様に合わせています)。エージェントでの言い回し例:「うちのトラフィックパターンから妥当なアラート一式を設計して」── 1 つのプロンプトで基準値と 4 件の提案を取得できます。
detect_anomaly現在のウィンドウを基準ウィンドウ(同じ長さで 1 期間前)と比較し、コスト / レイテンシ / エラー率 / 呼び出し量の 4 つの観点で異常を検出します。感度は threshold で調整でき、sensitive(1.5 倍)/ normal(2 倍、既定)/ conservative(3 倍)から選べます。各異常は重大度(minor / major / critical)と説明を持ちます。エラー率はバックエンドの単位に合わせてパーセント(0〜100)で評価・表示し、+5 pp のバッファもパーセント単位で適用されます。基準ウィンドウの記録が 10 件未満の場合は、警告とともに anomalies: [] を返します。エージェントでの言い回し例:「何か変なことが起きてない?」── 1 つのプロンプトで 4 観点をまとめてスキャンできます。
propose_eval_criteriaLLM-judge(gpt-4o-mini)に、利用ケースに合わせた評価基準を提案させます(POST /v1/eval-criteria/propose)。入力は useCaseHint(1〜500 文字、必須。例「EC サイト向けのカスタマーサポート bot」)と、任意の sampleCallIds(アカウント内の代表的な呼び出し、最大 5 件)です。maxCriteria(1〜10、既定 5)件までの基準を返し、各基準は name(snake_case で 32 文字以内)+ rubric(1〜200 文字)+ scaleMin(常に 1)+ scaleMax(5 または 10)+ reasoning(1〜200 文字)を持ちます。Pro+ プラン限定で、バックエンドがプラン・予算・復号・LLM 呼び出しを適用します。提案のみで、自動では登録されません(適用は別途 create_eval_criterion で行うため、LLM のハルシネーションの影響は構造的に限定されます)。サンプルの復号に失敗した場合は partialFailures の説明に含まれます(サンプルなしでも LLM 呼び出しは実行されます)。監査として eval.propose_criteria を記録します。レート制限は 60 秒の固定窓で 30 リクエストです(429 + Retry-After ヘッダ。アカウント単位で適用されます)。エージェントでの言い回し例:「うちのプロンプトの品質を測る基準を提案して」── 1 つのプロンプトで 5 件の提案を取得できます。

自律 AI ops(課金オペレーション — サービス運営者専用)

Tool用途
extend_customer_trial自分のアカウントの Stripe サブスクリプションのトライアル期間を 1〜30 日延長します(POST /v1/tier2/trial/extend)。累計の上限は 60 日です(過去 30 日分の監査ログから集計)。サブスクリプションのステータスが trialing でなければ 409 を返します。dryRun は明示的に渡す必要があり、dryRun=false の場合はさらに idempotencyKey(16〜128 文字)が必須です── 同じキーで再度呼び出すとキャッシュ済みの結果を返します。サービス運営者専用です(一般のアカウントは 403 を受け取ります)。
apply_promo_code_to_customer自分のアカウントのサブスクリプションに、Stripe に登録済みのプロモーションコード(例「LAUNCH50」)を適用します(POST /v1/tier2/promo/apply)。すでに有効な割引がある場合や、ステータスが canceled / incomplete_expired の場合は 409 を返します。dryRun=true では Stripe には触れずに適用後の割引内容をプレビューし、dryRun=false で実際に適用します(idempotencyKey 必須。同じキーでの再呼び出しはキャッシュ済みの結果を返します)。サービス運営者専用です(一般のアカウントは 403 を受け取ります)。

自律 AI ops(アラートの自動対処)

Tool用途
auto_silence_noisy_alert過度に発火しているアラートをまとめてサイレンスします。alertId(個別のミュート)または byVolumeThreshold(過去 1 時間に N 回以上発火したすべてのアラートをサイレンス)を渡します。silenceDurationMinutes の既定は 60(範囲 5〜1440)です。dryRun=true(既定)では一致したアラートと発火回数をプレビューし、dryRun=false ではサイレンス期限を更新し、サイレンスしたアラートごとに tier2.auto_silence_noisy_alert を冪等性を担保して記録します。既存の unsilence_alert で解除できます。操作は自アカウントに閉じており取り消しも可能なため、Pro+ のすべてのユーザーが利用できます。エージェントでの言い回し例:「アラート X が 1 時間に 50 回も鳴ってる、これから 1 時間サイレンスして」を 1 つのプロンプトで完結できます。

自律 AI ops(データ整理と復旧)

Tool用途
purge_expired_plaintext保持期限を過ぎた保存済み平文(プロンプト/応答の本文と関連データ)を、対象の呼び出し記録からまとめて削除します。olderThanDays(1〜365、既定 30)でカットオフを指定します。dryRun=true(既定)では対象の行をプレビューし、dryRun=false で実行します。監査ログに tier2.purge_expired_plaintext を冪等性を担保して記録します。Pro+ プラン限定です(Free は 403)。実際の purge(dryRun=false)には approvalId が必須です。request_approval(action: purge_expired_plaintext)で承認依頼を作成し、先に人間の承認を得てください── 保存済み平文の削除は不可逆です。エージェントでの言い回し例:「30 日より古い平文をすべて purge して」── ドライラン → 承認依頼 → 実行、の流れで完結します。
retry_failed_webhook失敗した Stripe webhook イベントを再キューイングします。eventIds(最大 100 件)で個別に指定するか、fromTimestamp / toTimestamp(7 日のウィンドウ上限)で範囲指定します。dryRun=true(既定)では一致したものをプレビューし、dryRun=false ではイベントごとに手動再送用としてマークした監査行を記録します。イベントごとに tier2.retry_failed_webhook を冪等性を担保して監査ログに記録します。サービス運営者専用です(課金 webhook の復旧というアカウント横断の内部オペレーションのため、一般開放はしません)。エージェントでの言い回し例:「先週の Stripe webhook の失敗をすべて再送して」を 1 つのプロンプトで完結できます。

観測(LLM 呼び出し記録)

Tool用途
query_calls直近の呼び出し記録を取得します。provider / model / 時刻 / tag / レイテンシ範囲(latencyMin / latencyMax、ms)で絞り込めます。beforeTimestamp + beforeId のカーソルでページングします(timestamp の降順のみ)。
get_cost_summaryウィンドウ内のコスト / 呼び出し件数 / トークン数を provider 別または model 別に集計します。
aggregate_callsprovider / model / day / hour / minute / tag でグループ化し、メトリクス cost / latency / tokens / count / error_rate を集計するキューブを返します。hour モードは最大 168 時間、minute モードは最大 60 分まで対応します。
get_percentiles呼び出しのレイテンシまたはコストについて p50 / p95 / p99 / p99.9 / max を返します。groupBy を加えると、単一ウィンドウではなく日次 / 時間別 / 分別の時系列を取得できます。
export_callsプラン別の上限付きの大量バッチエクスポートです(Free 1,000 件 / Pro 50,000 件)。全プランで利用できます。query_calls と同じ JSON 形式を返すため、CSV や統計処理にそのまま使えます。
bulk_delete_calls呼び出し記録を ID 指定で最大 100 件まで 1 トランザクションで削除します。dryRun: true を渡すと先に一致件数をプレビューできます。操作は監査ログに calls.bulk_deleted として記録されます。関連するトレース・注釈・評価スコアも一緒に削除されます。

保存済みビュー(saved views)

Tool用途
list_saved_viewsアカウントに保存された /calls 用フィルター(range, provider, model, limit, preset)の一覧を返します。アカウントあたり最大 20 件です。
create_saved_view保存済みフィルターを作成、または同名のものを上書きします。「先週、GPT-4 のみ」のようなお気に入りのフィルター組み合わせを、エージェントが名前付きで保持できます。
delete_saved_view保存済みビューを削除します。

監査ログ(audit log)

Tool用途
list_audit_logアカウントの監査ログを読み取ります。eventType / targetKind / actorUserId / 時間範囲で絞り込み、cursor でページングできます。Team プランの運用コンプライアンス(誰がいつ何をしたか)に必要です。

プロジェクト / ワークスペース

Tool用途
list_projectsアカウントのプロジェクト一覧(id / name / slug / archived_at)を返します。
create_project新しいプロジェクトを作成します。slug は ^[a-z][a-z0-9-]{0,31}$ に一致する必要があります。
rename_project既存プロジェクトの name / slug を更新します。どちらか一方でも、両方でも指定できます。
delete_projectプロジェクトを論理削除します(archived_at を設定)。デフォルトプロジェクトは削除できません(400 を返します)。

チームメンバー(Team プラン)

Tool用途
list_membersTeam アカウントのメンバー一覧(email / role(admin / member / viewer)/ status / 参加日時)を返します(GET /v1/memberships、削除済みのメンバーは除外)。読み取り専用です。招待・ロール変更・削除は権限に関わる操作のため、MCP では意図的に公開していません(ダッシュボードを使ってください)。

アラート

Tool用途
list_alerts設定済みのアラート一覧と、直近の発火状況を返します。
get_alert単一アラートのルールと、直近の発火履歴を返します。
list_alert_eventsアカウント全体の発火履歴を新しい順で返します(alertId で単一アラートに絞り込めます)。各イベントは発火時点の条件のスナップショット(thresholdValue / windowMinutes / alertType)を含むため、後からルールを編集しても当時の文脈が失われません。次のページは、最後のイベントの triggeredAtidbeforeTriggeredAt + beforeId として渡します(keyset カーソル。必ず両方を一緒に指定します)。
create_alert新しいアラートを作成します(コスト・エラー率・レイテンシ・異常検知・品質 SLO(eval_score)・発見の外部通知(guardian_findings)の 9 種)。
update_alertしきい値、ウィンドウ、通知先などを部分的に更新します。alertType は変更できません。
delete_alertアラートを削除します。関連する発火履歴も一緒に削除されます。
silence_alertアラートを一時的にミュートします(既定 24 時間)。
unsilence_alertミュートを解除します。
acknowledge_alert特定の発火イベントを対応済みとしてマークします(サイレンスとは独立した操作で、冪等です)。
test_webhookwebhook の URL にテスト用ペイロードを送信します。SSRF 対策付きで HTTPS のみ受理し、5 件/分のレート制限が適用されます。

プロンプト管理

Tool用途
list_prompts登録済みのプロンプトを一覧表示します。label で絞り込めます。
get_prompt単一プロンプトのテンプレート、変数、ラベル、説明を返します。
create_promptプロンプトの新しいバージョンを作成します(Pro+)。name + version + template が必須です。name + version はアカウント内で一意です(重複は 409)。
update_prompttemplate / 変数 / ラベル / 説明を部分的に更新します(Pro+)。nameversion は変更できません。
rename_promptnameversion を変更します(Pro+)。誤字の修正に便利です。
delete_promptプロンプトを削除します(Pro+)。⚠ 過去の評価ランからこのプロンプトが切り離され、それらのランはプロンプトとの紐付け(来歴)を失います。論理的に廃止したいだけなら、update_prompt でラベルを sunset に設定する方が安全です。
deploy_promptプロンプトの特定バージョンをラベル(production / staging などの環境)にデプロイします(Pro+、POST /v1/prompts/:id/deploy)。既存のデプロイがあれば直前のバージョンが控えとして保持され、rollback_prompt でワンクリックで戻せます。同一バージョンの再デプロイでは控えは作られません。ラベルはプロンプト名ごとに独立しています(各 name が独自の production 版を持ちます)。
rollback_promptラベルにデプロイ中のプロンプトを直前のバージョンへ戻します(Pro+、POST /v1/prompts/deployments/rollback)。控えが存在しない場合(初回デプロイのみ)や、直前のバージョンが削除済みの場合は 409 を返します。もう一度呼ぶと現在版と直前版が入れ替わるため、2 つのバージョンを行き来できます。
get_deployed_prompt指定した環境(name + label)に現在デプロイされているプロンプトのバージョンを解決して返します(GET /v1/prompts/resolve、Free でも利用可)。エージェントが実行時に「本番プロンプト」を取得する主経路です。返却値はそのバージョンのテンプレート / 変数 / ラベル / version で、未デプロイの場合は 404 を返します。
list_prompt_deployments現在のデプロイ状態の一覧を返します(GET /v1/prompts/deployments、Free でも利用可)。各行は promptName / label / currentVersion / canRollback / deployedAt を含みます。name / label で絞り込めます(両方省略で全件)。

評価基準(eval criteria)

Tool用途
list_eval_criteria全体共通の標準基準と、アカウント固有のカスタム基準を一覧表示します。
get_eval_criterion単一基準の詳細(rubric、スケール、createdAt など)を返します。
create_eval_criterionカスタム基準を作成します(Pro+)。name / rubric / scaleMin / scaleMax の 4 項目すべてが必須です。任意の scope を指定でき、call(既定 ── 呼び出しごとに採点)または trajectorytrace_id でまとまる複数ターンのエージェント実行全体を 1 単位として採点。llm_judge 型のみ)から選べます。
update_eval_criterionカスタム基準を全置換で更新します(Pro+)。全体共通の標準基準は変更できません。
delete_eval_criterionカスタム基準を削除します(Pro+)。⚠ その基準で記録された過去のスコアもすべて削除され、過去との比較ができなくなります。改名したいだけなら update_eval_criterion の方が適しています。

評価ラン(eval runs)

Tool用途
list_eval_runs評価ランの履歴を、サマリ(scoredCount / failedCount / 平均スコア)とともに一覧表示します。
get_eval_run単一ランの詳細を、(criterion × call)ごとのスコアとともに返します。
run_eval新しい評価ランを開始します(Pro+)。idempotencyKey を渡すと 60 分以内の重複実行を防ぎます。
compare_eval_runs2 つの評価ラン(baseline と candidate)を比較します。基準ごとの平均スコア差分、不合格件数の差分、判定(improved / regressed / mixed / unchanged)を返します。プロンプト改善の確認や回帰検出に役立ちます。

評価データセット

Tool用途
list_eval_datasetsアカウントの golden dataset の一覧を返します(GET /v1/eval-datasets)。各データセットは名前・説明・アイテム件数・凍結状態を持ちます。golden dataset は期待出力つきの固定テストセットで、run_eval_dataset で対象モデルに通して回帰を測るための母集団です。
get_eval_dataset単一データセットの詳細と全アイテムを返します(GET /v1/eval-datasets/:id)。datasetIdlist_eval_datasets で取得します。
create_eval_datasetgolden dataset を新規作成します(Pro+、POST /v1/eval-datasets)。items に期待出力つきのテストケースを最大 20 件渡せます(各入力は 1〜4000 文字)。データセットはアカウントあたり最大 50 件です。frozen: true を渡すと母集団を凍結でき、以後アイテムの変更や凍結解除はできません(回帰判定の比較可能性を固定するためです)。
run_eval_datasetgolden dataset を対象モデルで実行して回帰を判定します(Pro+、POST /v1/eval-datasets/:id/run)。各アイテムの入力を targetModel に通し、出力を既定の評価基準で、期待出力を参照解として LLM-judge(既定 gpt-4o-mini、judgeModel で変更可)に採点させます。結果は compare_eval_runs でラン間比較でき、実行で生まれた記録は本番のコスト・分析・アラート集計からは除外されます。コストはアイテム数 × 基準数の LLM 呼び出しです。idempotencyKey を渡すと、同じキーでの再実行は既存のランを返します(二重課金の防止)。対象モデル・採点モデルは価格表に載っている OpenAI モデルのみで、未知のモデルは 400 を返します。
delete_eval_datasetgolden dataset を削除します(Pro+、DELETE /v1/eval-datasets/:id)。アイテムも一緒に削除されますが、過去の評価ランとスコアは残ります。

アノテーション

Tool用途
list_annotations_for_call単一の呼び出しに付いたアノテーションを一覧表示します。
list_annotations_by_labelラベルで絞り込み、複数の呼び出しを横断してアノテーションを一覧表示します。
get_annotation単一アノテーションの詳細を返します。
create_annotation呼び出しにアノテーションを付けます(text / label / 品質スコアのうち少なくとも 1 つが必要)。
update_annotation既存のアノテーションを部分的に更新します。callId は変更できません。
delete_annotationアノテーションを削除します。

安全性分類

Tool用途
list_safety_assessments分類器の判定結果を一覧表示します。callId を指定するとその呼び出しのすべての判定結果を、省略するとアカウント全体で最新のものを返します。
get_safety_assessment単一の判定結果の詳細(labels、score、reasoning、classifier_id、source)を返します。

LLM 機能予算

Tool用途
get_llm_budget今月の LLM 機能予算と、利用額、残額を返します。AI エージェントが「80% に達したか?」を判断するのに使えます。
raise_llm_budget月額予算を変更します(Pro+、$5〜$500)。暦月をまたぐと自動でリセットされます。

ランタイム制御プレーン(予算ゲート)

Tool用途
get_budget_gateランタイム予算ゲートの設定と、今月の LLM 支出を返します。SDK の budgetGate(オプトイン)が各呼び出しの前に評価するのと同じソースです。get_llm_budget(Argosvix 内部の AI 機能の上限)とは別物で、こちらはユーザー自身の LLM 支出に上限を設けます。
create_budget_gateランタイム予算ゲートを作成します(Pro+)。アカウント全体の月次 LLM 支出上限($0.01〜$1,000,000)を設定し、SDK が予算超過の呼び出しを実行前にブロックします。適用は楽観的で、支出は約 60 秒キャッシュされ実行中の呼び出しは通過するため、上限はわずかに超過しえます ── 厳密なハードキャップではなくガードレールとして扱ってください。enforceModefail_open(既定 ── バックエンドに到達できない場合は呼び出しを通します)または fail_closed(呼び出しも止めます。SDK が一度も設定を取得していないコールドスタート時には、加えて SDK 側で failClosed のオプトインが必要です)です。スコープは 3 通り指定できます(適用される中で最も厳しい上限が勝ち、AND で評価されます)。projectId/tagKey を省略するとアカウント全体のゲート(アカウントあたり 1 つ)、projectId を設定するとプロジェクト別のゲート(プロジェクトあたり 1 つ)、tagKey+tagValue を両方設定するとタグ別のゲート(例 service=checkout、タグの組あたり 1 つ)になります。projectIdtagKey は排他です。同じスコープのゲートがすでに存在する場合は 409 を返します(その場合は update_budget_gate を使ってください)。
update_budget_gate予算ゲートの monthlyLimitUsd / enforceMode / enabled を部分的に更新します(Pro+)。
delete_budget_gate予算ゲートを削除します(Pro+)。削除後は SDK の事前 enforce が停止します。一時停止したいだけなら、update_budget_gateenabled: false にする方が安全です。

ランタイム制御プレーン(ポリシーゲート)

Tool用途
get_policy_gateランタイムポリシーゲートの設定(モデル allowlist / PII block / secret block / enforceMode / enabled)を返します。SDK の policyGate(opt-in)が各 LLM 呼び出しの前にローカルで評価します。
create_policy_gateポリシーゲートを作成します(Pro+)。モデル allowlist(完全一致、1〜100 件。先頭の models/ プレフィックスは比較前に正規化されます)、PII 検知によるブロック、API キーらしきトークンのブロックを設定でき、少なくとも 1 つのルールが必要です。PII 検知の対象は、email、カード番号(Luhn 検証付き)、区切り文字で区切られた電話番号と個人番号、IPv4、IPv6(完全形 + 主要な圧縮形)です。区切りのない連続した数字列は、誤検知によるブロックを避けるため意図的に対象外としています。アカウントあたり 1 つで、既存があれば 409 を返します。redact モードは未対応です(ブロックのみ)。
update_policy_gateポリシーゲートを部分的に更新します(Pro+)。modelAllowlist: null を渡すとモデル制限を解除できます。
delete_policy_gateポリシーゲートを削除します(Pro+)。一時停止したいだけなら、update_policy_gateenabled: false にする方が安全です。

ランタイム制御プレーン(人間承認ゲート)

Tool用途
request_approval危険な操作(削除・送金・退会など)の前に、人間の承認依頼を作成します(Pro+)。アカウントオーナーに email が届き、ダッシュボードまたは email のリンクから承認 / 否認します。承認・否認できる MCP tool は存在しません ── AI エージェントが自分の依頼を自己承認することはできません。timeoutSeconds(60〜86400、既定 3600)が経過すると依頼は expired となり、否認扱いになります。
get_approval承認依頼の現在の状態(pending / approved / denied / expired)を返します。approved 以外は、ゲート対象の操作を実行しない(default-deny)ことを意味します。さらに、危険な mutation tool 6 件 bulk_delete_calls / purge_expired_plaintext / retry_failed_webhook / auto_silence_noisy_alert / extend_customer_trial / apply_promo_code_to_customer は任意の approvalId を受け取れます。バックエンドが「承認済み・期限内・action 一致・未消費」を検証し、実行時に承認を消費します(1 承認 = 1 実行)。承認依頼の action は対象 tool 名と完全に一致させて作成してください。ドライランは消費せずに検証だけ行います。
list_approvals承認依頼を一覧表示します(最新 50 件)。ステータスフィルタは pending(既定)/ approved / denied / expired / all です。

提案(承認キュー)

Tool用途
list_proposalsArgosvix が自動検出した未対応の改善提案(品質ドリフト / 信頼性異常 / コスト切替 / 安全性 / うるさいアラートのサイレンス)の一覧を返します。承認・却下・実行はダッシュボードの受信箱で行います(エージェントは閲覧と会話のみです)。
get_proposal_thread単一提案のスレッド(これまでの質問と AI の返信)を返します。proposalIdlist_proposals で取得します(prp_ で始まる ID です)。
reply_proposal提案について質問(body)を投稿し、AI の返信を得ます(受信箱内の会話と同じです)。説明のみで、実行は伴いません。

イベント webhook

Tool用途
list_webhooks登録済みの外向きイベント webhook の一覧を返します(GET /v1/webhooks)。各 webhook は id / url / hasSecret / enabled / eventTypes / 直近の配信ステータス / 連続失敗回数を含みます(secret 本体は返しません)。アカウントの出来事(承認依頼、提案の実行 / 取消)を外部エンドポイントへ署名付き POST で通知する購読面です。Free でも閲覧できます。
create_webhook外向きイベント webhook を登録します(Pro+、POST /v1/webhooks)。url は HTTPS 必須で、SSRF 対策としてプライベート / ループバックのホストは拒否されます。任意で secret(HMAC-SHA256 署名キー。設定すると配信に X-Argosvix-Signature ヘッダが付きます)と、購読するイベント種別の配列 eventTypesapproval.requested / proposal.executed / proposal.reversed。省略または空配列で全件購読)を指定できます。アカウントあたり最大 10 件です。配信ペイロードは { event, eventId, occurredAt, accountId, data } です。
update_webhookwebhook を部分的に更新します(Pro+、PATCH /v1/webhooks/:id)。指定したフィールド(url / secret / eventTypes / description / enabled)のみ変更します。secret に null を渡すと署名を解除し、enabled: true で再有効化すると連続失敗カウンタもリセットされます。webhookIdlist_webhooks の id です。
delete_webhookwebhook を削除します(Pro+、DELETE /v1/webhooks/:id)。webhookIdlist_webhooks の id です。

Resources(3 件 ── 静的スナップショット)

resources/read で取得する読み取り専用データです。ホストアプリケーションが会話の文脈に事前取得します。

URI内容
argosvix://accountプラン / クォータ / 今月の record 使用量 / 保持期間のスナップショット(subscription の詳細は含みません)。
argosvix://alerts/activeenabled=true のアラートすべて。
argosvix://cost/today直近 24 時間のコスト集計(provider 別と合計)。

Subscribe(stdio のみ)

stdio transport は resources.subscribe capability を宣言します。クライアントは 3 つの静的 resource に subscribe でき、サーバーは 60 秒ごとに polling して、内容が変化したら notifications/resources/updated を送信します。

# subscribe → change notification → auto-refresh
client: resources/subscribe { uri: "argosvix://cost/today" }
server: {}                          # accept
... internal 60s polling cycle ...
server: notifications/resources/updated { uri: "argosvix://cost/today" }
client: resources/read { uri: "argosvix://cost/today" }   # fetch latest

仕様と制限:

  • subscribe できるのは上記 3 つの URI のみです。resource templates は subscribe できません。
  • HTTP transport はリクエスト単位の stateless 設計で subscribe を宣言しません。resources/subscribe リクエストには -32601 Method not found を返します。
  • notifications/resources/list_changed は未対応です(resource の一覧はサーバーの稼働中、固定です)。
  • シャットダウンや接続切断時には、polling タイマーを停止し subscription のセットをクリアします(SIGINT / SIGTERM / beforeExit のハンドラを登録済みです)。

Resource templates(8 件 ── URI をパラメータ化)

{id}query_callslist_alerts などから得た id に置き換えて resources/read を呼び出します。

URI テンプレート内容
argosvix://calls/{id}単一の呼び出し記録(query_calls.records[].id から)。
argosvix://alerts/{id}単一アラートの設定 + 直近 20 件の発火イベント(channelTargets は除外)。
argosvix://traces/{id}単一トレースの全 span(上限 50 件、元の件数は meta に含めて返却。errorDetails / requestMeta は除外)。
argosvix://annotations/{id}単一アノテーションの詳細。
argosvix://eval-criteria/{id}単一評価基準の詳細。
argosvix://eval-runs/{id}単一評価ランと、基準ごとのスコア。
argosvix://safety-assessments/{id}単一の安全性判定の詳細。
argosvix://prompts/{id}単一プロンプトの詳細。

すべての resource template の読み取りにおいて、LLM の文脈に渡すフィールドは明示的に許可リスト方式で制限しています(prompt injection や内部実装の漏洩に対する構造的な防御です)。


Prompts(3 件 ── テンプレート化されたメッセージ)

prompts/get で取得します。ユーザーは通常、スラッシュコマンドとして呼び出します。

名前用途
cost_review24 時間 / 7 日 / 30 日のコストトレンドを分析し、異常(急なスパイク、単一モデルへの偏り、想定外のモデル)を指摘します。
alert_audit現在のアラートルールを監査し、プラン / しきい値 / 通知先が妥当かを確認します。
incident_triage直近 N 時間のエラー / レイテンシ異常を調査し、根本原因を推定します(hours は任意、既定は 24)。

プラン別の上限

項目FreeProTeam
MCP サーバー接続
読み取り tools
書き込み tools(prompt、eval、budget など)一部
月の MCP リクエスト1,000 / 月10,000 / 月seat あたり 10,000 / 月

Team プランはベータ提供中です。詳細は 料金プラン を参照してください。


デバッグログ

既定では、バックエンドのエラー応答の生のボディは stderr に出力しません。デバッグ時のみ明示的に opt-in できます。

ARGOSVIX_MCP_DEBUG=1 argosvix-mcp           # stdio
ARGOSVIX_MCP_DEBUG=1 argosvix-mcp --http    # HTTP

この環境変数を設定しない場合は path / status / x-request-id のみを出力します。これにより、既定でバックエンド側の機微情報を本番のログ集約基盤に残しません。


リンク


サポート

hello@argosvix.com

最終更新: 2026-07-09