MCP SQLite Server

MCP SQLite Server

site icon
2025.04.11 0
Go数据库服务SQLite 封装数据库
MCP SQLite Server 是一个基于 Go 的 MCP 服务器实现,它封装了 SQLite 数据库,允许 MCP 客户端(如 Claude Desktop)通过标准化的 JSON-RPC 协议与 SQLite 进行交互。该服务器提供了 MCP 兼容的 JSON-RPC 接口,支持创建表、描述表结构、列出表以及执行读写查询等操作。
View on GitHub

Overview

基本能力

产品定位

MCP SQLite Server 是一个数据库服务工具,旨在通过 MCP 协议提供对 SQLite 数据库的标准化访问。

核心功能

  • MCP 兼容性:提供基于 JSON-RPC 的工具执行接口,符合 MCP 规范。
  • SQLite 操作:支持创建表、描述表结构、列出表以及执行读写查询等操作。

适用场景

  • 需要通过 MCP 协议访问 SQLite 数据库的应用。
  • 在 Claude Desktop 等 MCP 客户端中集成 SQLite 数据库功能。

工具列表

  • create_table:执行 CREATE TABLE 语句。
  • describe_table:检索特定表的架构详情。
  • list_tables:返回 SQLite 数据库中所有表的列表。
  • read_query:执行 SELECT 查询并以 JSON 格式返回结果。
  • write_query:执行写查询(如 INSERTUPDATEDELETE)。

常见问题解答

  • 日志问题:当使用 stdio 传输时,日志不能定向到标准输出,否则会干扰 MCP 协议通信。应使用 --no-logs--log 标志将所有日志写入日志文件。

使用教程

使用依赖

  • Go 1.24 或更高版本
  • SQLite(如果数据库文件不存在,将会创建)

安装教程

  1. 确保已安装 Go 1.24 或更高版本。
  2. 克隆或下载 MCP SQLite Server 代码。
  3. 构建项目: bash go build -o ./bin/mcp-sqlite

配置

通过 YAML 文件(默认:config.yml)配置服务器。例如:

sqlite:
  path: './sqlite.db'

也可以通过环境变量 SQLITE_PATH 注入 SQLite 文件路径。如果设置了此环境变量,它将覆盖配置文件中的值。

调试方式

  1. 启动服务器: bash ./bin/mcp-sqlite server --no-logs --log path_to_log_file
  2. 使用 MCP 客户端发送 JSON-RPC 请求以测试工具执行。

与 Claude Desktop 集成

claude_desktop_config.json 文件中添加以下配置:

{
  "mcpServers": {
    "sqlite": {
      "command": "./bin/mcp-sqlite",
      "args": ["server", "--no-logs", "--log", "path_to_log_file"],
      "env": {
        "SQLITE_PATH": "/path/to/your/sqlite.db"
      }
    }
  }
}

许可证

该项目遵循 MIT 开源许可条款。