@lubo3395/mcp-sqlite-server

@lubo3395/mcp-sqlite-server

Provides a set of MCP tools to let AI assistants like Claude, Cursor, and VS Code Copilot interact with SQLite databases, supporting querying, schema management, and data import/export.

Category
访问服务器

README

@lubo3395/mcp-sqlite-server

SQLite 数据库 MCP 服务器 — 让 AI 助手(Claude、Cursor、VS Code Copilot 等)通过 MCP 协议直接操作 SQLite 数据库。

Node 版本要求:>= 22 基于 Node.js 内置 node:sqlite,无需任何原生编译依赖,开箱即用。 如果你的 Node 版本低于 22,请升级 Node 或联系我们讨论其他方案。

功能

工具 功能 读写
sqlite_query 执行任意 SQL 语句(支持参数化查询) R+W
sqlite_list_tables 列出所有表名及行数 R
sqlite_get_schema 查看表的结构、列、索引和 DDL R
sqlite_create_table 创建新表 W
sqlite_drop_table 删除表 W
sqlite_add_column 添加列 W
sqlite_create_index 创建索引 W
sqlite_drop_index 删除索引 W
sqlite_import_csv 从 CSV 文件导入数据 W
sqlite_import_json 从 JSON 文件导入数据 W
sqlite_export_csv 查询结果导出为 CSV R
sqlite_export_json 查询结果导出为 JSON R

安全

支持 --readonly 只读模式。启用后:

  • better-sqlite3 驱动层拒绝写入
  • sqlite_query 只允许 SELECT / PRAGMA / EXPLAIN / WITH
  • DDL 和导入工具全部拦截

安装

npx 直接使用(推荐)

{
  "mcpServers": {
    "sqlite": {
      "command": "npx",
      "args": ["-y", "@lubo3395/mcp-sqlite-server", "--db", "./data.db", "--max-rows", "200"]
    }
  }
}

全局安装

npm install -g @lubo3395/mcp-sqlite-server
mcp-sqlite-server --db ./data.db --max-rows 200

配置

Claude Desktop / Claude Code

在 claude_desktop_config.json 或 claude.json 中添加:

{
  "mcpServers": {
    "sqlite": {
      "command": "npx",
      "args": ["-y", "@lubo3395/mcp-sqlite-server", "--db", "D:/path/to/data.db", "--max-rows", "200"],
      "env": {}
    }
  }
}

只读模式:

{
  "mcpServers": {
    "sqlite": {
      "command": "npx",
      "args": ["-y", "@lubo3395/mcp-sqlite-server", "--db", "D:/path/to/data.db", "--readonly", "--max-rows", "200"]
    }
  }
}

多数据库:

{
  "mcpServers": {
    "sqlite": {
      "command": "npx",
      "args": ["-y", "@lubo3395/mcp-sqlite-server", "--db", "./main.db", "--db", "./reference.db", "--max-rows", "200"]
    }
  }
}

VS Code / GitHub Copilot

在 .vscode/mcp.json 中添加:

{
  "servers": {
    "sqlite": {
      "command": "npx",
      "args": ["-y", "@lubo3395/mcp-sqlite-server", "--db", "./data.db", "--max-rows", "200"]
    }
  }
}

Cursor

在 .cursor/mcp.json 中添加:

{
  "mcpServers": {
    "sqlite": {
      "command": "npx",
      "args": ["-y", "@lubo3395/mcp-sqlite-server", "--db", "./data.db", "--max-rows", "200"]
    }
  }
}

Cline / Roo Code

在 cline.json 中添加:

{
  "mcpServers": {
    "sqlite": {
      "command": "npx",
      "args": ["-y", "@lubo3395/mcp-sqlite-server", "--db", "./data.db", "--max-rows", "200"]
    }
  }
}

Tool 详情

sqlite_query

执行 SQL 语句,支持参数化查询防止注入。查询结果自动截断(默认最多 200 行),避免浪费 token。

参数 类型 必填 说明
sql string 是 SQL 语句
params array 否 参数化查询参数(? 占位符)
limit number 否 返回行数上限(默认 200,受 --max-rows 限制)
offset number 否 跳过的行数,配合 limit 分页
db_alias string 否 数据库别名

示例:

查询: SELECT * FROM users WHERE age > ?
参数: [25]
分页: limit=50, offset=100

返回值包含 total_count(总行数)和 has_more(是否还有更多),AI 可据此决定是否继续分页。

sqlite_list_tables

列出所有表名及行数。

参数 类型 必填 说明
db_alias string 否 数据库别名

sqlite_get_schema

查看指定表的结构信息。

参数 类型 必填 说明
table string 是 表名
db_alias string 否 数据库别名

sqlite_create_table

创建新表。

参数 类型 必填 说明
table string 是 表名
columns string 是 列定义 JSON(见下方说明)
if_not_exists boolean 否 是否添加 IF NOT EXISTS
db_alias string 否 数据库别名

columns 参数格式:

[
  {"name": "id", "type": "INTEGER", "pk": true, "autoIncrement": true},
  {"name": "name", "type": "TEXT", "notnull": true},
  {"name": "email", "type": "TEXT", "unique": true},
  {"name": "age", "type": "INTEGER", "defaultValue": "0"}
]

sqlite_drop_table / sqlite_add_column / sqlite_create_index / sqlite_drop_index

分别为删除表、添加列、创建索引、删除索引。支持 if_exists / if_not_exists 和 db_alias 参数。

sqlite_import_csv / sqlite_import_json

从文件导入数据到表。支持 create_if_not_exists 自动建表。

参数 类型 必填 说明
file_path string 是 文件路径
table string 是 目标表名
create_if_not_exists boolean 否 自动建表
delimiter string 否 分隔符(CSV,默认 ,)
has_header boolean 否 是否含表头(CSV,默认 true)

sqlite_export_csv / sqlite_export_json

将查询结果导出到文件。

参数 类型 必填 说明
sql string 是 SELECT 查询
output string 是 输出文件路径
params array 否 参数化查询参数
overwrite boolean 否 是否覆盖已有文件

命令行参数

mcp-sqlite-server --db <path> [选项...]

--db <path>        SQLite 数据库文件路径(必填,可指定多个)
--readonly         只读模式(禁止写操作)
--max-rows <n>     查询返回的最大行数上限(默认 200,设为 0 不限制)
--help, -h         显示帮助

本地开发

git clone https://github.com/lubo3395/mcp-sqlite-server.git
cd mcp-sqlite-server
npm install
npm run dev        # 开发模式(热重载)
npm run build      # 构建
npm start          # 启动

使用 MCP Inspector 测试:

npx @modelcontextprotocol/inspector node dist/index.js --db ./test.db

技术栈

  • 运行时: Node.js 22+(内置 node:sqlite)
  • MCP SDK: @modelcontextprotocol/sdk
  • 校验: zod
  • 构建: TypeScript + tsc

License

MIT

推荐服务器

Baidu Map

Baidu Map

百度地图核心API现已全面兼容MCP协议,是国内首家兼容MCP协议的地图服务商。

官方
精选
JavaScript
Playwright MCP Server

Playwright MCP Server

一个模型上下文协议服务器,它使大型语言模型能够通过结构化的可访问性快照与网页进行交互,而无需视觉模型或屏幕截图。

官方
精选
TypeScript
Magic Component Platform (MCP)

Magic Component Platform (MCP)

一个由人工智能驱动的工具,可以从自然语言描述生成现代化的用户界面组件,并与流行的集成开发环境(IDE)集成,从而简化用户界面开发流程。

官方
精选
本地
TypeScript
Audiense Insights MCP Server

Audiense Insights MCP Server

通过模型上下文协议启用与 Audiense Insights 账户的交互,从而促进营销洞察和受众数据的提取和分析,包括人口统计信息、行为和影响者互动。

官方
精选
本地
TypeScript
VeyraX

VeyraX

一个单一的 MCP 工具,连接你所有喜爱的工具:Gmail、日历以及其他 40 多个工具。

官方
精选
本地
graphlit-mcp-server

graphlit-mcp-server

模型上下文协议 (MCP) 服务器实现了 MCP 客户端与 Graphlit 服务之间的集成。 除了网络爬取之外,还可以将任何内容(从 Slack 到 Gmail 再到播客订阅源)导入到 Graphlit 项目中,然后从 MCP 客户端检索相关内容。

官方
精选
TypeScript
Kagi MCP Server

Kagi MCP Server

一个 MCP 服务器,集成了 Kagi 搜索功能和 Claude AI,使 Claude 能够在回答需要最新信息的问题时执行实时网络搜索。

官方
精选
Python
e2b-mcp-server

e2b-mcp-server

使用 MCP 通过 e2b 运行代码。

官方
精选
Neon MCP Server

Neon MCP Server

用于与 Neon 管理 API 和数据库交互的 MCP 服务器

官方
精选
Exa MCP Server

Exa MCP Server

模型上下文协议(MCP)服务器允许像 Claude 这样的 AI 助手使用 Exa AI 搜索 API 进行网络搜索。这种设置允许 AI 模型以安全和受控的方式获取实时的网络信息。

官方
精选