
MCP SQLite Server

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:执行写查询(如
INSERT
、UPDATE
或DELETE
)。
常见问题解答
- 日志问题:当使用 stdio 传输时,日志不能定向到标准输出,否则会干扰 MCP 协议通信。应使用
--no-logs
和--log
标志将所有日志写入日志文件。
使用教程
使用依赖
- Go 1.24 或更高版本
- SQLite(如果数据库文件不存在,将会创建)
安装教程
- 确保已安装 Go 1.24 或更高版本。
- 克隆或下载 MCP SQLite Server 代码。
- 构建项目:
bash go build -o ./bin/mcp-sqlite
配置
通过 YAML 文件(默认:config.yml
)配置服务器。例如:
sqlite:
path: './sqlite.db'
也可以通过环境变量 SQLITE_PATH
注入 SQLite 文件路径。如果设置了此环境变量,它将覆盖配置文件中的值。
调试方式
- 启动服务器:
bash ./bin/mcp-sqlite server --no-logs --log path_to_log_file
- 使用 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"
}
}
}
}