项目简介
这是一个基于Model Context Protocol (MCP) 构建的后端服务器,旨在为大型语言模型(LLM)提供标准化的上下文信息和功能。它通过MCP协议暴露了一系列工具,允许LLM查询产品信息、支持工单和常见问题(FAQ)数据,从而增强LLM处理特定领域知识的能力。此项目是用于演示如何使用官方MCP Python SDK实现真实MCP架构的学习范例。
主要功能点
- 工具暴露: 提供'get_products'、'get_tickets'、'get_faq'等工具,LLM可调用这些工具获取实时数据。
- 数据访问: 能够访问并返回关于产品目录、客户服务工单和常见问题解答的数据。
- 标准化协议: 使用JSON-RPC 2.0协议进行通信,并通过标准输入/输出 (stdio) 进行传输。
- 松耦合架构: 与数据API服务器和LLM客户端(如Anthropic Claude)分离,易于扩展和维护。
安装步骤
- 克隆仓库:
git clone https://github.com/milton-mathan/MCP-Chatbot-Web-pub.git cd MCP-Chatbot-Web-pub - 创建并激活Python虚拟环境:
# Windows python -m venv .venv .venv\Scripts\activate # macOS/Linux python3 -m venv .venv source .venv/bin/activate - 安装依赖:
pip install -r requirements.txt - 配置Anthropic API Key:
复制'.env.example'文件为'.env':
编辑'.env'文件,填入您的Anthropic API Key:cp .env.example .envANTHROPIC_API_KEY=您的Anthropic_API_密钥
服务器配置(MCP客户端使用)
MCP客户端在连接MCP服务器时,需要提供服务器的启动命令和参数。本MCP服务器的配置信息如下:
- 服务器名称: MCP Web Chatbot Server
- 启动命令 (command): 'python'
- 参数 (args): 'mcp_server/server.py'
- 传输协议: Stdio (标准输入/输出)
(这些信息是MCP客户端连接本服务器时所需的核心配置。例如,在使用MCP Python SDK时,这些参数会用于构建'StdioServerParameters'对象。)
基本使用方法
本MCP服务器是三进程架构的一部分,需要与其他组件协同工作。请按照以下步骤启动所有服务:
- 启动数据API服务器: 在第一个终端运行
python api/main.py - 启动MCP服务器: 在第二个终端运行
python mcp_server/server.py - 启动Web服务器: 在第三个终端运行
python web/main.py
所有服务器启动后,打开浏览器访问 'http://127.0.0.1:8001' 即可通过Web界面与LLM聊天机器人互动,LLM将通过MCP服务器调用工具获取信息。
信息
分类
数据库与文件