返回市场
MCP流程化服务器

MCP流程化服务器

作者:matthewhand45 星标更新:2025-01-31

项目介绍

mcp-flowise

smithery 徽章

mcp-flowise 是一个 Python 包,实现了与 Flowise API 集成的模型上下文协议(MCP)服务器。它提供了一种标准化且灵活的方式来列出聊天流程、创建预测,并动态注册工具供 Flowise 聊天流程或助手使用。

它支持两种操作模式:

  • 低级模式(默认):动态注册从 Flowise API 获取的所有聊天流程的工具。
  • 快速 MCP 模式:提供静态工具来列出聊天流程和创建预测,适用于更简单的配置。
<p align="center"> <img src="https://gips1.baidu.com/it/u=1519663158,1681283419&fm=3081&app=3081&f=PNG?w=531&h=696" alt="Claude Desktop 截图"> </p>

功能

  • 动态工具暴露:低级模式为每个聊天流程或助手动态创建工具。
  • 简单配置:快速 MCP 模式暴露 list_chatflowscreate_prediction 工具以进行最小设置。
  • 灵活过滤:两种模式都支持通过白名单和黑名单(ID 或名称正则表达式)过滤聊天流程。
  • MCP 集成:无缝集成到 MCP 工作流中。

安装

通过 Smithery 安装

要通过 Smithery 自动安装 mcp-flowise 到 Claude Desktop:

npx -y @smithery/cli install @matthewhand/mcp-flowise --client claude

先决条件

  • Python 3.12 或更高版本
  • uvx 包管理器

使用 uvx 安装并运行

确认你可以直接从 GitHub 存储库使用 uvx 运行服务器:

uvx --from git+https://github.com/matthewhand/mcp-flowise mcp-flowise

添加到 MCP 生态系统(mcpServers 配置)

你可以通过将 mcp-flowise 添加到 mcpServers 配置中将其集成到你的 MCP 生态系统中。示例如下:

{
    "mcpServers": {
        "mcp-flowise": {
            "command": "uvx",
            "args": [
                "--from",
                "git+https://github.com/matthewhand/mcp-flowise",
                "mcp-flowise"
            ],
            "env": {
                "FLOWISE_API_KEY": "${FLOWISE_API_KEY}",
                "FLOWISE_API_ENDPOINT": "${FLOWISE_API_ENDPOINT}"
            }
        }
    }
}

操作模式

1. 快速 MCP 模式(简单模式)

通过设置 FLOWISE_SIMPLE_MODE=true 启用。此模式:

  • 暴露两个工具:list_chatflowscreate_prediction
  • 允许使用 FLOWISE_CHATFLOW_IDFLOWISE_ASSISTANT_ID 进行静态配置。
  • 通过 list_chatflows 列出所有可用的聊天流程。
<p align="center"> <img src="https://gips1.baidu.com/it/u=766854966,218176468&fm=3081&app=3081&f=PNG?w=884&h=1392" alt="快速 MCP 模式"> </p>

2. 低级模式(FLOWISE_SIMPLE_MODE=False

特性

  • 动态注册所有聊天流程作为单独的工具。
  • 工具命名基于聊天流程名称(规范化)。
  • 使用来自 FLOWISE_CHATFLOW_DESCRIPTIONS 变量的描述,如果没有提供描述,则回退到聊天流程名称。

示例

  • 为聊天流程动态创建 my_tool(question: str) -> str

在 Windows 上使用 uvx

如果你在 Windows 上使用 uvx 并遇到 --from git+https 的问题,推荐解决方案是本地克隆存储库,并使用完整的 uvx.exe 路径和克隆的存储库配置 mcpServers。此外,根据需要包括 APPDATALOGLEVEL 等环境变量。

Windows 上 MCP 生态系统的示例配置(mcpServers

{
  "mcpServers": {
    "flowise": {
      "command": "C:\\Users\\matth\\.local\\bin\\uvx.exe",
      "args": [
        "--from",
        "C:\\Users\\matth\\downloads\\mcp-flowise",
        "mcp-flowise"
      ],
      "env": {
        "LOGLEVEL": "ERROR",
        "APPDATA": "C:\\Users\\matth\\AppData\\Roaming",
        "FLOWISE_API_KEY": "your-api-key-goes-here",
        "FLOWISE_API_ENDPOINT": "http://localhost:3000/"
      }
    }
  }
}

注意事项

  • 完整路径:为 uvx.exe 和克隆的存储库使用完整路径。
  • 环境变量:如果需要,将 APPDATA 指向你的 Windows 用户配置文件(例如,C:\\Users\\<username>\\AppData\\Roaming)。
  • 日志级别:根据需要调整 LOGLEVEL(如 ERRORINFODEBUG 等)。

环境变量

通用

  • FLOWISE_API_KEY:你的 Flowise API 承载令牌(必需)。
  • FLOWISE_API_ENDPOINT:Flowise 的基础 URL(默认:http://localhost:3000)。

低级模式(默认)

  • FLOWISE_CHATFLOW_DESCRIPTIONS:逗号分隔的 chatflow_id:description 对列表。示例如下:
    FLOWISE_CHATFLOW_DESCRIPTIONS="abc123:Chatflow One,xyz789:Chatflow Two"
    

快速 MCP 模式(FLOWISE_SIMPLE_MODE=true

  • FLOWISE_CHATFLOW_ID:单个聊天流程 ID(可选)。
  • FLOWISE_ASSISTANT_ID:单个助手 ID(可选)。
  • FLOWISE_CHATFLOW_DESCRIPTION:暴露的单一工具的可选描述。

过滤聊天流程

可以在两种模式中使用以下环境变量应用过滤:

  • 按 ID 白名单FLOWISE_WHITELIST_ID="id1,id2,id3"
  • 按 ID 黑名单FLOWISE_BLACKLIST_ID="id4,id5"
  • 按名称(正则表达式)白名单FLOWISE_WHITELIST_NAME_REGEX=".*important.*"
  • 按名称(正则表达式)黑名单FLOWISE_BLACKLIST_NAME_REGEX=".*deprecated.*"

注意:白名单优先于黑名单。如果两者都设置了,最严格的规则会被应用。


安全性

  • 保护你的 API 密钥:确保 FLOWISE_API_KEY 保持安全,不暴露在日志或存储库中。
  • 环境配置:使用 .env 文件或环境变量进行敏感配置。

.env 添加到你的 .gitignore

# .gitignore
.env

故障排除

  • 缺少 API 密钥:确保 FLOWISE_API_KEY 设置正确。
  • 无效配置:如果同时设置了 FLOWISE_CHATFLOW_IDFLOWISE_ASSISTANT_ID,服务器将拒绝启动。
  • 连接错误:验证 FLOWISE_API_ENDPOINT 是否可达。

许可证

本项目采用 MIT 许可证。详情见 LICENSE 文件。

TODO

  • 快速 MCP 模式
  • 低级模式
  • 过滤
  • Claude Desktop 集成
  • 助手