使用说明
sqlite-mcp服务器
A. 模型上下文协议(MCP) 使MCP兼容客户端(例如Claude Desktop)能够使用自然语言查询和可视化SQLite数据库的服务器。
特性
list_data--执行SELECT查询并以JSON格式返回结果export_csv--执行SELECT查询并以CSV格式返回结果visualize_data--执行SELECT查询并将条形图、折线图或散点图渲染为PNG图像
需求
- Python 3.12+
- 紫外线
安装
git clone https://github.com/aktnk/sqlite-mcp-server.git
cd sqlite-mcp-server
uv sync
MCP客户端设置
复制 config.sample.json 到 config.json 并更新路径:
{
"mcpServers": {
"sqlite-explorer": {
"command": "uv",
"args": [
"--directory",
"/path/to/sqlite-mcp-server",
"run",
"main.py"
],
"env": {
"SQLITE_MCP_ALLOWED_DIRS": "/path/to/your/databases"
}
}
}
}
然后将内容添加到MCP客户端的配置文件中。
克劳德桌面:
- macOS:
~/Library/Application Support/Claude/claude_desktop_config.json - 窗户:
%APPDATA%\Claude\claude_desktop_config.json
配置
| 环境变量 | 默认值 | 描述 |
|---|---|---|
SQLITE_MCP_ALLOWED_DIRS |
当前工作目录 | 允许服务器访问的目录的冒号分隔列表(例如。, /data:/tmp/dbs) |
发展
# Create a sample database for testing
uv run setup_db.py
# Run the server directly
uv run main.py
# Run with MCP Inspector (interactive tool testing)
uv run mcp dev main.py
安全
所有数据库访问都是严格只读的。以下保护措施已到位:
| 层 | 它阻止了什么 |
|---|---|
只读连接(?mode=ro) |
插入/更新/删除/删除 |
SQLite授权人(set_authorizer) |
附加数据库,模式更改, load_extension |
| 路径验证 | 路径遍历(../),在允许的目录之外访问,非-.db 文件 |
| 行限制(10000行) | 通过大型结果集拒绝服务 |
许可证
MIT许可证 ©2026田中明