关于 SQLite-Anet-MCP Server
SQLite-Anet-MCP Server 是基于 Rust 的 MCP 服务,为 AI Agent 提供 SQLite 数据库操作能力。它将查询和表管理工具与洞察备忘录资源、演示提示词结合,并通过 NATS 传递消息。
主要功能
- 01创建和管理数据库表
- 02执行 SELECT 查询
- 03执行 INSERT、UPDATE 和 DELETE 查询
- 04列出数据表并查看架构
- 05保存和读取业务洞察
- 06NATS 传输与 JSON-RPC 2.0 API
适用场景
- 01通过 AI Agent 查询 SQLite 数据
- 02创建和更新数据库记录
- 03检查可用数据表及其架构
- 04记录数据分析所得洞察
MCP 相关
该服务通过 MCP 工具提供 SQLite 操作,将业务洞察备忘录作为资源,并提供 MCP 演示提示词。请求使用兼容 JSON-RPC 2.0 的 API,并通过 NATS 传输。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
我们还没有获取到这个服务的安装包或远程地址,请按项目 README 中的说明安装。
工具
本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。
详细介绍
SQLite-Anet-MCP Server
使用 Rust 实现的 Model Control Protocol (MCP) 服务,通过标准化协议提供 SQLite 数据库功能。该服务使 AI Agent 能够直接创建、管理和查询 SQLite 数据库。
本项目基于 Model Context Protocol SQLite Server 参考实现。
功能
- 🗃️ 创建和管理 SQLite 数据库表
- 🔍 执行 SELECT 查询以检索数据
- ✏️ 执行 INSERT、UPDATE 和 DELETE 查询以操作数据
- 📊 描述表结构并列出可用的表
- 📝 保存并总结数据中的业务洞察
- 🔄 用于消息传递的 NATS 传输层
- 🛠️ 兼容 JSON-RPC 2.0 的 API
- ⚡ 使用 Tokio 异步处理请求
要求
- Rust 1.70+
- NATS 服务在本地运行或可通过网络访问
- SQLite(作为 Rust 依赖项包含在内)
安装
克隆仓库并构建服务:
git clone https://github.com/yourusername/sqlite-anet-mcp.git
cd sqlite-anet-mcp
在 .env 文件中配置环境:
NATS_URL=nats://localhost:4222
MCP_SUBJECT=mcp.requests
SQLITE_DB_PATH=./data/sqlite.db
RUST_LOG=debug
开始使用
运行服务
# Start a NATS server in another terminal or ensure one is already running
# Example:
nats-server
# Run the SQLite MCP server
cargo run
测试服务
你可以使用随附的测试客户端来测试服务:
cargo run --example test_client
这将创建一个基本的客户数据库,并演示服务的功能。
Chinook 数据库测试
运行 Chinook 数据库测试示例:
cargo run --example chinook_test
注意: 运行 Chinook 测试前,你需要:
- 从以下地址下载 Chinook SQLite 数据库:https://www.sqlitetutorial.net/sqlite-sample-database/
- 将
chinook.db文件放在./data/目录中 - 在
.env文件中或运行示例时设置SQLITE_DB_PATH=./data/chinook.db
可用工具
1. list_tables
列出 SQLite 数据库中的所有表。
示例:
{
"name": "list_tables",
"arguments": {}
}
2. describe_table
获取指定表的结构信息。
参数:
table_name(必填):要描述的表的名称
示例:
{
"name": "describe_table",
"arguments": {
"table_name": "customers"
}
}
3. create_table
在 SQLite 数据库中创建新表。
参数:
query(必填):CREATE TABLE SQL 语句
示例:
{
"name": "create_table",
"arguments": {
"query": "CREATE TABLE customers (id INTEGER PRIMARY KEY, name TEXT, email TEXT, join_date TEXT)"
}
}
4. read_query
在 SQLite 数据库上执行 SELECT 查询。
参数:
query(必填):要执行的 SELECT SQL 查询
示例:
{
"name": "read_query",
"arguments": {
"query": "SELECT * FROM customers WHERE join_date > '2023-01-01'"
}
}
5. write_query
在 SQLite 数据库上执行 INSERT、UPDATE 或 DELETE 查询。
参数:
query(必填):要执行的 SQL 查询(必须为 INSERT、UPDATE 或 DELETE)
示例:
{
"name": "write_query",
"arguments": {
"query": "INSERT INTO customers (name, email, join_date) VALUES ('John Doe', '[email protected]', '2023-01-15')"
}
}
6. append_insight
向备忘录中添加业务洞察。
参数:
insight(必填):通过数据分析发现的业务洞察
示例:
{
"name": "append_insight",
"arguments": {
"insight": "Customer acquisition is stable and growing over time."
}
}
可用资源
业务洞察备忘录
记录已发现业务洞察的持续更新文档。
URI: memo://insights
示例:
{
"method": "readResource",
"params": {
"uri": "memo://insights"
}
}
可用提示词
MCP 演示
用于为数据库填充初始数据,并演示使用 SQLite MCP Server + Claude 可以完成哪些操作的提示词。
参数:
topic(必填):用于为数据库填充初始数据的主题
示例:
{
"method": "getPrompt",
"params": {
"name": "mcp-demo",
"arguments": {
"topic": "coffee shop sales"
}
}
}
架构
该服务采用模块化设计:
- tools – SQLite 数据库操作实现
- models – SQLite 查询和响应结构
- prompts – 交互式演示模板
- resources – 业务洞察备忘录生成
- sqlite – 核心数据库功能
开发
添加新功能
要扩展服务,添加更多 SQLite 功能:
- 在
src/models/sqlite.rs中定义响应结构 - 按照 Tool trait 在
src/tools/中实现工具 - 在
src/main.rs中注册工具
故障排除
- 确保 NATS 服务正在运行且可访问
- 检查 SQLite 数据库路径是否已正确设置
- 确认请求格式符合每个工具预期的输入架构
许可证
MIT 许可证
致谢
本项目基于 Anet MCP Server 框架构建,并参考了 Model Context Protocol SQLite Server 参考实现。
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。