关于 sqlite-reader-mcp
sqlite-reader-mcp 是用于检查 SQLite 数据库的只读 MCP 服务,适合需要查询数据和查看表结构的客户端。它将访问限制在获准路径内,并仅允许读取查询。
主要功能
- 01执行 SELECT 和 WITH 查询
- 02列出数据库表
- 03查看表结构
- 04限制访问获准路径
- 05限制查询结果行数
适用场景
- 01检查获准 SQLite 数据库中的记录
- 02查询前查看表名
- 03检查列类型和约束
- 04在不修改数据库的情况下查询数据
MCP 相关
该 MCP 服务提供工具,用于查询获准 SQLite 数据库、列出表并查看表结构。它会拒绝 SELECT 或 WITH 以外的语句。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
暂未收录安装方式
我们还没有获取到这个服务的安装包或远程地址,请按项目 README 中的说明安装。
工具
还没有获取到工具列表
本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。
详细介绍
sqlite-reader-mcp
用于读取 SQLite 数据库的 MCP 服务。
概述
sqlite-reader-mcp 是一个轻量级 MCP 服务,提供对 SQLite 数据库的只读访问。用户可以执行 SELECT 查询、列出表并查看表结构。
功能
- 只读访问:仅允许读取操作(SELECT 查询),确保数据完整性。
- 安全路径处理:将数据库访问限制在预先批准的绝对文件路径和目录内。
- SQL 验证:解析并验证 SQL 查询,仅允许
SELECT和WITH语句,防止意外操作。 - 异步操作:使用
aiosqlite实现非阻塞数据库交互。 - 行数限制:自动限制查询返回的行数,防止获取过多数据。
- MCP 工具:
read_query:在指定的 SQLite 数据库上执行 SELECT SQL 查询。list_tables:列出指定 SQLite 数据库中的所有表。describe_table:获取指定表的结构信息(列名、类型等)。
要求
- Python 3.13+
aiosqlite >= 0.21.0fastmcp >= 2.6.1sqlparse >= 0.5.3
安装
推荐使用 uv 安装:
uv tool install git+https://github.com/abhinavnatarajan/sqlite-reader-mcp
使用方法
sqlite-reader-mcp --paths /path/to/your/database.db /path/to/another/allowed_directory
参数:
--paths(或-p):服务器允许访问的 SQLite 数据库文件或其所在目录的绝对路径列表。
服务器启动后,你可以使用 FastMCP 客户端与其交互,并使用以下工具:
read_query
在指定的 SQLite 数据库文件上执行 SELECT 查询。
- 参数:
file_path(str):SQLite 数据库文件的绝对路径。query(str):要执行的 SELECT SQL 查询。params(Optional[List[Any]]):查询的可选参数列表。fetch_all(bool):如果为True(默认值),则获取所有结果;如果为False,则获取一行。row_limit(int):返回的最大行数(默认值为 1000)。
- 返回值:字典列表,每个字典代表查询结果中的一行。
list_tables
列出指定 SQLite 数据库文件中的所有表。
- 参数:
file_path(str):SQLite 数据库文件的绝对路径。
- 返回值:表名(字符串)列表。
describe_table
提供 SQLite 数据库中指定表的详细结构信息。
- 参数:
file_path(str):SQLite 数据库文件的绝对路径。table_name(str):要描述的表名。
- 返回值:字典列表,每个字典描述一列的信息(例如名称、类型、notnull、默认值和主键状态)。
安全性
- 只读:该服务严格为只读。禁止使用
INSERT、UPDATE、DELETE或其他数据修改 SQL 命令。 - 路径白名单:访问范围仅限通过命令行参数
--paths显式提供的路径中的 SQLite 文件。路径必须是绝对路径且存在。 - 查询验证:所有 SQL 查询都会经过解析。仅允许
SELECT语句(包括使用WITH的公用表表达式)。拒绝单个查询字符串中的多条语句。自动移除末尾的分号。
开发
本项目使用 setuptools 构建。配置位于 pyproject.toml 中。
评论
支持 Markdown
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。