工作流编排服务器

FuzroDo是一个通用的工作流编排MCP服务器,通过LangGraph状态机协调跨多个MCP工具的复杂多步骤流程。

  • by PeterCassell92
  • TypeScript
  • 本地部署
  • 更新于
在 GitHub 查看 PeterCassell92/FuzrodoMCP

使用说明

福兹罗多

通用工作流编排MCP服务器,使用LangGraph状态机跨多个MCP工具协调复杂的多步流程。

概述

FuzroDo同时充当MCP服务器和MCP客户端,允许您:

  • 将工作流定义为可组合的LangGraph状态机
  • 以复杂的顺序编排多个MCP服务器
  • 处理部分成功和全面错误跟踪
  • 在工作流执行之前验证需求

安装

# Clone the repository
git clone <repository-url>
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.)

关键原则

  1. 多用途的:不依赖于特定的工作流程-可扩展的架构
  2. 明确要求:执行前验证依赖关系
  3. 快速失败:不隐藏错误,支持部分成功状态
  4. 业务流程层:协调其他MCP服务器,不重复功能

许可证

麻省理工学院