SQLite MCP Server
一个基于 Model Context Protocol (MCP) 的 SQLite 数据库服务器,可以通过 npx 直接运行。
特性
- 🚀 通过
npx
一键启动,无需复杂安装
- 🗄️ 完整的 SQLite 数据库操作支持
- 🔧 基于 FastMCP 框架构建
- 📝 支持 SELECT、INSERT、UPDATE、DELETE 操作
- 🏗️ 支持表创建和结构查询
- 🔍 内置数据库表列表和描述功能
系统要求
- Node.js: >= 14.0.0 (当前检测到: v18.20.8)
- Python: >= 3.8 (当前检测到: Python 3.12.9)
- pip: 用于安装 Python 依赖
快速开始
使用 npx (推荐)
npx sqlite-mcp-server
npx sqlite-mcp-server --db_path ./my_database.db
本地安装
npm install -g sqlite-mcp-server
sqlite-mcp-server --db_path ./my_database.db
Python 依赖
本包会自动安装以下 Python 依赖:
fastmcp
(当前版本: 2.5.1)
mcp
如果自动安装失败,可以手动安装:
pip install fastmcp mcp
使用方法
命令行选项
sqlite-mcp-server [选项]
选项:
--db_path <路径> SQLite 数据库文件路径 (默认: test.db)
--help, -h 显示帮助信息
示例
npx sqlite-mcp-server
npx sqlite-mcp-server --db_path ./data/my_app.db
npx sqlite-mcp-server --db_path ":memory:"
MCP 工具
服务器提供以下 MCP 工具:
read_query
执行 SELECT 查询语句
read_query("SELECT * FROM users WHERE age > 18")
write_query
执行 INSERT、UPDATE 或 DELETE 语句
write_query("INSERT INTO users (name, age) VALUES ('张三', 25)")
write_query("UPDATE users SET age = 26 WHERE name = '张三'")
write_query("DELETE FROM users WHERE age < 18")
create_table
创建新表
create_table("CREATE TABLE users (id INTEGER PRIMARY KEY, name TEXT, age INTEGER)")
list_tables
列出数据库中的所有表
list_tables()
describe_table
获取指定表的结构信息
describe_table("users")
开发
项目结构
sqlite-mcp-server/
├── bin/
│ └── sqlite-mcp-server.js # Node.js 包装器
├── scripts/
│ └── install-python-deps.js # 依赖安装脚本
├── python/
│ ├── sqlite.py # 主要的 Python MCP 服务器
│ ├── log.py # 日志工具
│ └── requirements.txt # Python 依赖
├── package.json
└── README.md
本地开发
git clone https://github.com/yourusername/sqlite-mcp-server.git
cd sqlite-mcp-server
npm install
npm start
故障排除
Python 未找到
Error: Python not found. Please install Python 3.8 or higher.
解决方案: 安装 Python 3.8+ 并确保在 PATH 中可用。
pip 安装失败
Failed to install some Python dependencies
解决方案: 手动安装依赖:
pip install -r python/requirements.txt
权限错误
在某些系统上可能需要使用 sudo
或管理员权限:
sudo npm install -g sqlite-mcp-server
许可证
MIT License
贡献
欢迎提交 Issue 和 Pull Request!
更新日志
v1.0.0
- 初始版本
- 支持基本的 SQLite 操作
- 通过 npx 一键启动
- 自动依赖管理