使用说明
项目简介
SQLite Explorer MCP Server 是一个基于 Model Context Protocol (MCP) 构建的后端服务,它允许大型语言模型 (LLM) 安全地访问和查询 SQLite 数据库。通过预定义的工具,LLM 可以探索数据库结构、执行查询并获取数据,而无需直接操作数据库文件,保障了数据安全性和操作的规范性。
主要功能点
- 安全只读访问: 仅提供只读权限,避免 LLM 误操作修改数据库。
- 查询执行 (read_query): 允许 LLM 执行 'SELECT' 查询语句,并返回查询结果,支持参数绑定和结果行数限制,防止恶意查询和数据泄露。
- 表列表 (list_tables): 允许 LLM 获取数据库中所有表的名称列表,方便用户了解数据库包含哪些表。
- 表结构描述 (describe_table): 允许 LLM 获取指定表的详细结构信息,包括列名、数据类型、约束等,帮助 LLM 理解数据表结构。
- 查询安全验证: 对 LLM 提交的 SQL 查询进行验证和清理,防止 SQL 注入等安全风险,仅允许 'SELECT' 和 'WITH' 开头的查询语句。
安装步骤
- 克隆仓库: 将 GitHub 仓库 'https://github.com/MCP-Mirror/hannesrudolph_sqlite-explorer-fastmcp-mcp-server' 克隆到本地。
git clone https://github.com/MCP-Mirror/hannesrudolph_sqlite-explorer-fastmcp-mcp-server.git cd hannesrudolph_sqlite-explorer-fastmcp-mcp-server - 安装依赖: 使用 pip 安装项目依赖。
pip install -r requirements.txt
服务器配置
要将 SQLite Explorer MCP 服务器配置到 MCP 客户端(例如 Cline VSCode 插件),您需要提供服务器的启动命令和相关参数。以下是 Cline VSCode 插件的配置示例,其他 MCP 客户端的配置方式类似:
{ "sqlite-explorer": { // 服务器名称,可以自定义 "command": "uv", // 启动命令,这里使用 uv (或 python) "args": [ // 启动参数列表 "run", // uv run 子命令 "--with", // 使用 fastmcp 插件 "fastmcp", // fastmcp 插件名称 "run", // fastmcp run 子命令 "/path/to/repo/sqlite_explorer.py" // SQLite Explorer MCP 服务器脚本的路径,请替换为实际路径 ], "env": { // 环境变量 "SQLITE_DB_PATH": "/path/to/your/database.db" // SQLite 数据库文件路径,请替换为实际数据库文件路径 } } }
配置参数说明:
- '"sqlite-explorer"': 服务器在客户端中显示的名字,可以自定义。
- '"command"': 运行服务器的命令,通常是 'uv' (更快的 Python 启动器,推荐) 或 'python'。 确保您的环境中已安装 uv 或 python,并且在 PATH 环境变量中。
- '"args"': 传递给启动命令的参数列表。
- '"run"': 'uv run' 或 'python -m' 的子命令,用于运行 Python 脚本。
- '"--with"', '"fastmcp"': 指定使用 'fastmcp' 框架来运行 MCP 服务器。
- '"fastmcp"', '"run"': 'fastmcp' 框架的运行命令。
- '"/path/to/repo/sqlite_explorer.py"': 请务必替换为克隆到本地的 'sqlite_explorer.py' 脚本的绝对路径。 例如 '/Users/username/Projects/sqlite-explorer-fastmcp-mcp-server/sqlite_explorer.py'。
- '"env"': 设置环境变量。
- '"SQLITE_DB_PATH"': 请务必替换为您的 SQLite 数据库文件的绝对路径。 例如 '/Users/username/Documents/my_database.db'。 SQLite Explorer MCP 服务器需要通过这个环境变量找到要访问的数据库文件。
基本使用方法
- 确保 MCP 客户端(如 Cline VSCode 插件或 Claude Desktop)已正确安装并配置了 SQLite Explorer MCP 服务器。
- 在 MCP 客户端中,您应该能够看到名为 "sqlite-explorer" (或您自定义的服务器名称) 的服务器连接。
- 在 LLM 的交互界面中,您可以使用自然语言指令,指示 LLM 使用 "sqlite-explorer" 服务器提供的工具来查询 SQLite 数据库。例如:
- "列出数据库中的所有表" (LLM 可能会调用 'list_tables' 工具)
- "描述表 'users' 的结构" (LLM 可能会调用 'describe_table' 工具,参数为 'users')
- "查询 'users' 表中所有用户的姓名和邮箱" (LLM 可能会调用 'read_query' 工具,参数为相应的 SQL 查询语句)
注意: 由于是只读访问,LLM 只能执行 'SELECT' 查询,无法进行数据修改操作。
信息
分类
数据库与文件