agentstack-mcp について
AgentStack MCPは、AIエージェント向けにシナリオシミュレーション、多基準意思決定、精密な財務・業務計算をまとめます。領域横断ツールが各エンジンを連携し、40桁精度の決定論的計算をステートレスに実行します。
主な機能
- 01シナリオシミュレーションツール
- 02重み付き意思決定分析
- 03財務・業務計算
- 04領域横断の複合パイプライン
- 05決定論的な40桁精度計算
- 06ステートレス動作とツールプロファイル
活用シーン
- 01シナリオを予測してキャッシュフローを評価
- 02予測結果に基づく選択肢の順位付け
- 03前提条件の変化に対する意思決定の検証
MCP 対応
単一のMCPエンドポイントを通じて、3領域の推論機能と複合ツールを提供します。ホスト型のStreamable HTTPまたはローカルのstdioで利用でき、ツールプロファイルで公開範囲を絞れます。
設定
リモートサーバーはインストール不要です。クライアントを選んで設定をコピーするか、ワンクリックで導入できます。
https://agentstack-mcp.pages.dev/mcpclaude mcp add --transport http inity13-agentstack https://agentstack-mcp.pages.dev/mcp{"mcpServers":{"inity13-agentstack":{"type":"http","url":"https://agentstack-mcp.pages.dev/mcp"}}}Cursor で開く{"servers":{"inity13-agentstack":{"type":"http","url":"https://agentstack-mcp.pages.dev/mcp"}}}VS Code で開く{"mcpServers":{"inity13-agentstack":{"type":"http","url":"https://agentstack-mcp.pages.dev/mcp"}}}{"mcpServers":{"inity13-agentstack":{"serverUrl":"https://agentstack-mcp.pages.dev/mcp"}}}コマンドはターミナルで実行し、JSON は各クライアントの MCP 設定に貼り付けて再起動します。認可が必要なサーバーは初回接続時にログインを求めます。
ツール
24このツールにパラメーターはありません。
詳細
AgentStack MCP
AI エージェント向けの、決定論的な推論スタック — 単一の Model Context Protocol (MCP) エンドポイントと 1 つの API キーで利用できます。
シミュレーション(ScenarioSim)→ 意思決定(DecisionMatrix)→ 計算(PrecisionCalc)
さらに、3 つを連携させる クロスドメインの複合ツールも備えています。すべての数値は
decimal.js による 40 桁精度で処理されるため
(浮動小数点数は一切使いません)、同じ入力からは常に バイト単位で同一の出力が得られます。
サーバーは ステートレスです。データベースもセッションもありません。
AgentStack は 3 つのスタンドアロン MCP サーバーをまとめているため、エージェントは 1 つの サーバーをインストールし、1 つのキーを使って、3 つすべてのドメインにまたがる推論を実行できます。 同じエンジンを直接インポートするため(HTTP プロキシは介しません)、追加の遅延はなく、連鎖的な障害も起きません。
🌐 ホスト型サーバーを今すぐ利用(無料、インストール不要)
https://agentstack-mcp.pages.dev/mcp
{ "mcpServers": { "agentstack": {
"type": "http", "url": "https://agentstack-mcp.pages.dev/mcp" } } }
無料プラン:キー不要、IP ごとに 1 日 20 回まで利用できます。有料プラン(Starter $19/mo · 8,000/day、
Pro $59/mo · 80,000/day)では、X-API-Key として送信する API キーが発行されます。1 つのキーで
3 つの製品と複合ツールすべてを利用でき、個別に契約する場合と比べて費用は約半分です。ランディングページ:https://agentstack-mcp.pages.dev。
3 つの名前空間(24 個のツール)
| 名前空間 | エンジン | ツール |
|---|---|---|
sim_* | ScenarioSim — 仮定分析/シナリオシミュレーション | sim_run、sim_sensitivity、sim_break_even、sim_compare、sim_list_templates |
decide_* | DecisionMatrix — 多基準意思決定分析 | decide、decide_score、decide_sensitivity、decide_compare_two、decide_list_methods |
calc_* | PrecisionCalc — 正確な財務/ビジネス計算 | calc_metric、calc_list_metrics、calc_currency_convert、calc_business_days、calc_compound_growth、calc_npv、calc_irr、calc_loan_amortization、calc_depreciation |
| meta | — | list_capabilities、health_check |
意図的に名前空間を分けている、名称の重複について:
sim_sensitivityは シナリオの入力値を変化させ、decide_sensitivityは 基準の重みを変化させます。これは 異なる処理であり、接頭辞によってエージェントが区別できます。
複合ツール — このスタックを使う理由
エンドツーエンドで決定論的に処理できます。それぞれ、単一のサーバーでは実現できないエンジン連携を行います。
| ツール | パイプライン | 内容 |
|---|---|---|
plan_to_valuation | シミュレーション → 計算 | シナリオを予測し、期間ごとのキャッシュフロー行(cashflow_metric)を取り出して評価します。割引 rate による NPV、IRR、割引前の合計を計算します。initial_investment は期間 0 の支出になり(IRR に必要です)、 |
evaluate_options_with_scenarios | シミュレーション → 意思決定 | 各選択肢を独立したシナリオとして予測し、シナリオの 結果(key_results)から得られる重み付き基準に基づいて、選択肢を 順位付けします。 |
stress_test_decision | シミュレーション × 意思決定 | 1 つのシナリオの前提をすべての選択肢に適用してストレステストを行い、ベースラインでの勝者がどの程度の頻度で維持されるか(堅牢性)と、どの条件で結果が逆転するかを報告します。 |
複合ツールの応答には、実行した pipeline と各段階の構造化出力が含まれるため、
エージェントはどの段階も詳しく確認できます。
プロファイル — ツール選択のノイズを抑える
エンドポイントに ?profile= を追加すると、ツールの一部だけを読み込めます。
| プロファイル | ツール |
|---|---|
all (デフォルト) | すべてのツール(24 個) |
finance | calc_* + plan_to_valuation + meta |
decision | decide_* + evaluate_options_with_scenarios + stress_test_decision + meta |
simulation | sim_* + すべての複合ツール + meta |
{ "mcpServers": { "agentstack": {
"url": "https://agentstack-mcp.pages.dev/mcp?profile=finance" } } }
応答エンベロープ
名前空間付きツールは、基盤となる製品とまったく同じエンベロープを返します。複合ツールは
composite、pipeline、段階ごとのブロック、methodology、notes、平易な言葉での
explanation を追加します。エラーも常に構造化データです。
{ "status": "error", "error": { "type": "unknown_metric", "message": "...", "hint": "..." } }
例 — plan_to_valuation(抜粋):
{
"status": "success",
"composite": "plan_to_valuation",
"pipeline": ["scenariosim.run_scenario", "precisioncalc.net_present_value", "precisioncalc.internal_rate_of_return"],
"scenario": { "template": "saas_growth", "horizon": 12, "key_results": { "ending_mrr": 26982.1 } },
"cashflow_metric": "mrr",
"cashflows": [-150000, 14040, 15600, "..."],
"valuation": { "discount_rate": 0.01, "npv": 11157.386023, "irr": 0.02504, "value_creating": true },
"explanation": "Projecting 'saas_growth' over 12 month(s) and valuing the 'mrr' stream at 1%/period gives an NPV of ..."
}
プロジェクト構成
agentstack-mcp/
├── worker-src/
│ ├── index.mjs # Cloudflare Pages Function: MCP transport, namespacing, profiles, billing
│ ├── composites.mjs # the 3 cross-domain tools (simulate -> decide -> compute)
│ ├── billing.mjs # Stripe + KV: one key / one quota for the whole stack
│ └── engines/ # vendored, unmodified product engines (100% deterministic)
│ ├── scenariosim.mjs
│ ├── decisionmatrix.mjs
│ └── precisioncalc.mjs
├── server.mjs # local stdio MCP server (same engines + composites; AGENTSTACK_PROFILE env)
├── site/ # landing page + mcp.json + llms.txt + _worker.js (built)
├── tests/composites.test.mjs
├── examples/agent_example.mjs
├── scripts/sync-engines.sh # re-vendor engines from the sibling repos
├── package.json · wrangler.toml · server.json · smithery.yaml · Dockerfile · LICENSE
└── README.md
エンジンを同梱する理由は? このリポジトリを自己完結型にし、再現性を確保するためです。
エンジンは、3 つのスタンドアロンサーバーを動かすものと同じ決定論的なモジュールです。上流リポジトリに変更が反映されたら、npm run sync-engines で隣接するリポジトリから再コピーできます。
ローカルで実行する
git clone <your-fork> agentstack-mcp && cd agentstack-mcp
npm install
npm test # composite-logic tests (no network)
npm run dev # -> http://127.0.0.1:8788/mcp
node examples/agent_example.mjs # hosted demo
node examples/agent_example.mjs http://127.0.0.1:8788
node server.mjs # dependency-light stdio server (AGENTSTACK_PROFILE=finance to subset)
手動ですばやく呼び出す例:
curl -s http://127.0.0.1:8788/mcp \
-H 'content-type: application/json' -H 'accept: application/json, text/event-stream' \
-d '{"jsonrpc":"2.0","id":1,"method":"tools/call","params":{"name":"list_capabilities","arguments":{}}}'
npm 経由でインストールする(stdio、ホスティング不要)
1 つのコマンドでサーバーをローカルの stdio 経由で実行できます。デプロイは不要です。
npx -y agentstack-mcp
Claude Desktop/任意の stdio MCP クライアント(claude_desktop_config.json):
{ "mcpServers": { "agentstack": { "command": "npx", "args": ["-y", "agentstack-mcp"] } } }
これはホスト型サーバーと同じ決定論的なエンジンを、お使いのマシン上で実行します。
クライアントの設定
Cursor — ~/.cursor/mcp.json
{ "mcpServers": { "agentstack": { "url": "https://agentstack-mcp.pages.dev/mcp" } } }
Claude Desktop — claude_desktop_config.json(mcp-remote 経由)
{ "mcpServers": { "agentstack": { "command": "npx", "args": ["-y", "mcp-remote", "https://agentstack-mcp.pages.dev/mcp"] } } }
VS Code — .vscode/mcp.json
{ "servers": { "agentstack": { "type": "http", "url": "https://agentstack-mcp.pages.dev/mcp" } } }
Windsurf — ~/.codeium/windsurf/mcp_config.json
{ "mcpServers": { "agentstack": { "serverUrl": "https://agentstack-mcp.pages.dev/mcp" } } }
キーを取得したら、"headers": { "X-API-Key": "ssak_live_..." } を追加してください。
複合ペイロードの例
予測される成果に基づいて、成長戦略を順位付けします。
{ "name": "evaluate_options_with_scenarios", "arguments": {
"template": "saas_growth", "horizon": 12,
"options": [
{ "name": "Aggressive", "inputs": { "new_customers_per_period": 60, "churn_rate": 0.05 } },
{ "name": "Lean", "inputs": { "new_customers_per_period": 20, "churn_rate": 0.02 } }
],
"criteria": [
{ "metric": "ending_mrr", "weight": 3, "direction": "benefit" },
{ "metric": "total_churned_customers", "weight": 1, "direction": "cost" }
]
} }
プランの MRR ストリームを評価します。
{ "name": "plan_to_valuation", "arguments": {
"template": "saas_growth", "horizon": 12,
"inputs": { "new_customers_per_period": 60, "churn_rate": 0.05, "arpu": 60 },
"cashflow_metric": "mrr", "rate": 0.01, "initial_investment": 150000
} }
意思決定をストレステストします。
{ "name": "stress_test_decision", "arguments": {
"template": "saas_growth", "horizon": 12,
"options": [ { "name": "Aggressive", "inputs": { "churn_rate": 0.05 } },
{ "name": "Lean", "inputs": { "churn_rate": 0.02 } } ],
"criteria": [ { "metric": "ending_mrr", "weight": 3 } ],
"stress": { "variable": "churn_rate", "variation": 0.5, "steps": 5 }
} }
Cloudflare Pages にデプロイする
npm install
npx wrangler login
npm run deploy # esbuild -> site/_worker.js, then wrangler pages deploy
バインディングやシークレットがなくても、完全無料/プライベートで実行できます(無料枠ではオープン状態で動作します)。課金を有効にするには、KV 名前空間 AGENTSTACK_KV をバインドし、[vars] で PRICE_STARTER/PRICE_PRO を設定して、Stripe シークレットを追加します。
wrangler pages secret put STRIPE_SECRET_KEY --project-name agentstack-mcp
wrangler pages secret put STRIPE_WEBHOOK_SECRET --project-name agentstack-mcp
ルート:/mcp(Streamable HTTP)、/checkout、/success、/portal、/webhook、/metrics。
認証とレート制限
worker-src/billing.mjs で適用されます。identify() は X-API-Key/Authorization: Bearer を読み取り、該当するものがない場合は IP ごとの無料枠にフォールバックします。consumeQuota() は KV の日次カウンターで、唯一の制限適用箇所です。1 つのキー/クォータがスタック全体に適用されます。NOTE (auth)/NOTE (rate limiting) の箇所は、JWT/mTLS またはトークンバケットに置き換える場所を示します。これらは決定論的な計算には一切影響しません。
スタンドアロンサーバーとの関係
AgentStack は追加機能であり、置き換えではありません。以下の 3 つの製品は、単一ドメインでの利用向けに個別に引き続き動作します。
- ScenarioSim — https://scenariosim-mcp.pages.dev/mcp
- DecisionMatrix — https://decisionmatrix-mcp.pages.dev/mcp
- PrecisionCalc — https://precisioncalc-mcp.pages.dev/mcp
ライセンス
MIT — LICENSE を参照してください。
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。