@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
Visit Server

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.jsonclaude.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_existsdb_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

Recommended Servers

playwright-mcp

playwright-mcp

A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.

Official
Featured
TypeScript
Magic Component Platform (MCP)

Magic Component Platform (MCP)

An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.

Official
Featured
Local
TypeScript
Audiense Insights MCP Server

Audiense Insights MCP Server

Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.

Official
Featured
Local
TypeScript
VeyraX MCP

VeyraX MCP

Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.

Official
Featured
Local
graphlit-mcp-server

graphlit-mcp-server

The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.

Official
Featured
TypeScript
Kagi MCP Server

Kagi MCP Server

An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.

Official
Featured
Python
E2B

E2B

Using MCP to run code via e2b.

Official
Featured
Neon Database

Neon Database

MCP server for interacting with Neon Management API and databases

Official
Featured
Exa Search

Exa Search

A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.

Official
Featured
Qdrant Server

Qdrant Server

This repository is an example of how to create a MCP server for Qdrant, a vector search engine.

Official
Featured