项目简介

这是一个基于Model Context Protocol (MCP) 构建的服务器实现,旨在将 Conductor 工作流自动化平台的功能暴露给支持 MCP 的大型语言模型(LLM)客户端(如 Claude, Cursor 等)。通过这个服务器,LLM 可以调用预定义好的工具,与 Conductor 进行交互,例如启动工作流、查询工作流状态、获取任务详情等,从而扩展LLM的能力范围。

主要功能点

  • 工作流管理: 允许LLM查询现有的Conductor工作流定义、启动新的工作流实例、以及查询工作流执行的状态和详情。
  • 任务管理: 提供工具让LLM获取任务的详细信息、查询任务队列状态以及获取任务定义。
  • 与Conductor集成: 作为LLM客户端和Conductor API之间的桥梁,处理认证和API调用。

安装步骤

该项目使用 Python 构建,并依赖于 'uv' 或 'pip' 进行包管理。

  1. 确保您已安装 Python 3.8 或更高版本。
  2. 安装 'uv' (推荐) 或 'pip':
    pip install uv  # 或 pip install --upgrade pip
  3. 克隆仓库:
    git clone https://github.com/conductor-oss/conductor-mcp.git
    cd conductor-mcp
  4. 安装依赖:
    uv sync  # 或 pip install -r requirements.txt

服务器配置

MCP服务器的配置通常由LLM客户端管理。您需要将服务器的启动命令及其参数告知您的LLM客户端。此外,MCP服务器需要知道如何连接到您的 Conductor API 服务(通常包括服务器 URL、认证 Key ID 和 Secret)。这些信息可以通过环境变量或配置文件提供。

以下是常见的LLM客户端配置格式示例(JSON),请根据您的实际情况填写 Conductor 连接信息和服务器文件路径:

{
  "mcpServers": {
    "conductor": { // 您给这个MCP服务器起的名字
      "command": "uv", // 启动命令
      "args": [ // 启动参数
        "--directory",
        "/path/to/your/conductor-mcp", // 指向 conductor-mcp 仓库的绝对路径
        "run",
        "server.py", // 运行服务器主文件
        "--local_dev" // 或 "--config", "/path/to/your/config.json"
      ]
    }
  }
}

或者如果您通过 pip 全局安装了 'conductor-mcp' 包,可以使用命令行工具:

首先创建 Conductor 连接配置 JSON 文件(例如 'conductor_config.json'):

{
  "CONDUCTOR_SERVER_URL": "https://developer.orkescloud.com/api", // Conductor API 地址 (通常包含 /api)
  "CONDUCTOR_AUTH_KEY": "<您的认证 Key ID>", // Conductor 认证 Key ID
  "CONDUCTOR_AUTH_SECRET": "<您的认证 Secret>" // Conductor 认证 Secret
}

然后LLM客户端配置如下:

{
  "mcpServers": {
    "conductor": { // 您给这个MCP服务器起的名字
      "command": "conductor-mcp", // 启动命令
      "args": [ // 启动参数
        "--config",
        "/path/to/your/conductor_config.json" // 指向配置文件的绝对路径
      ]
    }
  }
}

将上述 JSON 配置添加到您的LLM客户端的 MCP 服务器配置区域,并根据客户端的指引重启客户端。

基本使用方法

配置完成后,您的LLM客户端在与您交互时,将能够发现并使用这个 Conductor MCP 服务器提供的工具。您可以直接在与LLM的对话中,通过自然语言请求执行与Conductor相关的工作。例如,您可以请求LLM:

  • “启动一个名为 'my_workflow' 的工作流。”
  • “查询工作流 ID 为 'abc-123' 的执行状态。”
  • “获取所有任务的定义。”

LLM会理解您的请求,并自动调用相应的 Conductor 工具来执行操作,然后将结果返回给您。

信息

分类

网页与API