返回市场
SQLite-MCP服务器

SQLite-MCP服务器

作者:mekanixms8 星标更新:2025-02-10

项目介绍

SQLite MCP 服务器

一个提供全面SQLite数据库管理和分析能力的模型上下文协议(MCP)服务器。此服务器允许大型语言模型探索数据库模式、查询数据、执行更新操作,并进行统计分析。

功能

  • 模式探索

    • 列出数据库中的所有表
    • 查看特定表的详细模式信息
    • 检查列类型和约束条件
  • 数据管理

    • 执行只读SQL查询
    • 执行数据修改(UPDATE, INSERT, DELETE)
    • 带有错误处理的安全执行
  • 数据分析

    • 基本统计分析(行数、空值数、数值统计)
    • 包括分类数据分布的详细分析
    • 自动类型检测及适当的统计度量

预备条件

  • Python 3.8 或更高版本
  • SQLite 数据库文件
  • Claude Desktop(可选,用于桌面集成)

安装

  1. 首先确保安装了所需的Python包:
pip install mcp pandas
  1. 下载SQLite MCP服务器脚本:
# 克隆此仓库或直接下载sqlite_mcp.py
curl -O https://raw.githubusercontent.com/yourusername/sqlite-mcp/main/sqlite_mcp.py
  1. 对于Claude Desktop集成:
# 使用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

    • 列出数据库中所有可用的表
    • 示例响应:
      可用表:
      - 用户
      - 产品
      - 订单
      
  • schema://{表}

    • 返回特定表的详细模式信息
    • 示例响应:
      表:用户
      
      创建语句:
      CREATE TABLE 用户 (
          id 整数 主键,
          名字 文本 不为空,
          邮件 文本 唯一
      )
      
      列:
      - id (整数) 不为空 主键
      - 名字 (文本) 不为空
      
    • 邮件 (文本)

可用工具

查询

执行只读SQL查询:

SELECT * FROM 用户 LIMIT 5

更新数据

执行数据修改:

INSERT INTO 用户 (名字, 邮件) VALUES ('约翰·多伊', 'john@example.com')
UPDATE 用户 SET 邮件 = 'new@example.com' WHERE id = 1

分析表

对表数据进行统计分析:

参数:

  • :要分析的表名
  • 分析类型:'基本'或'detailed'

示例响应:

{
  "行数": 1000,
  "列数": 5,
  "空值数": {
    "id": 0,
    "名字": 0,
    "邮件": 15
  },
  "数值列": {
    "id": {
      "平均值": 500.5,
      "标准差": 288.819,
      "最小值": 1,
      "最大值": 1000
    }
  }
}

安全考虑

服务器实现了多项安全措施:

  1. 对所有SQL操作进行输入验证
  2. 将只读查询与数据修改分开
  3. 数据库连接错误处理
  4. 通过参数化查询防止SQL注入

错误处理

服务器提供了常见问题的清晰错误消息:

  • 数据库连接失败
  • 无效的SQL语法
  • 表未找到错误
  • 权限问题
  • 类型不匹配

贡献

欢迎贡献!请随时提交Pull Request。

许可证

本项目采用MIT许可证 - 详情见LICENSE文件。 </中文翻译>