🚀 自然语言SQL MCP Server v2.0.0
最全面的人工智能数据库界面-用简单的英语与您的数据库聊天!
将自然语言转换为SQL查询,可视化数据,导出结果,并使用企业级功能管理多个数据库。这款先进的MCP服务器提供了一个完整的数据库交互生态系统,具有人工智能驱动的智能。
✨ 是什么让这个特别?
这不仅仅是另一个SQL翻译器。这是一个 完整的数据库交互平台 它结合了:
- 🧠 人工智能驱动的查询智能 -智能建议、优化和结果解释
- 🎨 交互式数据可视化 -使用Plotly绘制精美的图表和仪表板
- 🔐 企业安全 -具有用户身份验证和会话管理的完整RBAC
- 🗄️ 多数据库支持 -PostgreSQL、MySQL和SQLite
- 📊 高级分析 -查询优化、性能洞察和趋势分析
- 💾 多种导出格式 -CSV、JSON、带元数据的Excel
- 🧭 会话管理 -查询历史、上下文感知和智能建议
- ⚡ 高性能 -Redis缓存、连接池和优化查询
非常适合开发人员、数据分析师、商业智能团队和希望实现数据库访问民主化的企业!
🏗️ 架构概述
┌─────────────────┐ ┌──────────────────┐ ┌─────────────────┐
│ MCP Client │ │ FastMCP Server │ │ Databases │
│ (Cursor IDE) │◄──►│ (38 Tools) │◄──►│ PostgreSQL/ │
│ │ │ │ │ MySQL/SQLite │
└─────────────────┘ └──────────────────┘ └─────────────────┘
│
┌──────────────────┐
│ AI Intelligence │
│ OpenAI GPT-4 │
│ Query Analysis │
│ Optimizations │
└──────────────────┘🛠️ 完整功能集(38个工具)
🔌 核心数据库操作
connect_database-多数据库连接(PostgreSQL/MySQL/SQLite)disconnect_database-安全连接管理get_connection_status-实时连接监控
📊 模式智能
list_tables-带缓存的智能表发现describe_table-全面的模式分析get_database_summary-人工智能数据库概述
💬 自然语言查询
query_data-带缓存的高级NL到SQLadd_data-智能数据插入update_data-智能数据修改delete_data-通过验证安全删除数据
🧠 人工智能驱动的查询智能
explain_results-自然语言结果解释suggest_related_queries-上下文感知查询建议optimize_query-性能分析和建议improve_query_language-查询措辞改进analyze_query_intent-深入的意图分析和见解
📈 高级查询功能
explain_query-查询执行计划与分析query_with_suggestions-带有优化提示的查询aggregate_data-专业聚合操作
📚 会话和历史管理
get_query_history-具有分析功能的丰富查询历史记录repeat_query-一键查询重新执行
🔐 企业身份验证和安全
authenticate_user-安全用户身份验证logout_user-会话管理get_current_user-用户配置文件和权限create_user-用户管理(管理员)list_users-用户管理(Admin)update_user_role-角色管理(管理员)deactivate_user-账户管理(管理员)check_permission-权限验证
📊 数据可视化
create_visualization-交互式绘图图表recommend_visualizations-AI建议的图表类型create_dashboard-多图表仪表板export_visualization-图表导出功能
💾 数据导出和报告
export_csv-使用元数据增强CSV导出export_json-结构化JSON导出export_excel-多页Excel工作簿export_multiple_formats-大宗出口业务
🔧 系统和公用设施
hello-服务器连接测试server_info-综合系统状态
🚀 安装和设置
先决条件
步骤1:克隆并安装
git clone
cd db-rag
# Install all dependencies
pip install -r requirements.txt
# Install additional dependencies
pip install pydantic-settings redis步骤2:环境配置
创建一个全面的 .env 文件:
# ====================================
# DATABASE CONFIGURATION
# ====================================
DB_HOST=localhost
DB_PORT=5432
DB_USERNAME=postgres
DB_PASSWORD=your_password
DB_DATABASE=your_database
DB_TYPE=postgresql
# ====================================
# AI CONFIGURATION
# ====================================
LLM_API_KEY=sk-your-openai-key-here
LLM_MODEL=gpt-4o-mini
LLM_MAX_TOKENS=1000
LLM_TEMPERATURE=0.1
# ====================================
# SERVER CONFIGURATION
# ====================================
MCP_SERVER_NAME=Natural Language SQL Server
MCP_HOST=127.0.0.1
MCP_PORT=8000
MCP_TRANSPORT=http
# ====================================
# FEATURE FLAGS
# ====================================
ENABLE_AUTHENTICATION=false
ENABLE_QUERY_CACHING=true
ENABLE_QUERY_HISTORY=true
ENABLE_SMART_SUGGESTIONS=true
ENABLE_VISUALIZATION=true
# ====================================
# PERFORMANCE & CACHING
# ====================================
CACHE_REDIS_URL=redis://localhost:6379
CACHE_TTL=300
QUERY_TIMEOUT=30
MAX_RESULT_ROWS=1000
# ====================================
# ENVIRONMENT
# ====================================
ENVIRONMENT=development
DEBUG=false步骤3:启动服务器
python src/server.py预期启动输出:
============================================================
🚀 NATURAL LANGUAGE SQL MCP SERVER v2.0.0
============================================================
✅ Configuration loaded successfully
Database: postgresql at localhost:5432
LLM Model: gpt-4o-mini
🔧 Feature Status:
Authentication: ❌ Disabled
Query Caching: ✅ Enabled
Query History: ✅ Enabled
AI Suggestions: ✅ Enabled
Visualizations: ✅ Enabled
🔨 Tools Registered: 38 tools available
📊 Supported Databases: PostgreSQL, MySQL, SQLite
🤖 AI Features: OpenAI GPT-4o-mini (default)
📈 Visualization: Plotly-based interactive charts
💾 Export Formats: CSV, JSON, Excel
============================================================
📡 Starting Natural Language SQL Server with STDIO transport
Ready for MCP client connections
============================================================🔧 与Cursor IDE集成
MCP服务器配置
添加到光标MCP设置中:
{
"mcpServers": {
"natural-language-sql": {
"name": "Natural Language SQL Server v2.0",
"command": "python",
"args": ["src/server.py"],
"cwd": "/path/to/db-rag",
"env": {
"PYTHONPATH": "/path/to/db-rag"
},
"description": "Advanced AI-powered database interface with 38 tools",
"enabled": true
}
}
}快速开始对话
You: Connect to my database and show me what tables I have
AI: I'll connect to your database and show you the available tables.
[Uses connect_database and list_tables tools]
Connected! You have 15 tables: users, orders, products, categories...
You: Show me sales trends for the last 3 months with a chart
AI: I'll create a visualization of your sales trends.
[Uses query_data and create_visualization tools]
Here's an interactive line chart showing your sales growth...
You: Export this data to Excel with detailed formatting
AI: I'll export the sales data to Excel with metadata.
[Uses export_excel tool]
Exported 1,247 rows to sales_trends_20241220_143022.xlsx...
You: What other insights can you find in this data?
AI: Let me analyze the query results and suggest related insights.
[Uses explain_results and suggest_related_queries tools]
Based on your data, I found 3 key insights and suggest 5 related questions...🎯 高级用例
📊 商业智能
# Revenue Analysis Dashboard
"Create a dashboard showing monthly revenue, top products, and customer segments"
# Performance Optimization
"Analyze my slowest queries and suggest optimizations"
# Automated Reporting
"Export quarterly sales data to Excel with charts and pivot tables"🔍 数据探索
# AI-Powered Discovery
"What interesting patterns do you see in my customer data?"
# Smart Suggestions
"Based on my order history, what questions should I ask next?"
# Context-Aware Analysis
"Compare this month's performance with historical trends"🛡️ 企业安全
# User Management
"Create analyst users with read-only permissions"
# Audit Trail
"Show me all database modifications in the last week"
# Permission Management
"What databases can the current user access?"🏆 关键优势
🚀 性能和可扩展性
- Redis缓存 -缓存查询结果和模式以提高速度
- 连接池 -高效的数据库资源管理
- 异步操作 -无阻塞I/O,提高吞吐量
- 智能优化 -基于人工智能的查询性能建议
🔒 企业安全
- 基于角色的访问控制(RBAC) -细粒度权限
- 会话管理 -安全用户身份验证
- SQL注入预防 -参数化查询
- 审核日志记录 -完成活动跟踪
🧠 AI智能
- 语境意识 -从查询历史中学习
- 聪明的建议 -主动查询建议
- 结果说明 -自然语言见解
- 查询优化 -性能改进提示
📈 丰富的可视化
- 交互式图表 -绘图驱动的可视化
- 智能推荐 -AI推荐最佳图表类型
- 仪表板创建 -多图表仪表板
- 导出功能 -PNG、SVG、PDF格式的图表
🔧 开发者体验
- 38个综合工具 -你需要的一切都在一个地方
- 出色的错误处理能力 -用户友好的错误消息
- 全面的文件 -每个工具都有记录
- 易于集成 -适用于任何MCP客户端
🎛️ 配置选项
功能标志
精确控制启用哪些功能:
ENABLE_AUTHENTICATION=true # User authentication
ENABLE_QUERY_CACHING=true # Redis caching
ENABLE_QUERY_HISTORY=true # Session history
ENABLE_SMART_SUGGESTIONS=true # AI suggestions
ENABLE_VISUALIZATION=true # Chart generation性能调整
CACHE_TTL=300 # Cache timeout (seconds)
QUERY_TIMEOUT=30 # Query timeout (seconds)
MAX_RESULT_ROWS=1000 # Maximum rows returned数据库支持
DB_TYPE=postgresql # postgresql, mysql, sqlite🏗️ 数据库支持矩阵
| 数据库 | 连接 | 查询 | 可视化 | 导出 | 状态 |
|---|---|---|---|---|---|
| PostgreSQL | ✅ | ✅ | ✅ | ✅ | 全面支持 |
| MySQL | ✅ | ✅ | ✅ | ✅ | 全面支持 |
| SQLite | ✅ | ✅ | ✅ | ✅ | 全面支持 |
🐛 故障排除
常见问题
服务器无法启动?
# Check Python version
python --version # Must be 3.9+
# Install missing dependencies
pip install -r requirements.txt
pip install pydantic-settings
# Check configuration
python -c "from src.core.config import config; print('Config OK')"数据库连接问题?
# Test database connection
python -c "
from src.database import create_database_manager
import asyncio
async def test():
db = create_database_manager('postgresql', {
'host': 'localhost', 'port': 5432,
'username': 'postgres', 'password': 'password',
'database': 'testdb'
})
print('Connected:', await db.connect())
asyncio.run(test())
"AI功能不起作用?
- 验证OpenAI API密钥是否有效
- 检查API配额和账单
- 先用简单的查询进行测试
未生成可视化?
- 确保安装了matplotlib/plotly
- 检查数据格式和列类型
- 先尝试使用较小的数据集
📊 性能基准
| 操作 | 无缓存 | 有缓存 | 改进 |
|---|---|---|---|
| 模式查询 | 150ms | 5ms | 快30倍 |
| 复杂查询 | 2.1s | 100ms | 快21倍 |
| 可视化 | 800ms | 200ms | 4倍快 |
🛣️ 路线图和未来功能
第三阶段(计划中)
- 🌐 web界面 -基于浏览器的查询界面
- 📱 移动API -用于移动应用程序的REST API
- 🔄 实时同步 -实时数据同步
- 🤖 先进的人工智能 -定制模型培训
- 📊 更多数据库 -MongoDB、Cassandra支持
第四阶段(未来)
- ☁️ 云部署 -AWS/GCP/Azure支持
- 🔐 SSO集成 -SAML/OAuth支持
- 📈 高级分析 -基于机器学习的见解
- 🌍 多语言 -支持多种语言
🤝 贡献
我们欢迎捐款!您可以提供帮助的领域:
- 🐛 Bug修复和测试
- 📚 文档改进
- 🔧 新的数据库适配器
- 🎨 UI/UX增强功能
- 🧪 测试覆盖范围扩展
📄 许可证
此项目根据MIT许可证获得许可-请参阅 许可证 文件以获取详细信息。
______________________________________________________________________
🎉 准备好改变您的数据库体验了吗?
这不仅仅是一个工具,它是一场完整的数据库交互革命。凭借38个强大的工具、企业级安全、人工智能和精美的可视化,您可以应对任何数据挑战。
从今天开始你的旅程:
git clone
cd db-rag
pip install -r requirements.txt
python src/server.py加入成千上万的开发人员、分析师和企业,他们彻底改变了他们的数据库交互! 🚀
______________________________________________________________________
*自然语言SQL MCP Server v2.0.0-让每个人都可以访问数据库* ✨
