首页/数据库/mcp_sqlite_poc

mcp_sqlite_poc

查看源码
2025-5-12
Words 718Read Time 2 min
Score:85

基于SQLite的MCP服务器实现,提供AI模型与SQLite数据库的标准化交互工具。

SQLite MCP 服务器

一个为 SQLite 数据库实现的模型上下文协议(Model Context Protocol, MCP)服务器,允许 AI 模型通过标准化工具与 SQLite 数据库进行交互。

功能特性

  • 查询执行:执行 SQL 查询,内置验证和安全检查
  • 模式发现:列出表并描述表结构
  • 行数统计:统计指定表中的行数
  • 示例数据:插入示例数据用于演示(在非只读模式下)
  • 自动初始化:如果不存在数据库,则创建一个包含产品、客户、订单和反馈的示例数据库
  • 只读模式:可选限制为只读操作以确保安全
  • 反馈收集:提供工具收集用户反馈并存储到数据库中

环境要求

  • Python 3.8+
  • requirements.txt 中列出的依赖项

安装步骤

  1. 克隆本仓库
  1. 安装依赖项:
  1. 配置环境变量(可选):
      • .env.example 复制为 .env(或使用现有的 .env 文件)
      • 根据需要修改设置

使用指南

启动服务器

服务器将启动在 8080 端口(或在 .env 文件中指定的端口)。

配置选项

通过编辑 .env 文件配置服务器:

与 Claude Desktop 集成

将此服务器添加到 Claude Desktop 配置中:

可用工具

MCP 服务器提供以下工具:
  1. execute_query - 在数据库上执行 SQL 查询
  1. list_tables - 列出数据库中的所有表
  1. describe_table - 获取指定表的模式信息
  1. count_rows - 统计指定表中的行数
  1. insert_sample_data - 插入示例数据(在只读模式下禁用)
  1. 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 许可证
上一篇
zerodha-trade
下一篇
air-mcp