基于MCP(模型上下文协议)协议的自然语言SQL数据库查询系统,支持通过大型语言模型将自然语言转换为SQL查询。该项目展示了如何使用MCP协议构建服务器客户端架构,并集成OpenAI以实现智能查询功能。
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
git clone https://github.com/HanShan006/MCP_Host_Client_Server_SSE.git
cd MCP_Host_Client_Server_SSE
pip install openai mcp-framework starlette uvicorn
[secrets]
API_KEY=your_api_key_here
python create_database.py
python mcp_server.py
python mcp_host.py
| 字段 | 类型 | 描述 |
|---|---|---|
| ID | INTEGER | 用户ID(主键) |
| Name | TEXT | 用户名 |
| Age | INTEGER | 年龄 |
| TEXT | 电子邮件地址 |
| 字段 | 类型 | 描述 |
|---|---|---|
| ID | INTEGER | 订单ID(主键) |
| User_id | INTEGER | 用户ID(外键) |
| Productname | TEXT | 产品名称 |
| Price | REAL | 价格 |
| Order_date | TEXT | 订单日期 |
系统支持多种自然语言查询,例如:
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 # 项目文档
此项目在MIT许可下开源。详情请参阅LICENSE文档。