Token导航 LogoToken导航TokenDH.com
Sqlite MCP Rs logo
数据服务stdio官方级别未说明来源级核验

Sqlite MCP Rs

MCP Server

@bradsjm/sqlite-mcp-rs@latest

一个为SQLite提供有界模型上下文协议(MCP)的服务,支持内存和持久化数据库管理,查询执行,批量写入,数据导入,游标分页及可选向量搜索功能。

工具数

12

提示词数

0

GitHub Stars

0

资源数

0
数据分析Rust向量搜索

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

作者 / 组织

bradsjm

提供方

bradsjm

最后核验

2026/5/17 20:22

运行时

Node.js

快速接入

先看主来源和安装命令,再打开仓库或文档;下面只保留这个条目的关键接入事实。

命令预览

npx @bradsjm/sqlite-mcp-rs@latest

详细介绍

sqlite-mcp-rs

SQLite的有界模型上下文协议(MCP)服务器,具有stdio(默认)和可选的HTTP传输。它支持临时内存数据库和持久数据库,并为数据库生命周期、查询/执行操作、批写入、数据导入、基于光标的分页和可选的向量搜索提供类型化工具。

特性

  • 有界SQL执行:对语句长度、行数和响应字节有严格限制
  • 默认安全策略:块 ATTACHLOAD_EXTENSION,确认破坏性批量操作
  • 类型化MCP合同:结构化的请求/响应模式和一致的工具包
  • 光标分页:可恢复 sql_query 具有TTL和有限的光标容量
  • 短暂+持续支持:在内存中打开/列出/关闭(临时)和文件支持(持久)SQLite数据库
  • 进口支持:将CSV或JSON行摄取到已验证的表/列目标中
  • 轻量级队列原语:通过MCP/HTTP推送JSON作业并对新行进行长轮询
  • 可选矢量搜索:具有嵌入和可选重新排序功能的sqlite-vec集合(vector 特征)

安装

根据您的环境选择以下选项之一。

使用NPX

如果这个包发布到npm:

npx @bradsjm/sqlite-mcp-rs@latest

或全局安装:

npm install -g @bradsjm/sqlite-mcp-rs
sqlite-mcp-rs

使用Docker

具有最新映像的本地stdio传输:

docker run --rm -i --env-file .env ghcr.io/bradsjm/sqlite-mcp-rs:latest

已发布的Docker镜像使用glibc运行时,并包括本地嵌入/重新排序支持。

通过HTTP传输运行:

docker run --rm -i --env-file .env ghcr.io/bradsjm/sqlite-mcp-rs:latest -- --transport http --host localhost --port 3000

本地构建:

docker build -t sqlite-mcp-rs .
docker run --rm -i --env-file .env sqlite-mcp-rs

来源

cargo install --path .

或者直接运行:

cargo run

通过HTTP传输运行:

cargo run -- --transport http --host localhost --port 3000

快速开始

配置MCP

使用此MCP配置模板并设置 可选的 持久化数据库的环境值。

{
  "mcpServers": {
    "sqlite": {
      "command": "npx",
      "args": ["-y", "@bradsjm/sqlite-mcp-rs@latest"],
      "env": {
        "SQLITE_PERSIST_ROOT": "/absolute/path/to/sqlite-data",
      }
    }
  }
}

运输选项

服务器支持:

  • --transport stdio (默认)
  • --transport http --host localhost --port 3000

启用HTTP传输后,暴露并连接到:

http://:
/mcp

HTTP连接不是按数据库句柄的会话隔离的。一个服务器进程中的所有HTTP客户端共享相同的 SQLITE_PERSIST_ROOT 以及相同的进程内注册表,因此它们可以同时打开和使用相同的持久数据库文件。

核心环境变量

默认值如下所示。

SQLITE_PERSIST_ROOT=                       # optional; if unset, only ephemeral (memory) databases are allowed
SQLITE_LOG_LEVEL=info
SQLITE_MAX_SQL_LENGTH=20000
SQLITE_MAX_STATEMENTS=50
SQLITE_MAX_ROWS=500
SQLITE_MAX_BYTES=1048576
SQLITE_MAX_DB_BYTES=100000000
SQLITE_MAX_PERSISTED_LIST_ENTRIES=500
SQLITE_CURSOR_TTL_SECONDS=600
SQLITE_CURSOR_CAPACITY=500
SQLITE_QUEUE_WAIT_TIMEOUT_MS_DEFAULT=30000
SQLITE_QUEUE_WAIT_TIMEOUT_MS_MAX=120000
SQLITE_QUEUE_POLL_INTERVAL_MS_DEFAULT=250
SQLITE_QUEUE_POLL_INTERVAL_MS_MIN=50
SQLITE_QUEUE_POLL_INTERVAL_MS_MAX=5000

矢量特征(可选)

使用矢量集合支持构建/运行:

cargo run --features vector

添加本地嵌入和重新排序:

cargo run --features "vector local-embeddings"

矢量环境变量:

SQLITE_VECTOR_DIMENSION=384
SQLITE_MAX_VECTOR_TOP_K=200
SQLITE_MAX_RERANK_FETCH_K=500

本地嵌入环境变量(local-embeddings 仅功能):

SQLITE_EMBEDDING_PROVIDER=fastembed
SQLITE_EMBEDDING_MODEL=BAAI/bge-small-en-v1.5
SQLITE_EMBEDDING_CACHE_DIR=                # optional
SQLITE_RERANKER_PROVIDER=fastembed         # optional (only if reranker enabled)
SQLITE_RERANKER_MODEL=BAAI/bge-reranker-base  # optional (only if reranker enabled)
SQLITE_RERANKER_CACHE_DIR=                 # optional

工具参考

所有工具都返回一个一致的信封:

{
  "summary": "Human-readable outcome",
  "data": {},
  "_meta": {
    "now_utc": "2026-03-02T00:00:00Z",
    "elapsed_ms": 12,
    "request_id": "uuid-v4"
  }
}

数据库工具

工具目的
db_open打开并激活内存或持久化数据库句柄
db_list列出活动/打开的句柄和发现的持久数据库
db_close关闭数据库句柄并使相关游标无效

SQL工具

工具目的
sql_query执行一条具有有界结果和可选游标连续性的只读语句
sql_execute执行一条非读取语句并返回写入元数据
sql_batch使用可选事务和破坏性保护执行多个写语句
db_import将CSV/JSON行导入表中

队列工具

工具目的
queue_push将JSON作业插入到命名队列中
queue_wait在呼叫者基线后对下一个可见作业进行长时间轮询

矢量工具(vector 特征)

工具目的
vector_collection_create创建矢量集合支持表
vector_collection_list列出矢量集合和元数据
vector_upsert插入嵌入式矢量文档
vector_search运行语义KNN搜索,可选择重新排序

有关完整的模式和验证规则,请参阅 docs/tool-contract.md.

政策和安全

  • sql_query 只接受一条只读语句。
  • sql_executesql_batch 拒绝阅读声明。
  • ATTACHLOAD_EXTENSION 被封锁。
  • 破坏性批量写入需要 confirm_destructive=true.
  • 写入内部表 _vector_collections 被阻止使用通用SQL工具。
  • queue_wait 默认为 include_existing=false 因此,除非呼叫者选择加入,否则他们会等待新行。

故障排除

持久模式被拒绝

如果 db_open 随着 mode="persist" 失败,确保 SQLITE_PERSIST_ROOT 已设置。

查询被策略阻止

如果您看到被阻止的SQL错误,请删除 ATTACH / LOAD_EXTENSION 或使用允许的语句。

批次因破坏性而被拒收

对于 DROP, TRUNCATE,或 DELETE 没有 WHERE,set confirm_destructive=true.

矢量工具不可用

与一起跑步 --features vector 用于收集支持,以及 --features "vector local-embeddings" 用于本地嵌入/重新排序。Linux musl发布二进制文件和npm Linux包除外 local-embeddings.

发展

运行单元测试:

cargo test

对MCP检查器运行集成检查:

bash scripts/test-sqlite-mcp-inspector.sh cargo run --

通过HTTP传输对MCP检查器运行集成检查:

bash scripts/test-sqlite-mcp-inspector-http.sh cargo run --

显示CLI帮助:

sqlite-mcp-rs --help

目录标签

目录标签

数据分析Rust向量搜索数据库管理本地部署SQLite工具数据导入游标分页

接入字段

传输方式(transport,传输协议)

stdio

鉴权方式(authType,认证方式)

none

运行时(runtime,运行环境)

Node.js

来源包(packageName,安装包名)

@bradsjm/sqlite-mcp-rs@latest

工具数量(toolCount,工具数)

12

资源数量(resourceCount,资源数)

0

提示词数量(promptCount,提示词数)

0

权限和风险

stdionone部署方式未说明

接入前请确认传输方式、认证方式和部署位置,并根据实际工具能力限制访问范围。

安装前确认

不要直接授予不必要的文件、网络或账号权限;先核对安装命令和配置内容。

来源信息

继续浏览同类 MCP