项目简介
NGCBot MCP Server 是一个基于 Model Context Protocol (MCP) 实现的服务器,旨在为 LLM 应用提供与微信机器人 NGCBot API 交互的能力。它通过 MCP 协议标准化的方式,将 NGCBot API 提供的微信消息发送、用户 ID 查询等功能封装成可供 LLM 调用的工具 (Tools),使得 LLM 能够方便地集成微信相关的上下文信息和操作能力。
核心功能:
- 工具注册与执行: 注册了 'send_text' (发送微信文本消息), 'get_wxid' (获取微信ID), 'push_room' (群发消息) 等工具,允许 LLM 通过调用这些工具实现微信消息的发送和微信用户信息的查询。
- 基于 FastMCP 框架: 使用 'fastmcp' 库构建,简化了 MCP 服务器的开发流程,并提供了基础的 MCP 协议处理能力。
- 桥接 NGCBot API: 作为 LLM 和 NGCBot API 之间的桥梁,将 NGCBot API 的功能以 MCP 工具的形式暴露给 LLM,实现 LLM 对微信功能的间接控制。
- 配置化 API 接入: 通过 'config.py' 文件配置 NGCBot API 的地址和密钥,方便用户根据实际情况进行配置。
主要功能点:
- 微信消息发送: 允许 LLM 控制发送文本消息给指定的微信好友或群聊。
- 微信ID查询: 允许 LLM 根据微信昵称或群聊名称查询对应的微信 ID (wxId)。
- 群消息推送: 支持向特定类型的微信群(如黑名单、白名单、推送群)发送群消息。
安装步骤:
- 安装 Python 环境: 确保您的机器上已安装 Python 3.7 或更高版本。
- 安装依赖库: 使用 pip 安装项目依赖。在项目根目录下打开终端,执行命令:
(如果仓库中没有 'requirements.txt' 文件,请手动安装 'fastmcp', 'requests', 'aiohttp' 这三个库:'pip install fastmcp requests aiohttp')pip install -r requirements.txt
服务器配置:
MCP 客户端需要配置以下 JSON 格式的服务器信息才能连接到 NGCBot MCP Server。请根据实际情况修改 'command' 和 'args' 字段。
{ "serverName": "NGCBot-MCP-Server", "command": "python", "args": ["main.py"], "env": { "NGCBOT_API": "http://180.184.42.11:7000", // NGCBot API 的地址,请替换为实际地址 "NGCBot_KEY": "" // NGCBot API 的密钥,请替换为实际密钥 }, "description": "NGCBotMCP服务", "version": "0.1.0", "dependencies": ["requests", "fastmcp", "aiohttp"] }
配置说明:
- 'serverName': 服务器名称,可自定义。
- 'command': 启动服务器的命令,这里使用 'python' 解释器。
- 'args': 启动命令的参数,这里指定执行 'main.py' 文件。
- 'env': 环境变量配置,用于配置 NGCBot API 的相关信息。
- 'NGCBOT_API': [必填] 请将 'http://180.184.42.11:7000' 替换为实际的 NGCBot API 服务地址。
- 'NGCBot_KEY': [必填] 请将 '""' 替换为您在 NGCBot API 服务端申请的 BotKey。
- 'description': 服务器描述信息。
- 'version': 服务器版本号。
- 'dependencies': 服务器依赖的 Python 库。
基本使用方法:
- 启动 MCP 服务器: 在项目根目录下打开终端,执行命令 'python main.py' 即可启动 NGCBot MCP Server。服务器将监听标准输入/输出 (stdio) 以接收和发送 MCP 协议的 JSON-RPC 消息。
- 配置 MCP 客户端: 在您的 LLM 应用或 MCP 客户端中,配置上述提供的服务器 JSON 信息,建立与 NGCBot MCP Server 的连接。
- 调用工具: 通过 MCP 客户端,您可以调用服务器提供的工具,例如:
- 调用 'send_text' 工具发送微信消息,需要提供 'text' (消息内容) 和 'receiver' (接收者 wxId 或微信昵称) 参数。
- 调用 'get_wxid' 工具查询微信 ID,需要提供 'wxName' (微信昵称或群聊名称) 参数。
- 调用 'push_room' 工具群发消息,需要提供 'text' (消息内容) 和 'msgType' (消息类型,如 'black', 'white', 'push') 参数。
注意:
- 本 MCP 服务器依赖于外部的 NGCBot API 服务,请确保 NGCBot API 服务正常运行,并配置正确的 API 地址和密钥。
- 使用微信相关功能需遵守微信平台的使用规范。
信息
分类
AI与计算