使用说明
MCP SQL分析
MCP是一个SQL分析服务器,允许Claude Desktop以自然语言执行对数据库的查询。
建筑
Claude Desktop <--MCP Protocol--> MCP Server (Python) <--SQL--> SQLite
快速启动
1.建立依赖关系
cd /Users/User/Documents/Projects/interview_prep/mcp-analytics
pip install -r requirements.txt
2.生成演示数据
python -m scripts.seed_data
这将创建一个数据库 data/analytics.db C:
- 4类15种产品
- 15客户
- 过去30天销售1000件
3.安装Claude Desktop
打开Claude Desktop配置:
# macOS
open ~/Library/Application\ Support/Claude/claude_desktop_config.json
添加MCP服务器:
{
"mcpServers": {
"sql-analytics": {
"command": "/Users/User/miniconda3/bin/python",
"args": ["-m", "src.server"],
"cwd": "/Users/User/Documents/Projects/interview_prep/mcp-analytics"
}
}
}
4.重新启动Claude Desktop
关闭并重新打开Claude Desktop。接口应该显示连接的MCP服务器的指示器。
可用工具
工具描述
|------------|----------|
| execute_query 执行SQL Select查询。
| get_schema 显示了表的结构。
| list_tables 列出所有表
数据库电路
产品
首页>类型>描述 |---------|-----|----------| –id–integer是主键。 ≫name≫text≫商品名称≫ category→text→category→ 价格是真实的。
客户
首页>类型>描述 |---------|-----|----------| –id–integer是主键。 ≫name≫text≫客户端名称≫ |电子邮件|文本|电子邮件|
销售
首页>类型>描述 |---------|-----|----------| –id–integer是主键。 |product_id | INTEGER | FK→ 产品| |customer_id | INTEGER | FK→ 客户| quantity→integer→数量→ #21518;实销售金额。 Ðsaleu dateÐÐÐÐÐÐÐÐÐÐ
Claude查询示例
设置后,您可以在Claude中写入:
- “给我昨天的销售数据。”
- “过去一周的五大产品”
- “电子产品有多少销量?”
- “显示销售表的结构”
- “数据库里有什么表?”
- “过去7天的平均支票”
手动测试服务器
检查没有Claude Desktop的服务器:
# Запуск сервера (он ждёт ввода через stdin)
python -m src.server
安全
- 只允许
SELECT-请求 - 禁止:
DROP,DELETE,INSERT,UPDATE,ALTER,CREATE,TRUNCATE
项目结构
mcp-analytics/
├── src/
│ ├── __init__.py
│ ├── server.py # MCP сервер
│ └── database.py # Работа с SQLite
├── scripts/
│ └── seed_data.py # Генерация демо-данных
├── data/
│ └── analytics.db # SQLite база (создаётся автоматически)
├── requirements.txt
├── pyproject.toml
└── README.md
要求
- Python 3.10+
- mcp>=1.0.0