SQLite Explorer MCP 服务器使用说明
项目简介
SQLite Explorer MCP 服务器是一个基于 Model Context Protocol (MCP) 构建的应用后端,它允许大型语言模型 (LLM) 安全地访问和查询 SQLite 数据库。该服务器使用 FastMCP 框架开发,旨在为 LLM 提供结构化数据的探索和分析能力,同时保证数据访问的安全性。
主要功能点
- 安全只读访问: 仅提供对 SQLite 数据库的只读访问权限,防止数据被意外修改。
- SQL 查询执行: 支持 LLM 执行 'SELECT' SQL 查询语句,并进行安全验证和参数绑定,防止 SQL 注入。
- 表 listing: 允许 LLM 获取数据库中所有表的名称列表。
- 表结构描述: 提供获取指定表详细 schema 信息的功能,包括列名、数据类型、约束等。
- 结果结构化输出: 查询结果以 JSON 字典列表的形式返回,方便 LLM 理解和处理。
安装步骤
- 克隆仓库: 将 GitHub 仓库 'https://github.com/hannesrudolph/sqlite-explorer-fastmcp-mcp-server.git' 克隆到本地。
git clone https://github.com/hannesrudolph/sqlite-explorer-fastmcp-mcp-server.git cd sqlite-explorer-fastmcp-mcp-server - 安装依赖: 使用 pip 安装项目依赖。
pip install -r requirements.txt - 配置环境变量: 设置 'SQLITE_DB_PATH' 环境变量,指向您要访问的 SQLite 数据库文件的完整路径。例如:
请将 '/path/to/your/database.db' 替换为您实际的数据库文件路径。export SQLITE_DB_PATH=/path/to/your/database.db
服务器配置
要让 MCP 客户端(如 Cline VSCode 插件)连接到 SQLite Explorer MCP 服务器,您需要提供以下配置信息。以下是 Cline VSCode 插件的 MCP 设置示例,其他 MCP 客户端的配置方式类似。
{ "sqlite-explorer": { "command": "uv", "args": [ "run", "--with", "fastmcp", "--with", "uvicorn", "fastmcp", "run", "/path/to/repo/sqlite_explorer.py" ], "env": { "SQLITE_DB_PATH": "/path/to/your/database.db" } } }
配置参数说明:
- '"sqlite-explorer"': 服务器名称,客户端用于标识和调用。
- '"command": "uv"': 启动服务器的命令,这里使用 'uv' 运行器。
- '"args"': 命令参数列表。
- '"run"': 'uv' 运行命令。
- '"--with", "fastmcp"': 启用 FastMCP 框架支持。
- '"--with", "uvicorn"': 使用 Uvicorn 作为 ASGI 服务器。
- '"fastmcp", "run"': FastMCP 运行命令。
- '"/path/to/repo/sqlite_explorer.py"': 需要替换为 'sqlite_explorer.py' 文件在您本地仓库中的完整路径。
- '"env"': 环境变量配置。
- '"SQLITE_DB_PATH": "/path/to/your/database.db"': 需要替换为 您要访问的 SQLite 数据库文件的完整路径。
注意: 请务必将配置中的 '/path/to/repo/sqlite_explorer.py' 和 '/path/to/your/database.db' 替换为实际路径。
基本使用方法
成功配置并启动 SQLite Explorer MCP 服务器后,LLM 客户端可以通过以下工具与 SQLite 数据库进行交互:
- 'read_query': 执行 SQL 'SELECT' 查询。客户端可以向该工具提供 SQL 查询语句,服务器将执行查询并返回结果。
- 'list_tables': 获取数据库中的表名列表。客户端调用此工具即可获取所有表名。
- 'describe_table': 获取指定表的详细 schema 信息。客户端需要提供表名,服务器将返回该表的列名、数据类型等信息。
LLM 可以根据这些工具的功能,结合 Prompt Engineering,实现对 SQLite 数据库的智能探索和数据分析。
信息
分类
数据库与文件