mcpField
S
SQLite MCP Server

SQLite MCP Server

本地服务
github.com/prayanks数据库1080 周前更新

关于 SQLite MCP Server

SQLite MCP Server 是一个用 Python 编写的 SQLite 数据库 MCP 服务,适合需要通过 MCP 客户端查询数据的用户。它提供只读 SQL 查询、表结构资源和分析提示词。

主要功能

  1. 01提供表结构资源
  2. 02执行只读 SQL 查询
  3. 03仅允许 SELECT 语句
  4. 04提供数据分析提示词模板
  5. 05通过 STDIO 通信

适用场景

  1. 01查询 SQLite 数据库中的数据
  2. 02查看指定表或全部表结构
  3. 03生成表分析提示词
  4. 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 模块跟踪活动并调试错误。

设置与安装

创建示例 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 服务
  1. 将服务代码保存为 sqlite_mcp_server.py。
  2. 运行服务:
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 集成。

评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。