使用说明

项目简介

本项目是 星尘 iFlytek Workflow MCP Server,是一个实现了 Model Context Protocol (MCP) 协议的服务器,旨在为 LLM (大型语言模型) 应用提供便捷的工作流服务。它基于 讯飞星火认知大模型,允许用户通过预定义的工作流来扩展 LLM 的能力,例如调用外部工具、访问特定数据等。该服务器通过标准化的 MCP 协议与客户端通信,使得各种 MCP 客户端可以轻松集成和利用讯飞星火的工作流能力。

主要功能点

  • 工作流即工具: 将讯飞星火平台上的工作流作为 MCP 工具提供给 LLM 客户端,客户端可以通过调用工具来执行预设的工作流程。
  • 灵活的工作流配置: 通过 'config.yaml' 文件配置和管理多个工作流,每个工作流可以定义不同的功能、输入参数和描述。
  • 支持多种节点类型: 讯飞星火工作流支持包括基础节点、工具节点、逻辑节点和转换节点等14种节点类型,可以构建复杂的工作流程。
  • 多种执行模式: 支持顺序执行、并行执行、循环执行和嵌套执行等多种工作流执行模式,满足不同的业务场景需求。
  • 流式输出: 利用 Hook 机制支持流式输出,实现实时处理和响应。
  • 多模型支持: 基于 MoM (Model of Models) 混合应用架构,支持在工作流的不同阶段灵活选择模型,提升任务适应性。
  • 文件上传工具: 内置 'sys_upload_file' 工具,支持上传图片 (jpg、png、bmp、jpeg) 和文档 (pdf) 文件。

安装步骤

该仓库本身为 MCP 服务器的实现,您无需手动安装此仓库。通常情况下,MCP 客户端会负责拉取和运行 MCP 服务器。您只需要配置好 MCP 客户端,使其能够连接到该服务器即可。

前提条件:

  • 配置 'config.yaml' 文件: 您需要准备一个 'config.yaml' 文件,用于配置您的讯飞星火工作流信息。请参考仓库提供的 'config.yaml' 示例,将 'flow_id', 'name', 'description', 'api_key' 和 'params' 替换成您在讯飞星火平台创建的工作流的实际信息。 'api_key' 为 'key:secret' 格式,请替换为您的讯飞星火 API 密钥。

    - flow_id: 'your_flow_id'
      name: 'your_flow_name'
      description: 'your_flow_description'
      api_key: 'your_api_key:your_api_secret'
      params:
        - name: 'input_key_name'
          type: 'string'
          description: 'input_key_description'
          required: true
  • 设置 'CONFIG_PATH' 环境变量: 确保 MCP 客户端运行时,能够通过环境变量 'CONFIG_PATH' 找到您的 'config.yaml' 文件路径。

服务器配置

以下是在 MCP 客户端配置文件 (例如 'claude_desktop_config.json' 或 'mcp.json') 中配置 'xingchen-mcp-server' 的示例,客户端会根据此配置启动和连接 MCP 服务器。

{
    "mcpServers": {
        "xingchen-mcp-server": {
            "command": "uvx",  // 启动服务器的命令,这里使用 uvx (一个可以从 Git 仓库运行 Python 包的工具)
            "args": [
                "--from",  // uvx 的参数,指定从 Git 仓库安装
                "git+https://github.com/hygao1024/xingchen-mcp-server", // Git 仓库 URL
                "xingchen_mcp_server" // 要运行的 Python 包名 (在仓库中定义)
            ],
            "env": {
                "CONFIG_PATH": "/path/to/your/config.yaml"  // 环境变量,指定 config.yaml 文件的路径,请替换为您的实际路径
            }
        }
    }
}

配置参数说明:

  • 'server name' (xingchen-mcp-server): MCP 服务器的名称,客户端通过此名称引用该服务器。
  • 'command' (uvx): 用于启动 MCP 服务器的命令。 'uvx' 是一个方便的工具,可以直接从 Git 仓库运行 Python 包,简化了部署过程。您需要确保您的 MCP 客户端运行环境中安装了 'uvx'。 如果您不希望使用 'uvx',也可以选择其他方式部署和启动服务器,例如直接使用 'python' 命令运行 'server.py' 文件,并相应修改 'command' 和 'args' 配置。
  • 'args': 传递给 'command' 的参数列表。
    • '--from git+https://github.com/hygao1024/xingchen-mcp-server': 告诉 'uvx' 从指定的 Git 仓库安装。
    • 'xingchen_mcp_server': 告诉 'uvx' 运行名为 'xingchen_mcp_server' 的 Python 包。
  • 'env': 设置 MCP 服务器运行时的环境变量。
    • 'CONFIG_PATH': 重要参数,指定 'config.yaml' 文件的绝对路径。请务必将其替换为您实际存放 'config.yaml' 文件的路径。服务器会读取此文件以加载工作流配置。

注意:

  • 请根据您的实际 'config.yaml' 文件路径,修改 'CONFIG_PATH' 环境变量的值。
  • 如果您不使用 'uvx',需要确保您的 MCP 客户端运行环境中安装了 Python 和相关的依赖库 (例如 'mcp-protocol', 'requests', 'PyYAML', 'omegaconf')。
  • 如果您选择直接运行 'server.py', 'command' 应设置为 'python', 'args' 应设置为 '["path/to/server.py"]' (替换为 'server.py' 文件的实际路径), 'env' 保持不变。

基本使用方法

  1. 启动 MCP 客户端: 配置好 MCP 客户端后,启动您的 MCP 客户端应用程序。客户端会根据配置自动启动并连接到 'xingchen-mcp-server'。
  2. 列出可用工具: 在 MCP 客户端中,您可以使用 'listTools' 等 MCP 协议方法,向 'xingchen-mcp-server' 查询可用的工具列表。服务器会返回在 'config.yaml' 中配置的工作流信息,以及内置的 'sys_upload_file' 工具。
  3. 调用工具: 使用 'callTool' 方法调用您需要的工作流工具。 您需要提供工具名称 (即 'config.yaml' 中配置的 'name' 字段,或 'sys_upload_file') 和相应的参数。参数需要符合工具定义的 'inputSchema'。
  4. 处理响应: MCP 服务器会执行相应的工作流,并将结果以 MCP 响应格式返回给客户端。客户端需要解析响应并处理工作流的输出。

通过以上步骤,您就可以使用 'xingchen-mcp-server' 将讯飞星火认知大模型的工作流能力集成到您的 LLM 应用中。

信息

分类

AI与计算