SuperAPI AI 工具集

mcp-chatbot

mcp-chatbot 是一个简单的命令行(CLI)聊天机器人示例项目,用于演示如何将 Model Context Protocol(MCP)集成到 CLI 聊天机器人中。它支持通过 MCP 服务器接入多种工具,并兼容任何遵循 OpenAI API 标准的 LLM 提供商。项目使用 Python 编写,通过 JSON 配置文件管理多个 MCP 服务器,工具会在系统提示中动态声明,以最大化不同 LLM 之间的兼容性。用户克隆仓库、安装依赖、配置 API 密钥和服务器后即可运行,输入 quit 或 exit 退出会话。

访问官网

工具介绍

mcp-chatbot 是一个简单的 CLI 聊天机器人,用于演示如何将 Model Context Protocol(MCP)集成到命令行聊天机器人中。该实现展示了 MCP 的灵活性:通过 MCP 服务器支持多种工具,并兼容任何遵循 OpenAI API 标准的 LLM 提供商。

用途 该项目主要作为集成示例,帮助开发者了解如何在 CLI 聊天机器人中接入 MCP 服务器与工具,并连接任意 OpenAI API 兼容的 LLM。

主要能力

  • LLM 提供商灵活性:可与任何遵循 OpenAI API 标准的 LLM 配合使用(资料称已在 Groq 上的 Llama 3.2 90b 和 GitHub Marketplace 上的 GPT-4o mini 上测试)。
  • 动态工具集成:工具在系统提示中声明,确保在不同 LLM 之间具有最大兼容性。
  • 服务器配置:通过简单的 JSON 配置文件支持多个 MCP 服务器,结构类似 Claude Desktop App。
  • 工具发现:自动从已配置的服务器中发现工具。
  • 系统提示:工具被动态包含在系统提示中,使 LLM 能够理解可用能力。
  • 服务器集成:支持任何兼容 MCP 的服务器,资料称已用包括 Uvicorn 和 Node.js 在内的多种服务器实现进行测试。

使用方式

  1. 克隆仓库: git clone https://github.com/3choff/mcp-chatbot.git cd mcp-chatbot
  2. 安装依赖: pip install -r requirements.txt
  3. 设置环境变量:在根目录创建 .env 文件并添加 API 密钥: LLM_API_KEY=your_api_key_here
  4. 配置服务器:servers_config.json 采用与 Claude Desktop 相同的结构,便于集成多个服务器。示例: { "mcpServers": { "sqlite": { "command": "uvx", "args": ["mcp-server-sqlite", "--db-path", "./test.db"] }, "puppeteer": { "command": "npx", "args": ["-y", "@modelcontextprotocol/server-puppeteer"] } } } 也支持环境变量,传递方式与 Claude Desktop App 相同。示例: { "mcpServers": { "server_name": { "command": "uvx", "args": ["mcp-server-name", "--additional-args"], "env": { "API_KEY": "your_api_key_here" } } } }
  5. 运行客户端: python main.py
  6. 与助手交互:助手会自动检测可用工具,并能根据已配置服务器提供的工具来响应查询。
  7. 退出会话:输入 quit 或 exit 结束会话。

运行流程

  • 初始化:Configuration 加载环境变量和服务器设置;服务器以其各自的工具初始化;工具被发现并格式化以供 LLM 理解。
  • 运行时流程:接收用户输入;将输入连同可用工具的上下文发送给 LLM;解析 LLM 响应:如果是工具调用,则执行工具并返回结果;如果是直接响应,则返回给用户;工具结果被送回 LLM 进行解释;最终响应呈现给用户。

类结构

  • Configuration:管理环境变量和服务器配置
  • Server:处理 MCP 服务器初始化、工具发现和执行
  • Tool:表示单个工具及其属性和格式化
  • LLMClient:管理与 LLM 提供商的通信
  • ChatSession:编排用户、LLM 和工具之间的交互

适用场景 适合希望了解或演示 MCP 与 CLI 聊天机器人集成的开发者,以及需要连接任意 OpenAI API 兼容 LLM 并通过 MCP 服务器扩展工具能力的实验性项目。

限制 资料未提供关于收费、价格、平台支持范围、性能效果或具体使用步骤之外的更多限制信息,暂未提供。项目采用 MIT 许可证。