返回市场
麦普主机客户端服务sse

麦普主机客户端服务sse

作者:HanShan0063 星标更新:2025-05-07

项目介绍

MCP主机客户端服务器SSE

基于MCP(模型上下文协议)协议的自然语言SQL数据库查询系统,支持通过大型语言模型将自然语言转换为SQL查询。该项目展示了如何使用MCP协议构建服务器客户端架构,并集成OpenAI以实现智能查询功能。

特性

  • 🚀 基于MCP协议的服务器客户端架构
  • 📝 支持自然语言到SQL查询
  • 🔄 使用SSE(服务器发送事件)实现实时通信
  • 📊 集成SQLite数据库
  • 🤖 集成OpenAI/DeepSeek接口
  • 📝 完整的日志系统
  • ⚡ 支持异步操作

系统架构

graph TD
    A[用户] -->|自然语言问题| B[MCP主机]
    B -->|API调用| C[OpenAI]
    C -->|SQL查询| B
    B -->|MCP请求| D[MCP服务器]
    D -->|查询| E[SQLite DB]
    E -->|结果| D
    D -->|SSE响应| B
    B -->|自然语言解释| A

快速开始

先决条件

  • Python 3.8+
  • Pip包管理器
  • OpenAI API密钥

安装步骤

  1. 克隆仓库:
git clone https://github.com/HanShan006/MCP_Host_Client_Server_SSE.git
cd MCP_Host_Client_Server_SSE
  1. 安装依赖项:
pip install openai mcp-framework starlette uvicorn
  1. 配置API密钥: 创建一个config.ini文件并添加以下内容:
[secrets]
API_KEY=your_api_key_here
  1. 创建示例数据库:
python create_database.py

运行服务

  1. 启动MCP服务器:
python mcp_server.py
  1. 运行客户端应用程序:
python mcp_host.py

数据库结构

用户表

字段类型描述
IDINTEGER用户ID(主键)
NameTEXT用户名
AgeINTEGER年龄
EmailTEXT电子邮件地址

订单表

字段类型描述
IDINTEGER订单ID(主键)
User_idINTEGER用户ID(外键)
ProductnameTEXT产品名称
PriceREAL价格
Order_dateTEXT订单日期

示例查询

系统支持多种自然语言查询,例如:

  1. 查询所有用户的资料
  2. 显示张三的所有订单
  3. 计算每个用户的总消费
  4. 查询订单金额超过5000元的用户信息

项目结构

MCP_Host_Client_Server_SSE/
├── mcp_server.py      # MCP服务器实现
├── mcp_client.py      # MCP客户端实现
├── mcp_host.py        # 主机程序(集成OpenAI)
├── create_database.py # 数据库初始化脚本
├── database.db        # SQLite数据库文件
├── config.ini         # 配置文件
└── README.md          # 项目文档

技术栈

  • Python 3.8+
  • MCP框架
  • SQLite
  • OpenAI API
  • Starlette
  • 服务器发送事件(SSE)
  • 异步/等待

版本历史

v1.0.0 (2025-05-07)

  • ✨ 初始版本发布
  • 🎉 实现基本的MCP服务器功能
  • 🎉 完成客户端通信模块
  • 🎉 集成OpenAI自然语言处理
  • 🎉 添加对SQLite数据库的支持
  • 📝 提升项目文档

贡献者

开源许可证

此项目在MIT许可下开源。详情请参阅LICENSE文档。