使用说明
SQLite MCP服务器
提供全面SQLite数据库管理和分析功能的模型上下文协议(MCP)服务器。此服务器允许LLM探索数据库模式、查询数据、执行更新和进行统计分析。
特性
-
模式探索
- 列出数据库中的所有表
- 查看特定表的详细架构信息
- 检查列类型和约束
-
数据管理
- 执行只读SQL查询
- 执行数据修改(更新、插入、删除)
- 具有错误处理功能的安全执行
-
数据分析
- 基本统计分析(行计数、空计数、数字统计)
- 详细分析,包括分类数据分布
- 自动类型检测和适当的统计措施
先决条件
- Python 3.8或更高版本
- SQLite数据库文件
- 克劳德桌面 (可选,用于桌面集成)
安装
- 首先,确保您拥有所需的Python包:
pip install mcp pandas
- 下载SQLite MCP服务器脚本:
# Clone this repository or download sqlite_mcp.py directly
curl -O https://raw.githubusercontent.com/yourusername/sqlite-mcp/main/sqlite_mcp.py
- 对于Claude Desktop集成:
# Install using MCP CLI
mcp install sqlite_mcp.py --name "SQLite Explorer" --env DB_PATH=/path/to/your/database.sqlite
用法
- 找到claude_desktop_config.json文件,并在下面添加到mcpServers部分
- 将路径更改为适合您系统的正确路径。
- 在.env文件中的DB_PATH变量中设置数据库位置。
"sqlite_mcp": {
"command": "C:\\path\\to\\python.exe",
"args": [
"C:\\path\\to\\sqlite-mcp\\server.py"
]
}
可用资源
服务器公开以下MCP资源:
-
schema://tables- 列出数据库中的所有可用表
- 示例响应:
Available tables: - users - products - orders
-
schema://{table}- 返回特定表的详细架构信息
- 示例响应:
Table: users Create Statement: CREATE TABLE users ( id INTEGER PRIMARY KEY, name TEXT NOT NULL, email TEXT UNIQUE ) Columns: - id (INTEGER) NOT NULL PRIMARY KEY - name (TEXT) NOT NULL - email (TEXT)
可用工具
怎么翻译
执行只读SQL查询:
SELECT * FROM users LIMIT 5
update_data
执行数据修改:
INSERT INTO users (name, email) VALUES ('John Doe', 'john@example.com')
UPDATE users SET email = 'new@example.com' WHERE id = 1
分析表
对表数据进行统计分析:
参数:
table:要分析的表的名称analysis_type:“基本”或“详细”
示例响应:
{
"row_count": 1000,
"column_count": 5,
"null_counts": {
"id": 0,
"name": 0,
"email": 15
},
"numeric_columns": {
"id": {
"mean": 500.5,
"std": 288.819,
"min": 1,
"max": 1000
}
}
}
安全考虑
服务器实施了多种安全措施:
- 所有SQL操作的输入验证
- 只读查询与数据修改是分开的
- 数据库连接错误处理
- 通过参数化查询实现SQL注入保护
错误处理
服务器为常见问题提供明确的错误消息:
- 数据库连接失败
- SQL语法无效
- 表中未找到错误
- 权限问题
- 类型不匹配
贡献
欢迎投稿!请随时提交拉取请求。
许可证
此项目根据MIT许可证获得许可-有关详细信息,请参阅许可证文件。