MCP

SQLite MCP:先在测试库上只读探查,再决定是否写入

适合要在本地 SQLite 上查数或写 insight memo 的人;第一次只用可丢弃的 --db-path 做只读探查,不要先 write_query。

官方来源 · modelcontextprotocol/server-sqlite

安装

uv --directory parent_of_servers_repo/servers/src/sqlite run mcp-server-sqlite --db-path ~/test.db

适合谁

适合要在本地 SQLite 文件上跑 SQL、看业务数据,并留下 insight memo 的人。证据写明:这台 MCP 通过 SQLite 提供数据库交互和商业智能,能执行 SQL、分析业务数据,并自动生成商业洞察 memo。

你必须能提供 --db-path 指向的 SQLite 文件,并接受进程会读、甚至改这个文件。官方示例是 ~/test.db。不要把生产库当成第一次尝试。

页面位于 servers-archived。证据没有另写维护状态或客户端名单,只覆盖到:你能用 uv 在该目录运行 mcp-server-sqlite。

3 分钟完成第一次尝试

走 uv 主路径,不要把 Docker 当主安装。在客户端配置:

"command": "uv",
"args": [
  "--directory",
  "parent_of_servers_repo/servers/src/sqlite",
  "run",
  "mcp-server-sqlite",
  "--db-path",
  "~/test.db"
]

把 --directory 换成本机真实路径,--db-path 换成可丢弃的测试库。

前置条件:已安装 uv;测试库你有权创建或打开。这会访问本地文件,不是无本地读取的沙箱。

配置位置:客户端 MCP 的 command / args。

低风险第一次调用:先做不会改表的探查——用身份说明里的「运行 SQL 查询 / 分析业务数据」查看测试库里已有内容,或只读资源 memo://insights。证据写明共有六件核心工具,但该条 locator 没有列出只读工具名与参数。不要先调用已完整展开的 write_query:它执行 INSERT、UPDATE 或 DELETE,返回 { affected_rows: number }。也不要先跑会改 memo 的 append-insight。

成功信号:服务器拉起后,你能对测试库跑出查询结果,或读到 memo://insights 的当前内容。若进程起不来,先核 uv 与目录,不要改走 Docker。

使用案例

案例 1:在测试库上做一次业务数据查看。依据身份证据执行 SQL 查询或分析。六件工具的只读签名未在 locator 展开,因此只做到「能对 --db-path 指向的库查询/分析」这一层,不要编造工具名或过滤参数。

案例 2:阅读并决定是否追加 insight memo。资源 memo://insights 会持续汇聚分析中发现的 insights,并在 append-insight 运行时自动更新。先读该资源。追加会改 memo,证据没有 undo,也没有写出参数;只有在你接受 memo 被改写、并经过确认点之后再调用。write_query 改的是表数据,与 memo 是不同副作用,本案例不要用它。

使用边界

主路径是 uv run mcp-server-sqlite --db-path <file>。Docker 示例是 docker run --rm -i -v mcp-test:/mcp mcp/sqlite --db-path /mcp/test.db,不要当主路径。write_query 会改行且无官方撤销。append-insight 会更新 memo://insights。六件工具除 write_query 与 append-insight 外,名称与参数大多未在 locator 展开。本地文件访问和写库都不是零风险。证据没有写备份、事务回滚或归档后的替代实现。