SQLite MCP 服务器
一个为 SQLite 数据库实现的模型上下文协议(Model Context Protocol, MCP)服务器,允许 AI 模型通过标准化工具与 SQLite 数据库进行交互。
功能特性
- 查询执行:执行 SQL 查询,内置验证和安全检查
- 模式发现:列出表并描述表结构
- 行数统计:统计指定表中的行数
- 示例数据:插入示例数据用于演示(在非只读模式下)
- 自动初始化:如果不存在数据库,则创建一个包含产品、客户、订单和反馈的示例数据库
- 只读模式:可选限制为只读操作以确保安全
- 反馈收集:提供工具收集用户反馈并存储到数据库中
环境要求
- Python 3.8+
requirements.txt
中列出的依赖项
安装步骤
- 克隆本仓库
- 安装依赖项:
- 配置环境变量(可选):
- 将
.env.example
复制为.env
(或使用现有的.env
文件) - 根据需要修改设置
使用指南
启动服务器
服务器将启动在 8080 端口(或在
.env
文件中指定的端口)。配置选项
通过编辑
.env
文件配置服务器:与 Claude Desktop 集成
将此服务器添加到 Claude Desktop 配置中:
可用工具
MCP 服务器提供以下工具:
- execute_query - 在数据库上执行 SQL 查询
- list_tables - 列出数据库中的所有表
- describe_table - 获取指定表的模式信息
- count_rows - 统计指定表中的行数
- insert_sample_data - 插入示例数据(在只读模式下禁用)
- add_feedback - 将用户反馈添加到反馈表中(在只读模式下禁用)
示例数据库模式
示例数据库包含以下表:
产品表(Products Table)
- id (INTEGER, 主键)
- name (TEXT, 非空)
- description (TEXT)
- price (REAL, 非空)
- category (TEXT)
- in_stock (BOOLEAN)
客户表(Customers Table)
- id (INTEGER, 主键)
- name (TEXT, 非空)
- email (TEXT, 唯一)
- signup_date (TEXT)
订单表(Orders Table)
- id (INTEGER, 主键)
- customer_id (INTEGER, 外键)
- order_date (TEXT)
- total_amount (REAL)
反馈表(Feedback Table)
- id (INTEGER, 主键)
- user (TEXT, 非空)
- email (TEXT, 非空)
- feedback (TEXT, 非空)
- submission_date (TEXT, 默认当前时间戳)
安全注意事项
- SQL 查询经过验证,以防止危险操作
- 在只读模式下,所有数据修改操作均被阻止
- 建议在生产环境中使用只读模式
许可证
MIT 许可证
- Author:waytomcp
- URL:https://www.waytomcp.com/article/madhavarora1988/mcp_sqlite_poc
- Copyright:All articles in this blog, except for special statements, adopt BY-NC-SA agreement. Please indicate the source!