mcpField
L
litebase

litebase

本地服务
github.com/CloudCorpRecords其他01 天前更新

关于 litebase

litebase 是面向 Agent 的 SQLite 命令行工具和 MCP 服务,可执行常见数据库操作并记录分析发现。它使用 Node 内置的 SQLite,无需单独配置数据库服务。

主要功能

  1. 01执行 SELECT 查询
  2. 02插入、更新和删除记录
  3. 03创建表并查看表结构
  4. 04列出数据库表
  5. 05在内存备忘录中记录洞察

适用场景

  1. 01让 Agent 查询本地 SQLite 数据
  2. 02创建表并修改数据库记录
  3. 03检查表字段和主键属性
  4. 04在分析会话中汇总数据发现

MCP 相关

提供 stdio MCP 服务,供客户端调用查询、写入、建表、列出和描述表,以及追加洞察的工具。

配置

本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。

mcp.json · 通用配置
{
"mcpServers": {
"cloudcorprecords-litebase": {
"command": "npx",
"args": [
"-y",
"@reneturcios/litebase"
]
}
}
}
启动命令npx -y @reneturcios/litebase

本地服务需要在你的电脑上安装运行环境(如 Node.js 18+)。各客户端的配置文件位置不同,请参考客户端文档。

安装包
npm@reneturcios/litebase0.1.0
ocighcr.io/cloudcorprecords/litebase:0.1.0

工具

还没有获取到工具列表

本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。

详细介绍

litebase

litebase 为你提供一个 SQLite 数据库,你可以通过终端操作它,也可以将其作为 MCP 服务交给 Agent 使用。它涵盖了处理小型数据库的日常流程:创建表、插入行、修改行、读取数据、查看表的结构,以及随时记录你从数据中获得的发现。

无需预配任何资源,也无需编译原生插件:存储引擎是 Node 内置的 SQLite 库(node:sqlite),因此“数据库”只是一个文件路径;如果你想使用临时数据库,也可以用 :memory:。

安装

npx @reneturcios/litebase tables ./data.db

也可以运行容器镜像:

docker run -i ghcr.io/cloudcorprecords/litebase

容器默认启动 MCP 服务(见下文)。传入 CLI 参数即可将其用作 CLI。

Node 版本要求

litebase 的引擎是 Node 内置的 node:sqlite 模块,该模块仅存在于 Node 22.5 及更高版本。包的 engines 字段标注为 >=20,这是因为它符合整个运行环境的标准,但这也意味着存在一个实际限制:在 Node 20 上,CLI 和服务可以启动,但在打开数据库时会立即报错,并提示需要 Node >= 22.5。要实际读取或写入数据,请使用 Node 22.5+(推荐 Node 24)。

CLI

# List the user tables in a database file
litebase tables ./data.db

# Run a read query; rows print as JSON objects
litebase query ./data.db "SELECT id, name FROM users ORDER BY id"

litebase --version

MCP 服务打开的数据库按以下顺序确定:mcp 后的路径参数、LITEBASE_DB 环境变量,然后是当前目录下的 ./litebase.db。

退出代码:成功时为 0;查询或数据库本身出错时为 1(消息会说明原因);用法错误时为 2。

MCP 服务

同一个可执行文件支持两种用法。mcp 子命令会启动一个 stdio MCP 服务:

npx -y @reneturcios/litebase mcp ./data.db

MCP 客户端配置:

{
  "mcpServers": {
    "litebase": {
      "command": "npx",
      "args": ["-y", "@reneturcios/litebase", "mcp", "./data.db"]
    }
  }
}

数据库会在首次调用工具时才延迟打开,因此启动服务本身不会创建文件。

工具
工具输入功能
read_queryquery(字符串,必填)运行一条 SELECT(或 WITH ... SELECT)语句,并以对象形式返回列名和行数据。
write_queryquery(字符串,必填)运行一条 INSERT、UPDATE 或 DELETE 语句,并报告受影响的行数和最后插入行的 rowid。
create_tablequery(字符串,必填)运行一条 CREATE TABLE 语句。
list_tables—列出数据库中的用户表(隐藏 SQLite 内部的 sqlite_% 表)。
describe_tabletable_name(字符串,必填)返回表的列及其声明类型、是否可为空、默认值和主键标记。
append_insightinsight(字符串,必填)向内存中的发现备忘录添加一条记录,并返回截至目前的完整备忘录文本。
语句限制

每个工具只接受其对应类型的语句,并且一次只能接受一条语句:

  • read_query 会拒绝任何不以 SELECT 或 WITH 开头的内容。
  • write_query 会拒绝 SELECT、CREATE、DROP,以及任何非 INSERT、UPDATE 或 DELETE 的内容。
  • create_table 会拒绝任何非 CREATE TABLE 的内容。
  • 如果在 ; 后偷偷附加第二条语句,该语句会在执行前被拒绝。
  • describe_table 只接受普通表名(字母、数字、下划线)——名称会用于 PRAGMA,因此会先进行校验,而非参数化处理。

限制校验拒绝和 SQL 错误会以工具错误的形式返回,并说明问题所在;被拒绝的调用不会执行任何内容。

发现备忘录

append_insight 会在服务实例中维护一份带编号的备忘录:每次调用都会追加一条发现并返回完整备忘录,因此 Agent 可以在分析过程中逐步积累发现,并将它们作为一段完整文本读回。备忘录只保存在内存中——不会写入数据库文件,也不会在服务重启后保留。

开发

npm install
npm run build   # tsc -> dist/
npm test        # node test runner over test/*.test.ts, no network
npm run dev     # run the CLI from source via tsx

测试会使用内存数据库和临时文件数据库运行;无需访问网络。

许可证

MIT — 详见 LICENSE。

评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。