用途
mcp-libsql 是一个 Model Context Protocol(MCP)服务器,用于对 libSQL 数据库执行操作,让 Claude Desktop、Claude Code、Cursor 以及其他兼容 MCP 的客户端能够安全地访问数据库。它运行在 Node 上,使用 TypeScript 编写。
主要能力
项目提供 6 个核心工具:
- read-query:执行 SELECT 查询,带安全校验;
- write-query:执行 INSERT/UPDATE/DELETE 操作,支持事务;
- create-table:执行 CREATE TABLE 等 DDL 操作,带安全措施;
- alter-table:修改表结构,支持 ADD/RENAME/DROP 操作;
- list-tables:浏览数据库元数据,支持过滤选项;
- describe-table:查看表结构,支持多种输出格式。
在安全与可靠性方面,官方列出的特性包括:多层 SQL 注入防护与全面的安全校验;连接池配合健康监控与自动重试;事务支持并在出错时自动回滚;以及面向安全合规的全面审计日志(安全细节见 docs/SECURITY.md)。
开发者体验方面:提供对齐并妥善处理 NULL 的表格格式化输出;所有操作会显示性能指标;错误信息清晰并带有可操作上下文;支持参数化查询;提供带增强日志与热重载的开发模式。
测试覆盖方面,仓库中同时出现两组数字:一处称“244 项总测试(177 项单元 + 67 项安全),100% 通过率”;另一处“Test Coverage”处称为 403 项测试,覆盖边界情况、错误场景、CLI 参数、认证及安全校验。
使用方式
安装(全局):
pnpm install -g @xexr/mcp-libsql
本地测试:
mcp-libsql --url file:///tmp/test.db --log-mode console
前置条件:pnpm(或 npm)包管理器、libSQL 数据库(文件或远程)、Claude Desktop(用于 MCP 集成)。平台方面,macOS、Linux 使用原生 Node.js 安装,Windows 可用原生 Node.js 或 WSL2 搭配 Node.js。文档假设采用全局安装,若使用本地构建,请将 “mcp-libsql” 替换为 “node dist/index.js”。
在 Claude Desktop 中配置 MCP 服务器需按操作系统创建配置文件:
- macOS:~/Library/Application Support/Claude/claude_desktop_config.json
- Linux:~/.config/Claude/claude_desktop_config.json
- Windows:%APPDATA%\Claude\claude_desktop_config.json
配置示例(macOS/Linux):
export LIBSQL_AUTH_TOKEN="your-turso-auth-token-here"
{
"mcpServers": {
"mcp-libsql": {
"command": "mcp-libsql",
"args": ["--url", "libsql://my-app-db-username.turso.io"]
}
}
}
官方建议优先使用全局安装方式,因为它会自动处理 PATH。Windows 上使用 nvm 全局安装时,建议使用 wsl.exe -e(而不只是 wsl.exe)以确保命令正确处理。
数据库认证(Turso 等需要凭据的数据库):
# 安装 Turso CLI
curl -sSfL https://get.tur.so/install.sh | bash
# 登录
turso auth login
# 创建认证令牌
turso auth token create --name "mcp-libsql"
# 获取数据库 URL
turso db show your-database-name --url
创建与配置数据库示例:
# 创建数据库
turso db create my-app-db
# 获取数据库 URL
turso db show my-app-db --url
# 输出: libsql://my-app-db-username.turso.io
# 创建认证令牌
turso auth token create --name "mcp-libsql-token"
# 输出: your-long-auth-token-string
文档给出的注意点:环境变量比 CLI 参数更安全(令牌不会出现在进程列表中);MCP 配置文件可能包含令牌,注意不要提交到版本控制;生产环境可考虑外部密钥管理;使用最小权限的限定范围令牌;定期轮换令牌;通过 Turso 控制台监控令牌使用。
文件路径建议使用绝对路径以避免路径解析问题。数据库 URL 形式:文件数据库为 file:///absolute/path/to/database.db;HTTP 数据库为 http://hostname:port;libSQL/Turso 为 libsql://your-database.turso.io。Node.js 路径可用 which node 查找。日志模式说明:默认 file 模式可避免 MCP 协议中的 JSON 解析错误;--log-mode console 用于开发调试;--log-mode both 用于完整日志;--log-mode none 关闭所有日志。更新配置后需完全重启 Claude Desktop,可通过让 Claude 执行 SELECT 1 as test 来测试集成。
适用场景
适用于在 Claude Desktop、Claude Code、Cursor 等 MCP 客户端中,对本地文件或远程(如 Turso)libSQL 数据库进行查询、写入、建表与表结构管理等操作,且对安全校验、连接可靠性与审计日志有要求的场景。
限制与注意事项
常见问题包括:构建失败、Node.js 版本问题(macOS 上 Claude Desktop 可能默认使用较旧版本 Node.js)、服务器无法启动、工具不可用、JSON 解析错误、数据库连接问题。文档指出 JSON 解析错误已通过 --log-mode 默认 file 模式解决,该错误无害且工具仍可工作;完整排障见 docs/TROUBLESHOOTING.md。项目采用 MIT License。详细 API 文档见 docs/API.md。
(以上内容基于仓库官方说明整理;未在资料中提供的功能、收费、价格、平台或效果信息暂未提供。)