🚀 FusionAL——自托管MCP治理网关
](https://smithery.ai/servers/jrm-fusional/fusional)
您的团队连接了10台MCP服务器。现在怎么办?\ 🌐 fusional.dev • 📧 jonathanmelton.fusional@gmail.com • 🗓️ 预订电话
MCP功能强大。企业MCP部署是一个完全不同的问题。
您连接的每台服务器都会在之前将其完整的工具清单加载到Claude的上下文窗口中 处理您请求的单个令牌。在多个服务器上有84个工具,这是 会话开始时消耗了15540个令牌 --在你的团队提出任何要求之前。 从规模上讲,这是成本、延迟和审计表面,没有人能向法律部门解释。
FusionAL是一个 自托管MCP治理网关 它位于您的AI客户端之间 以及您的工具服务器。一个端点。中央认证。工具级策略执行。 完整的审计跟踪。可在单个Docker命令中部署,包括在Windows上, MCP有6种记录在案的故障模式,官方文件没有涵盖。
专为那些已经对MCP表示同意,现在需要安全运行它的团队而设计:
- 令牌控制 --每个客户端的过滤工具暴露,因此上下文膨胀不会随着服务器数量的增加而扩大
- 审计就绪操作 --每个工具调用都记录了调用者、输入、延迟和响应状态
- 政策执行 --控制运行什么工具、为谁运行以及在什么条件下运行
- 窗户加固 --解决了6种记录在案的故障模式,其中没有一种出现在官方MCP文档中
- 人工智能驱动的服务器生成 --用简单的英语描述一个工具,FusionAL构建并注册它
- 为您完成选项 --我们为您部署、治理和管理它
*问题不在于是否采用MCP。这取决于你的部署能否在与安全团队的接触中幸存下来。*
______________________________________________________________________
⚡ 快速入门(5分钟)
先决条件
- Docker桌面(已安装并正在运行)
- 克劳德桌面版
- 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第二步:启动FusionAL
cd core
python -m uvicorn main:app --reload --port 8009验证它是否正在运行:
curl http://localhost:8009/health步骤3:配置Claude桌面
查找您的配置文件:
- 窗户:
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。打开新聊天室并尝试:
*“生成一个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 | 简明英语提示→ 克劳德写的→ 运行它 |
generate_mcp_project | 描述MCP服务器→ Claude构建了整个项目 |
REST API
| 端点 | 方法 | 描述 |
|---|---|---|
/health | GET | 健康检查 |
/execute | POST | 执行Python(可选Docker沙盒) |
/register | POST | 在注册表中注册MCP服务器 |
/catalog | GET | 列出所有已注册的服务器 |
/generate | POST | 从提示符生成并启动新服务器 |
______________________________________________________________________
🛠️ 展示服务器
这些服务器随附 mcp咨询工具包 并在FusionAL网关中预先注册:
| 服务器 | 端口 | 工具 |
|---|---|---|
business-intelligence-mcp | 8101 | 自然语言→ SQL(PostgreSQL、MySQL、SQLite) |
api-integration-hub | 8102 | Slack、GitHub问题、Stripe客户查询 |
content-automation-mcp | 8103 | 网络抓取、链接提取、表解析、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 如果存在,网关将启用:
- 上的API密钥身份验证
/execute,/register,/generate - 速率限制
- 跨域资源共享配置
______________________________________________________________________
🪟 Windows特定修复程序
FusionAL文档并解决了官方文档中未涵盖的6种Windows MCP故障模式:
- 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不会在配置路径中展开env变量。对它们进行硬编码。
- Docker命名管道故障 --Docker的命名管道传输在WSL2上失败。使用
/var/run/docker.sock.
- 8+台服务器的注册表超时 --Claude Desktop在低端硬件上达到了超时阈值。\
在i5/i7第7代及以下版本上,将注册表限制在8台服务器。
______________________________________________________________________
🧰 构建自己的MCP服务器
使用AI Builder(通过Claude Desktop)
连接FusionAL后,问克劳德:
*“生成一个MCP服务器,使用自然语言查询我们的PostgreSQL数据库。”*
FusionAL生成完整的项目,构建它,并在网关中自动注册。
手动服务器结构
my-server/
├── Dockerfile
├── requirements.txt
├── my_server.py ← FastMCP tools go here
└── .env关键规则
- 使用
@mcp.tool()异步函数上的装饰器 - 仅限单行文档字符串(多行中断某些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')______________________________________________________________________
📚 示例
| 示例 | 路径 | 它演示了什么 |
|---|---|---|
| 骰子滚轮 | examples/dice-roller/ | D&D骰子(8个工具),骰子符号解析 |
| 天气API | examples/weather-api/ | 外部API集成,错误处理 |
| 文件工具 | examples/file-utils/ | 安全的文件系统访问、分页 |
______________________________________________________________________
🚀 为您完成咨询
不想自我管理?FusionAL为您提供MCP部署:
| 层级 | 范围 | 价格 |
|---|---|---|
| 起动机安装 | 单一环境、核心服务器、Windows强化 | 2500-3500美元 |
| 核心安装 | 全栈、定制服务器、治理层、团队入职 | 5000-9000美元 |
| 保留金 | 持续运营、事件响应、新服务器构建 | 每月1500-4000美元 |
______________________________________________________________________
🤝 贡献
欢迎捐款。优先领域:
- 新示例服务器
- Windows兼容性修复程序
- 文档改进
- 测试覆盖率
______________________________________________________________________
📄 许可证
麻省理工学院——见 许可证
______________________________________________________________________
🙏 学分
______________________________________________________________________
由自学成才的开发人员构建,他解决了其他人没有记录的MCP问题。\ 🌐 fusional.dev • ⭐ 如果回购能节省你几个小时,就给它打星
______________________________________________________________________
🙌 起源与灵感
FusionAL从NetworkChuck视频开始。
如果你还没看过 *“你现在就需要学习MCP!!”* --先去看吧。Chuck对基本原理的解释比任何人都好,他的 是理解MCP服务器如何与Docker协同工作的最佳起点。
此仓库中的骰子滚轮示例和快速启动结构改编自该教程(麻省理工学院许可)。
FusionAL走得更远:
Chuck的教程向您展示了如何手动构建MCP服务器——编辑提示模板,将其粘贴到Claude中,自己实现结果。
FusionAL将人类完全从这个循环中移除。您复制粘贴的不是提示文件, generate_mcp_project 是一个实时工具调用——Claude描述它想要构建什么,FusionAL生成它,注册它,并运行它。没有剪贴板。没有手动步骤。
更重要的是,Chuck的视频涵盖了Docker的MCP目录——点击即可启用300多台服务器。这是第一步。当CTO提出以下问题时,FusionAL正是您所需要的:
*“很好,但我们如何审计这些工具的功能?我们如何执行政策?我们如何确保这不会成为安全事件?”*
FusionAL旨在填补这一空白:为大规模部署MCP的团队提供治理、可审计性和运营控制,尤其是在Windows上,仅靠目录是不够的。
