福兹罗多
通用工作流编排MCP服务器,使用LangGraph状态机跨多个MCP工具协调复杂的多步流程。
概述
FuzroDo同时充当MCP服务器和MCP客户端,允许您:
- 将工作流定义为可组合的LangGraph状态机
- 以复杂的顺序编排多个MCP服务器
- 处理部分成功和全面错误跟踪
- 在工作流执行之前验证需求
安装
# Clone the repository
git clone
cd FusRohDoMCP
# Install dependencies
npm install
# Build the TypeScript code
npm run build配置
1.配置FuzroDo
复制 .env.example 到 .env 并配置MCP服务器 FuzroDo直接编排:
cp .env.example .env编辑 .env 指向您的MCP服务器:
# ElevenLabs MCP Server - FuzroDo calls this directly
ELEVENLABS_MCP_TRANSPORT=stdio
ELEVENLABS_MCP_COMMAND=node
ELEVENLABS_MCP_ARGS=["c:/Users/peter/Documents/ElevenLabsMCP/dist/index.js"]
# Atlassian Prompts MCP Server - FuzroDo calls this directly
ATLASSIAN_MCP_TRANSPORT=stdio
ATLASSIAN_MCP_COMMAND=node
ATLASSIAN_MCP_ARGS=["c:/Users/peter/Documents/BitbucketPromptsForPlaywrightMCP/mcp-server/index.js"]
# Logging level
LOG_LEVEL=info重要说明:
- 仅配置FuzroDo直接调用的MCP(ElevenLabs、Atlassian Prompts)
- 不要根据FuzroDo的说明配置Claude使用的MCP(如Playwright)
- 每个MCP服务器都在自己的服务器中管理自己的秘密
.env文件
2.配置克劳德代码/桌面
将FuzroDo添加到您的Claude Desktop配置文件中。
位置:
- 视窗:
%APPDATA%\Claude\claude_desktop_config.json - macOS:
~/Library/Application Support/Claude/claude_desktop_config.json - Linux:
~/.config/Claude/claude_desktop_config.json
最小配置 (只有FuzroDo):
{
"mcpServers": {
"fuzrodo": {
"command": "npx",
"args": [
"-y",
"tsx",
"c:/Users/peter/Documents/FusRohDoMCP/src/index.ts"
],
"env": {
"LOG_LEVEL": "info"
}
}
}
}完整架构 (克劳德的FuzroDo+MCP):
Claude需要访问FuzroDo和工作流委托给的MCP(如Playwright):
{
"mcpServers": {
"fuzrodo": {
"command": "node",
"args": [
"c:/Users/peter/Documents/FusRohDoMCP/dist/index.js"
],
"env": {
"LOG_LEVEL": "info"
}
},
"playwright": {
"command": "npx",
"args": [
"-y",
"@modelcontextprotocol/server-playwright"
]
},
"elevenlabs": {
"command": "node",
"args": [
"c:/Users/peter/Documents/ElevenLabsMCP/dist/index.js"
]
},
"atlassian-prompts": {
"command": "node",
"args": [
"c:/Users/peter/Documents/BitbucketPromptsForPlaywrightMCP/mcp-server/index.js"
]
}
}
}关键点:
- 福兹罗多 直接调用ElevenLabs和Atlassian Prompts(在FuzroDo中配置
.env) - 克劳德 当FuzroDo工作流委派任务时使用Playwright(在Claude Desktop配置中配置)
- 这种分离使FuzroDo专注于编排,而不是LLM推理
备注:更新路径以匹配您的系统。
3.重新启动克劳德桌面
更新配置后,重新启动Claude Desktop以加载新的MCP服务器。
用法
配置后,FuzroDo工作流在Claude中显示为工具:
Available tools:
- hello_world: Test tool to verify FuzroDo is working
- [your workflows will appear here once registered]测试安装
在Claude中,您可以通过以下方式测试FuzroDo:
Use the hello_world tool with name "Test"这应该以配置的MCP服务器和注册的工作流作为响应。
发展
项目结构
FuzroDo/
├── src/
│ ├── index.ts # Main MCP server entry point
│ ├── workflows/ # Workflow definitions
│ │ └── registry.ts # Workflow registry
│ ├── nodes/ # Reusable workflow nodes
│ ├── utils/
│ │ ├── mcpClient.ts # MCP client manager
│ │ ├── logger.ts # Logging utility
│ │ ├── errors.ts # Custom error types
│ │ └── requirements.ts # Requirement validation
│ └── types/
│ ├── workflow.ts # Workflow type definitions
│ └── mcpConnections.ts # MCP connection types
└── dist/ # Compiled JavaScript output命令
# Development with auto-restart
npm run dev
# Build only
npm run build
# Watch mode (auto-rebuild)
npm run watch
# Run the server
npm start创建工作流
看 CLAUDE.md 有关以下内容的详细指导:
- 创建新工作流
- 添加工作流节点
- 工作流状态管理
- 错误处理模式
- 测试工作流程
建筑
FuzroDo使用分层架构:
Claude Code (MCP Client)
↓ calls workflow tools
FuzroDo MCP Server (Workflow Orchestrator)
├── LangGraph State Machines (workflow execution)
├── Workflow Registry (manages workflow definitions)
└── MCP Client Manager (connects to other MCP servers)
↓ orchestrates
External MCP Servers (ElevenLabs, Atlassian, Playwright, etc.)关键原则
- 多用途的:不依赖于特定的工作流程-可扩展的架构
- 明确要求:执行前验证依赖关系
- 快速失败:不隐藏错误,支持部分成功状态
- 业务流程层:协调其他MCP服务器,不重复功能
许可证
麻省理工学院
