基本能力
产品定位
SQLite MCP Server 是一个数据库服务工具,旨在为 MCP 客户端和语言模型提供 SQLite 数据库的访问和分析能力。
核心功能
- 数据库连接:连接到 SQLite 数据库(如包含初创公司融资信息的数据库)。
- 资源暴露:将表结构作为 MCP 资源暴露。
schema://sqlite/{table}
:返回特定表的 SQL 结构。schema://sqlite/all
:返回所有表结构的 JSON 映射。- 工具提供:
sql_query
:执行只读 SQL 查询(仅允许SELECT
语句)。- 提示模板:
analyze_table_prompt
:为特定表生成分析提示。describe_query_prompt
:生成解释 SQL 查询的提示。- 通信协议:通过 STDIO 协议通信,从标准输入读取 JSON-RPC 消息并将响应写入标准输出。
- 日志记录:使用 Python 的
logging
模块跟踪活动和调试错误。
适用场景
- 数据分析:通过 SQL 查询和提示模板生成数据分析见解。
- 开发集成:与 MCP 客户端或语言模型(如 Claude Desktop)集成。
- 数据库管理:快速访问和查询 SQLite 数据库的结构和数据。
工具列表
sql_query
:执行只读 SQL 查询的工具。analyze_table_prompt
:生成表分析提示的工具。describe_query_prompt
:生成 SQL 查询解释提示的工具。
常见问题解答
- 如何安装? 参考安装教程部分。
- 如何调试? 使用日志记录功能或运行测试脚本。
- 支持哪些 SQL 语句? 仅支持
SELECT
语句。
使用教程
使用依赖
- 创建虚拟环境:
bash
python -m venv venv - 激活虚拟环境:
- macOS/Linux:
bash
source venv/bin/activate - Windows:
cmd
venv\Scripts\activate - 安装依赖:
bash
pip install "mcp[cli]"
安装教程
- 创建示例 SQLite 数据库:
bash
python create_db.py - 运行 MCP 服务器:
bash
python sqlite_mcp_server.py
或使用uv
:
bash
uv run sqlite_mcp_server.py - 安装到 Claude Desktop:
bash
python install_to_claude.py
并更新 Claude Desktop 配置:
json
{
"mcpServers": {
"sqlite_mcp_server": {
"command": "python",
"args": ["-u", "/absolute/path/to/sqlite_mcp_server.py"]
}
}
}
然后重启 Claude Desktop。
调试方式
- 运行测试脚本:
bash
python sqlite_mcp_client_tests.py sqlite_mcp_server.py - 配置日志记录:
python
logging.basicConfig(
filename='mcp_server.log',
level=logging.DEBUG,
format="[%(asctime)s] %(levelname)s - %(message)s",
datefmt="%Y-%m-%d %H:%M:%S"
)
日志默认输出到 stderr。