关于 SQLite MCP Server
SQLite MCP Server 是一个用 Python 编写的 SQLite 数据库 MCP 服务,适合需要通过 MCP 客户端查询数据的用户。它提供只读 SQL 查询、表结构资源和分析提示词。
主要功能
- 01提供表结构资源
- 02执行只读 SQL 查询
- 03仅允许 SELECT 语句
- 04提供数据分析提示词模板
- 05通过 STDIO 通信
适用场景
- 01查询 SQLite 数据库中的数据
- 02查看指定表或全部表结构
- 03生成表分析提示词
- 04说明 SQL 查询的含义
MCP 相关
该 MCP 服务通过资源提供 SQLite 表结构,以工具执行只读查询,并提供分析提示词模板;使用 STDIO 与 MCP 客户端通信。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
我们还没有获取到这个服务的安装包或远程地址,请按项目 README 中的说明安装。
工具
本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。
详细介绍
SQLite MCP 服务
此代码库包含一个用 Python 编写的 MCP(模型上下文协议)服务,可连接到包含初创公司融资数据的 SQLite 数据库。该服务将表结构作为资源公开,提供只读 SQL 查询工具,并为常见的数据分析任务提供提示词模板。它旨在与 MCP 客户端和大模型(LLM)配合使用,并通过 STDIO 协议进行通信。
目录
概述
该 MCP 服务使用 MCP Python SDK(包含 CLI 附加功能)实现了一个服务,它可以:
- 连接到 SQLite 数据库(例如,包含初创公司融资信息的数据库)。
- 将表结构作为 MCP 资源公开。
- 提供用于执行只读 SQL 查询的工具。
- 提供提示词模板,帮助大模型生成数据分析见解。
- 通过 STDIO 协议进行通信,从标准输入读取 JSON-RPC 消息,并向标准输出写入响应。
功能
-
资源
schema://sqlite/{table}:返回指定表的 SQL 结构。schema://sqlite/all:返回包含所有表结构的 JSON 映射。
-
工具
sql_query:执行只读 SQL 查询。仅允许使用SELECT语句。
-
提示词
analyze_table_prompt:为指定表生成分析提示词。describe_query_prompt:生成用于解释 SQL 查询的提示词。
-
STDIO 协议
- 从
stdin读取并向stdout写入响应,便于集成。
- 从
-
日志记录
- 使用 Python 的
logging模块跟踪活动并调试错误。
- 使用 Python 的
设置与安装
创建示例 SQLite 数据库
将以下脚本保存为 create_db.py:
<same as earlier>
运行:
python create_db.py
创建虚拟环境
python -m venv venv
激活环境:
-
macOS/Linux:
source venv/bin/activate -
Windows:
venv\Scripts\activate
安装依赖项:
pip install "mcp[cli]"
运行 MCP 服务
- 将服务代码保存为
sqlite_mcp_server.py。 - 运行服务:
python sqlite_mcp_server.py
可选(使用 uv):
uv run sqlite_mcp_server.py
安装到 Claude Desktop
将以下内容保存为 install_to_claude.py 并运行:
python install_to_claude.py
使用以下内容更新 Claude Desktop 配置:
{
"mcpServers": {
"sqlite_mcp_server": {
"command": "python",
"args": ["-u", "/absolute/path/to/sqlite_mcp_server.py"]
}
}
}
之后重启 Claude Desktop。
使用方法
- 访问资源:
schema://sqlite/all、schema://sqlite/startups - 调用工具:
SELECT * FROM startups WHERE funding_amount > 10000000; - 使用提示词:生成 SQL 或解释查询。
测试
运行测试脚本:
python sqlite_mcp_client_tests.py sqlite_mcp_server.py
此脚本会测试:
- 列出资源
- 获取表结构
- 有效和无效的查询
- 提示词模板
日志记录
修改日志配置:
logging.basicConfig(
filename='mcp_server.log',
level=logging.DEBUG,
format="[%(asctime)s] %(levelname)s - %(message)s",
datefmt="%Y-%m-%d %H:%M:%S"
)
默认情况下,日志会输出到 stderr。
许可证
本项目采用 MIT 许可证。请参阅 LICENSE 文件。
附加说明
- 根据需要调整安装/配置脚本中的路径。
- 确保在运行服务之前创建 SQLite 数据库。
- 可与 MCP Inspector 或 Claude Desktop 集成。
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。