数据库自然语言交互服务

一个基于PostgreSQL数据库和Gemini LLM的MCP服务器,提供自然语言与数据库交互的功能。

  • by devendra4014
  • Python
  • 本地部署
  • 更新于
在 GitHub 查看 devendra4014/mcp-server-client

使用说明

带SQL Alchemy和Gemini LLM的MCP服务器

该项目实现了一个模型上下文协议(MCP)服务器,该服务器在PostgreSQL数据库和由谷歌Gemini LLM支持的AI代理之间提供桥梁。服务器允许通过MCP端点与数据库进行自然语言交互。

特性

  • 数据库操作的SQL Alchemy集成
  • 具有标准化端点的MCP服务器实现
  • Gemini LLM驱动的自然语言数据库交互代理
  • PostgreSQL数据库支持
  • 结构化查询处理和响应处理

项目结构

mcp-server-client/
├── main.py              # Main application entry point
├── pyproject.toml       # Project dependencies and configuration
├── client/             
│   ├── __init__.py     
│   └── db_client.py    # Database client implementation
├── server/             
│   ├── __init__.py    
│   ├── postgres_db.py  # PostgreSQL database connection and operations
│   └── weather.py      # Weather-related functionality

安装

  1. 安装uv:
pip install uv
  1. 激活虚拟环境'
# for linux
source .venv/bin/activate

# for windows
.venv\Scripts\activate

  1. 安装依赖项:
uv add mcp[cli] mcp-use psycopg2 psycopg2-binary sqlalchemy langchain-google-genai
  1. 设置环境变量:
# create .env file
touch .env

# add this into .env file
# PostgreSQL connection
DB_URL= "postgresql://postgres:admin@localhost:5432/mydb"
GEMINI_API_KEY= "API_KEY"
  1. 启动代理
uv run client/db_client.py 

交互示例

以下是与SQL代理交互的一些示例: