SQLite MCP Server

SQLite MCP Server

site icon
2025.04.15 3
Python数据库服务数据分析工具数据库开发效率
SQLite MCP Server 是一个基于 Python 的 MCP(Model Context Protocol)服务器,用于连接包含初创公司融资数据的 SQLite 数据库。该服务器通过 STDIO 协议与 MCP 客户端和语言模型(LLMs)通信,提供表结构作为资源、只读 SQL 查询工具以及常见数据分析任务的提示模板。
View on GitHub

Overview

基本能力

产品定位

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 语句。

使用教程

使用依赖

  1. 创建虚拟环境: bash python -m venv venv
  2. 激活虚拟环境:
  3. macOS/Linuxbash source venv/bin/activate
  4. Windowscmd venv\Scripts\activate
  5. 安装依赖: bash pip install "mcp[cli]"

安装教程

  1. 创建示例 SQLite 数据库: bash python create_db.py
  2. 运行 MCP 服务器: bash python sqlite_mcp_server.py 或使用 uvbash uv run sqlite_mcp_server.py
  3. 安装到 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。

调试方式

  1. 运行测试脚本: bash python sqlite_mcp_client_tests.py sqlite_mcp_server.py
  2. 配置日志记录: 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。

许可证

该项目遵循 MIT 开源许可条款,请参阅 MIT 了解完整条款。