Fusional について
FusionAL は、AI クライアントとツールサーバーをつなぎ、ルーティング、ポリシー適用、監査を集約するチーム向けセルフホスト可能な MCP ゲートウェイです。コード実行サンドボックスに加え、プロンプトから MCP サーバーを生成、登録、起動するツールも提供します。
主な機能
- 01複数の MCP サーバーを一元ルーティング
- 02クライアントごとのツール公開とポリシー適用
- 03ツール呼び出しの監査情報を記録
- 04Python を分離サンドボックスで実行
- 05MCP サーバーの生成、登録、起動
- 06Docker によるデプロイ
活用シーン
- 01チームのクライアントを複数の MCP サーバーに接続
- 02クライアントが利用できるツールを制御
- 03ツール呼び出しと結果の監査
- 04要件から MCP サーバーを生成してデプロイ
MCP 対応
SSE または Streamable HTTP で MCP クライアントとツールサーバーを接続するゲートウェイとして動作し、コード実行や MCP プロジェクト生成のツールも公開します。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
ツール
ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。
詳細
🚀 FusionAL — セルフホスト可能な MCP ガバナンスゲートウェイ
チームで MCP サーバーを10個接続しました。次はどうしますか?
🌐 fusional.dev • 📧 [email protected] • 🗓️ 通話を予約
MCP は強力です。エンタープライズでの MCP 導入は、まったく別の課題です。
接続した各サーバーは、リクエストの処理が始まる前に、すべてのツールマニフェストを Claude のコンテキストウィンドウに読み込みます。複数のサーバーにまたがって84個のツールがある場合、セッション開始時点で15,540トークンを消費します。チームが何かを尋ねる前からです。 規模が拡大すると、コスト、レイテンシ、そして法務部門に説明できない監査対象が増大します。
FusionAL は、AI クライアントとツールサーバーの間に配置するセルフホスト可能な MCP ガバナンスゲートウェイです。エンドポイントは1つ。認証を一元化。ツール単位でポリシーを適用。完全な監査証跡を確保します。Docker コマンド1つでデプロイでき、MCP の公式ドキュメントでは説明されていない6つの既知の障害モードがある Windows にも対応しています。
MCP の導入をすでに決めており、安全な運用を必要としているチームのために構築されています:
- トークン制御 — クライアントごとに公開するツールを絞り込み、サーバー数の増加に伴うコンテキストの肥大化を防ぎます
- 監査対応の運用 — すべてのツール呼び出しについて、呼び出し元、入力、レイテンシ、応答ステータスを記録します
- ポリシーの適用 — どのツールを、誰が、どのような条件で実行できるかを制御します
- Windows 向けに強化 — 公式 MCP ドキュメントには記載されていない、6つの既知の障害モードを解決済みです
- AI によるサーバー生成 — ツールを自然な英語で説明すると、FusionAL が生成して登録します
- お任せオプション — お客様に代わってデプロイ、ガバナンス、管理を行います
問われているのは、MCP を導入するかどうかではありません。セキュリティチームの審査に、導入環境が耐えられるかどうかです。
⚡ クイックスタート(5分)
前提条件
- Docker Desktop(インストール済みで起動中)
- Claude Desktop
- Python 3.11+
- Git
ステップ1:クローンしてインストール
git clone https://github.com/JRM-FusionAL/FusionAL.git
cd FusionAL
python -m venv venv
source venv/bin/activate # macOS/Linux
# venv\Scripts\activate # Windows
pip install -r core/requirements.txt
ステップ2:FusionAL を起動
cd core
python -m uvicorn main:app --reload --port 8009
起動を確認します:
curl http://localhost:8009/health
ステップ3:Claude Desktop を設定
設定ファイルを見つけます:
- Windows:
C:\Users\YourName\AppData\Roaming\Claude\claude_desktop_config.json - macOS:
~/Library/Application Support/Claude/claude_desktop_config.json - Linux:
~/.config/Claude/claude_desktop_config.json
⚠️ Windows ユーザーの方へ: パスに
%APPDATA%を使用しないでください。Claude Desktop は展開できません。 フルパスを直接指定してください。例:C:\Users\YourName\AppData\Roaming\Claude\claude_desktop_config.json
FusionAL を MCP サーバーとして追加します:
{
"mcpServers": {
"fusional-gateway": {
"url": "http://localhost:8009/sse"
}
}
}
ステップ4:Claude Desktop を再起動してテスト
Claude Desktop を完全に終了してから、再度開きます。新しいチャットを開いて、次のように試してください:
「指定した都市の現在の天気を取得する Python MCP サーバーを生成してください。」
FusionAL が自動的に生成、登録、実行します。
🐳 Docker デプロイ
ゲートウェイ全体を Docker でビルドして実行します:
docker build -t fusional .
docker run -d -p 8089:8009 --name fusional fusional
または Docker Compose を使用します:
docker compose up -d
ゲートウェイは http://localhost:8089 で利用できます。
🏗️ アーキテクチャ
Claude Desktop / Any MCP Client
│
▼ (SSE or Streamable HTTP)
FusionAL Gateway (:8009)
│
┌─────┴──────┐
▼ ▼
FastAPI MCP Transport (/mcp)
REST API ├── execute_code
├── generate_and_execute
└── generate_mcp_project
│
▼
Docker Sandbox Executor
(network isolated, memory capped)
│
▼
MCP Server Registry (JSON)
├── business-intelligence-mcp (:8101)
├── api-integration-hub (:8102)
└── content-automation-mcp (:8103)
MCP ツール(/mcp 経由)
| ツール | 説明 |
|---|---|
execute_code | 分離されたサブプロセスのサンドボックスで Python を実行します |
generate_and_execute | 自然な英語のプロンプト → Claude がコードを作成 → 実行します |
generate_mcp_project | MCP サーバーを説明 → Claude がプロジェクト全体を構築します |
REST API
| エンドポイント | メソッド | 説明 |
|---|---|---|
/health | GET | ヘルスチェック |
/execute | POST | Python を実行します(オプションで Docker サンドボックスを使用) |
/register | POST | MCP サーバーをレジストリに登録します |
/catalog | GET | 登録済みのすべてのサーバーを一覧表示します |
/generate | POST | プロンプトから新しいサーバーを生成して起動します |
🛠️ ショーケースサーバー
これらのサーバーは mcp-consulting-kit に含まれており、FusionAL ゲートウェイに事前登録されています。
| サーバー | ポート | ツール |
|---|---|---|
business-intelligence-mcp | 8101 | 自然言語 → SQL(PostgreSQL、MySQL、SQLite) |
api-integration-hub | 8102 | Slack、GitHub Issues、Stripe の顧客検索 |
content-automation-mcp | 8103 | Web スクレイピング、リンク抽出、テーブル解析、RSS フィード |
ショーケーススタック全体を起動します。
cd ../mcp-consulting-kit
docker compose up -d
🔒 セキュリティモデル
Docker サンドボックス
各コード実行は次の条件で行われます。
- ✅ ネットワーク分離(
--network none) - ✅ メモリ制限(デフォルトは 128 MB、設定可能)
- ✅ プロセス数の制限(最大 64 プロセス)
- ✅ 読み取り専用ファイルシステム(
/tmpを除く) - ✅ 権限昇格なし
- ✅ 非 root ユーザーで実行
API セキュリティ(オプション)
mcp-consulting-kit/showcase-servers/common/security.py が存在する場合、ゲートウェイで次の機能が有効になります。
/execute、/register、/generateでの API キー認証- レート制限
- CORS の設定
🪟 Windows 固有の修正
FusionAL は、公式ドキュメントで扱われていない Windows の MCP 障害モード 6 件を解説し、解決しています。
-
60 秒間の無応答 — Claude Desktop がエラーを表示せずにタイムアウトします。Docker ソケットの初期化遅延が原因です。
修正方法を読む → -
BOM の落とし穴 — Notepad/VS Code が JSON 設定にバイトオーダーマークを挿入し、MCP が気づかれないまま動作しなくなります。
修正方法:[System.IO.File]::WriteAllText(path, content, New-Object System.Text.UTF8Encoding($false)) -
バックスラッシュの落とし穴 — Windows のパス区切り文字が
claude_desktop_config.jsonに含まれていると、起動が気づかれないまま失敗します。
スラッシュまたはエスケープした二重バックスラッシュを使用してください。 -
%USERPROFILE%の展開 — Claude Desktop は設定パス内の環境変数を展開しません。パスを直接指定してください。 -
Docker 名前付きパイプの障害 — Docker の名前付きパイプ転送は WSL2 で失敗します。
/var/run/docker.sockを使用してください。 -
サーバーが 8 台以上の場合のレジストリタイムアウト — Claude Desktop は低性能なハードウェアでタイムアウトのしきい値に達します。
第 7 世代以前の i5/i7 では、レジストリのサーバー数を 8 台までに制限してください。
🧰 独自の MCP サーバーを構築する
AI ビルダーを使用する(Claude Desktop 経由)
FusionAL に接続した後、Claude に次のように依頼します。
「自然言語を使って PostgreSQL データベースをクエリする MCP サーバーを生成してください。」
FusionAL はプロジェクト全体を生成してビルドし、ゲートウェイに自動登録します。
手動でのサーバー構成
my-server/
├── Dockerfile
├── requirements.txt
├── my_server.py ← FastMCP tools go here
└── .env
主なルール
- 非同期関数に
@mcp.tool()デコレーターを使用する - ドックストリングは 1 行のみにする(複数行にすると一部の MCP クライアントで問題が発生します)
- すべてのツールから書式設定済みの文字列を返す
- デフォルトパラメーターには
Noneではなく""を指定する sys.stderrにログを出力する- Docker では非 root ユーザーとして実行する
from mcp.server.fastmcp import FastMCP
import sys
mcp = FastMCP("my-server")
@mcp.tool()
async def my_tool(query: str = "") -> str:
"""What this tool does in one line."""
return f"✅ Result for: {query}"
if __name__ == "__main__":
mcp.run(transport='stdio')
📚 例
| 例 | パス | 実演する内容 |
|---|---|---|
| Dice Roller | examples/dice-roller/ | D&D のダイス(8 個のツール)、ダイス記法の解析 |
| Weather API | examples/weather-api/ | 外部 API 連携、エラー処理 |
| File Utils | examples/file-utils/ | 安全なファイルシステムアクセス、ページネーション |
🚀 お任せコンサルティング
セルフ管理を避けたいですか?FusionAL では、MCP の導入をお任せいただけます。
| ティア | 対象範囲 | 料金 |
|---|---|---|
| スターターインストール | 単一環境、コアサーバー、Windows の強化 | $2,500–$3,500 |
| コアインストール | フルスタック、カスタムサーバー、ガバナンスレイヤー、チームのオンボーディング | $5,000–$9,000 |
| リテイナー | 継続的な運用、インシデント対応、新しいサーバーの構築 | $1,500–$4,000/mo |
🤝 貢献
貢献を歓迎します。優先分野:
- 新しいサンプルサーバー
- Windows 互換性の修正
- ドキュメントの改善
- テストカバレッジ
📄 ライセンス
MIT — LICENSEを参照してください
🙏 クレジット
- Anthropic — Claude AI と MCP プロトコル
- FastAPI — API フレームワーク
- FastMCP — MCP サーバーフレームワーク
- Docker — コンテナーインフラストラクチャ
誰も文書化していなかったMCPの問題を解決した、独学の開発者が作りました。
🌐 fusional.dev • ⭐ 何時間も節約できたら、リポジトリにスターを付けてください
🙌 起源とインスピレーション
FusionAL は、NetworkChuck の動画をきっかけに始まりました。
「今すぐMCPを学ぶ必要があります!!」をまだ見ていない方は、まず視聴してください。Chuck は誰よりもわかりやすく基礎を説明しており、彼のdocker-mcp-tutorial リポジトリは、MCP サーバーが Docker とどのように連携するかを理解するための最適な出発点です。
このリポジトリのサイコロを振るサンプルとクイックスタートの構成は、そのチュートリアルを基にしています(MIT ライセンス)。
FusionAL がさらに進んでいる点:
Chuck のチュートリアルでは、MCP サーバーを手動で構築する方法を紹介しています。プロンプトテンプレートを編集し、それを Claude に貼り付け、結果を自分で実装します。
FusionAL では、このループから人間を完全に取り除きます。コピー&ペーストするプロンプトファイルの代わりに、generate_mcp_projectは実際のツール呼び出しです。Claude が構築したいものを説明すると、FusionAL が生成し、登録して、実行します。クリップボードも手作業も必要ありません。
さらに重要なのは、Chuck の動画では、クリックするだけで有効にできる300以上のサーバーが並ぶDockerのMCPカタログを紹介していることです。それが最初のステップです。CTOから次のように尋ねられたときに必要なのがFusionALです。
「すばらしいですね。でも、これらのツールが何をしているか、どう監査すればいいのでしょう?ポリシーをどう適用すればいいのでしょう?セキュリティインシデントに発展しないよう、どう確認すればいいのでしょう?」
FusionAL は、この課題を解決するために作られました。大規模に MCP を導入するチームのためのガバナンス、監査可能性、運用管理を提供します。カタログだけでは不十分な Windows 環境では、特に重要です。
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。