MCP客户端集成工具

一个基于Python的MCP客户端,用于连接n8n的MCP服务器触发器并处理Telegram机器人交互,实现本地AI模型与n8n工作流的无缝集成。

  • by farithadnan
  • Python
  • 本地部署
  • 更新于
在 GitHub 查看 farithadnan/n8n-mcp-client

使用说明

n8n MCP客户端项目

该项目涉及创建一个基于Python的模型上下文协议(MCP)客户端,该客户端在处理Telegram机器人交互时连接到n8n的MCP服务器触发器。该解决方案取代了n8n中现有的MCP客户端节点,通过直接在Python脚本中管理所有Telegram I/O来避免Telegram触发器冲突。

主要目标是建立一个沟通流程,该流程包括:

Telegram Bot 
    ↓↑ 
Python MCP Client 
    ↓↑
Local OpenWebUi/OpenRouter
    ↓↑ 
(SSE) n8n MCP Server 
    ↓↑ 
n8n Workflows

这种方法允许更好地与本地AI模型集成,同时保持n8n强大的工作流功能。

在深入了解技术细节之前,我们建议查看我们的文档:

  • 项目向导 -项目、实施状态和主要发现的高层次概述
  • API文档 -所有函数和类的详细文档

先决条件

在开始处理此项目之前,请确保已安装以下内容:

  • Docker桌面:容器化和运行开发环境所需
  • Visual Studio Code:推荐用于开发的IDE
  • 开发容器扩展:支持容器化开发环境的VS代码扩展
  • Python 3.11+:用于本地开发和测试(如果不使用容器化环境)
  • Git:用于版本控制

该项目在VS Code的Dev Containers扩展的帮助下使用Docker进行开发。开发环境完全容器化,确保不同开发设置之间的一致性。

安装说明

  1. 克隆存储库

    git clone https://github.com/farithadnan/n8n-mcp-client
    cd n8n-mcp-client
    
  2. 在本地设置n8n

    在运行MCP客户端之前,您需要通过Docker在本地运行n8n:

    # Create a docker network for communication between containers
    docker network create n8n-network
    
    # Run n8n with Docker
    docker run -it --rm \
    --name n8n \
    --network n8n-network \
    -p 5678:5678 \
    -v ~/.n8n:/home/node/.n8n \
    n8nio/n8n
    
  3. 配置环境变量

    根据示例在config目录中创建.env文件:

    cp config/.env.sample config/.env
    

    然后用实际值编辑config/.env:

    • TELEGRAM_BOT_TOKEN:您从BotFather获得的Telegram机器人令牌
    • OPWEBUI_URL:指向您的OpenWebUI实例的URL(例如。,http://localhost:3000/api/chat)
    • OPWEBUI_API_KEY:OpenWebUI实例的API密钥
    • OPWEBUI_MODEL:要使用的模型(例如,GPT-4、Callam3等)
    • N8N_WEBHOOK_URL:n8n MCP webhook端点的URL
  4. 使用Dev容器在VS代码中打开

    1. 在Visual Studio代码中打开此项目
    2. 出现提示时,单击“在容器中重新打开”或使用命令面板(Ctrl+Shift+P)并选择“开发容器:在容器中再次打开”
    3. VS Code将构建开发容器并安装所有必要的依赖项
    4. 一旦容器准备就绪,您就可以在隔离的环境中开始开发。
  5. 再进行

    在开发容器中,使用uv安装项目依赖关系:

    uv pip install -r pyproject.toml
    
  6. 运行应用程序

    设置环境变量后,您可以运行应用程序:

    python main.py
    

进行更改

如果对依赖项或Dockerfile进行更改:

  1. 使用 Ctrl+Shift+P VS代码
  2. 选择“开发容器:重建容器"
  3. 这将使用您的更改重建容器

集装箱包括:

  • Python 3.11与必要的依赖关系
  • 用于快速解析依赖关系的uv包管理器
  • MCP客户端开发所需的所有Python包