SQLite Anet MCP服务器
Rust实现 模型控制协议(MCP) 通过标准化协议提供SQLite数据库功能的服务器。该服务器使AI代理能够直接创建、管理和查询SQLite数据库。
该项目基于 模型上下文协议SQLite服务器 参考实施。
______________________________________________________________________
特性
- 🗃️ 创建和管理SQLite数据库表
- 🔍 执行SELECT查询以进行数据检索
- ✏️ 执行INSERT、UPDATE和DELETE查询以进行数据操作
- 📊 描述表模式并列出可用表
- 📝 从数据中保存和综合业务见解
- 🔄 用于消息传递的NATS传输层
- 🛠️ JSON-RPC 2.0兼容API
- ⚡ 与Tokio的异步请求处理
______________________________________________________________________
需求
- 锈 1.70+
- NATS 本地运行或可通过网络访问的服务器
- 数据库 (作为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数据库测试示例:
cargo run --example chinook_test注: 在运行Chinook测试之前,您需要:
- 从以下网址下载Chinook SQLite数据库:https://www.sqlitetutorial.net/sqlite-sample-database/
- 放置
chinook.db文件在./data/目录 - 集
SQLITE_DB_PATH=./data/chinook.db在你的.env文件或运行示例时
______________________________________________________________________
可用工具
1.列表表
列出SQLite数据库中的所有表。
例子:
{
"name": "list_tables",
"arguments": {}
}2.描述表
获取特定表的架构信息。
参数:
table_name(必填):要描述的表的名称
例子:
{
"name": "describe_table",
"arguments": {
"table_name": "customers"
}
}3.创建表
在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', 'john@example.com', '2023-01-15')"
}
}6.附录_视图
在备忘录中添加业务见解。
参数:
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"
}
}
}______________________________________________________________________
建筑
服务器采用模块化设计:
- 工具 –SQLite数据库操作实现
- 模型 –SQLite查询和响应结构
- 鼓励 –交互式演示模板
- 资源 –业务见解备忘录生成
- SQLite –核心数据库功能
______________________________________________________________________
发展
添加新功能
要使用其他SQLite功能扩展服务器:
- 在中定义响应结构
src/models/sqlite.rs - 在中实施该工具
src/tools/遵循工具特性 - 在中注册该工具
src/main.rs
______________________________________________________________________
故障排除
- 确保NATS服务器正在运行且可访问
- 检查SQLite数据库路径是否设置正确
- 验证请求格式是否与每个工具的预期输入模式匹配
______________________________________________________________________
许可证
MIT许可证
______________________________________________________________________
