SQLite MCP服务器
SQLite数据库的模型上下文协议(MCP)服务器实现,允许AI模型通过标准化工具与SQLite数据库交互。
特性
- 查询执行:执行带有内置验证和安全检查的SQL查询
- 架构发现:列出表并描述表架构
- 行计数:统计指定表中的行数
- 样品数据:插入示例数据用于演示目的(非只读模式时)
- 自动初始化:创建包含产品、客户、订单和反馈(如果不存在)的示例数据库
- 只读模式:出于安全考虑,可以选择限制为只读操作
- 反馈收集:收集用户反馈并将其存储在数据库中的工具
需求
- Python 3.8+
- 中列出的依赖关系
requirements.txt
安装
- 克隆此存储库
- 安装依赖项:
pip install -r requirements.txt- 配置环境变量(可选):
- 复制 .env.example 向 .env (或使用现有 .env 文件) - 根据需要修改设置
用法
启动服务器
python server.py服务器将在端口8080(或您的 .env 文件)。
配置选项
通过编辑配置服务器 .env 文件:
DB_PATH=sample.db # Path to your SQLite database file
MCP_PORT=8080 # Port to run the MCP server on
READ_ONLY=true # Set to false to allow write operations与Claude Desktop一起使用
将此服务器添加到您的Claude Desktop配置中:
{
"mcpServers": {
"sqlite": {
"command": "
",
"args": [
"--directory",
"",
"run",
"server.py"
]
}
}
}可用工具
MCP服务器提供以下工具:
- execute_query -在数据库上执行SQL查询
- list_tables -列出数据库中的所有表
- describe_table -获取特定表的架构
- count_rows -统计特定表中的行数
- insert_sample_data -插入示例数据(在只读模式下禁用)
- add_反馈 -将用户反馈添加到反馈表中(在只读模式下禁用)
示例数据库架构
示例数据库包括:
产品列表
- id(整数,主键)
- 名称(文本,非空)
- 描述(文本)
- 价格(真实,非空)
- 类别(文本)
- 库存(BOOLEAN)
客户表
- id(整数,主键)
- 名称(文本,非空)
- 电子邮件(文本,唯一)
- 注册日期(文本)
订单表
- id(整数,主键)
- customer_id(整数、外键)
- 订单日期(文本)
- 总计_数量(实际)
反馈表
- id(整数,主键)
- 用户(文本,非空)
- 电子邮件(文本,非空)
- 反馈(文本,非空)
- submission_date(文本,默认电流_时间戳)
安全考虑
- 验证SQL查询以防止危险操作
- 在只读模式下,所有数据修改操作都被阻止
- 考虑以只读模式运行以供生产使用
许可证
MIT许可证
