项目简介

这是一个基于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)分离,易于扩展和维护。

安装步骤

  1. 克隆仓库:
    git clone https://github.com/milton-mathan/MCP-Chatbot-Web-pub.git
    cd MCP-Chatbot-Web-pub
  2. 创建并激活Python虚拟环境:
    # Windows
    python -m venv .venv
    .venv\Scripts\activate
    
    # macOS/Linux
    python3 -m venv .venv
    source .venv/bin/activate
  3. 安装依赖:
    pip install -r requirements.txt
  4. 配置Anthropic API Key: 复制'.env.example'文件为'.env':
    cp .env.example .env
    编辑'.env'文件,填入您的Anthropic API Key:
    ANTHROPIC_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服务器是三进程架构的一部分,需要与其他组件协同工作。请按照以下步骤启动所有服务:

  1. 启动数据API服务器: 在第一个终端运行
    python api/main.py
  2. 启动MCP服务器: 在第二个终端运行
    python mcp_server/server.py
  3. 启动Web服务器: 在第三个终端运行
    python web/main.py

所有服务器启动后,打开浏览器访问 'http://127.0.0.1:8001' 即可通过Web界面与LLM聊天机器人互动,LLM将通过MCP服务器调用工具获取信息。

信息

分类

数据库与文件