返回市场
SQLite

SQLite

作者:modelcontextprotocol182 星标更新:2025-05-29

项目介绍

SQLite MCP 服务器

概述

这是一个通过 SQLite 提供数据库交互和商业智能能力的 Model Context Protocol (MCP) 服务器实现。该服务器支持运行 SQL 查询、分析业务数据,并自动生成业务洞察备忘录。

组件

资源

服务器暴露一个动态资源:

  • memo://insights:一个持续更新的业务洞察备忘录,聚合了在分析过程中发现的洞察信息
    • 当通过 append-insight 工具发现新的洞察时自动更新

提示

服务器提供了一个演示提示:

  • mcp-demo:引导用户进行数据库操作的交互式提示
    • 必需参数:topic - 需要分析的业务领域
    • 生成适当的数据库模式和示例数据
    • 引导用户完成分析和洞察生成
    • 与业务洞察备忘录集成

工具

服务器提供了六个核心工具:

查询工具

  • read_query

    • 执行 SELECT 查询以从数据库中读取数据
    • 输入:
      • query (字符串):要执行的 SELECT SQL 查询
    • 返回:作为对象数组的查询结果
  • write_query

    • 执行 INSERT、UPDATE 或 DELETE 查询
    • 输入:
      • query (字符串):SQL 修改查询
    • 返回:{ affected_rows: 数字 }
  • create_table

    • 在数据库中创建新表
    • 输入:
      • query (字符串):CREATE TABLE SQL 语句
    • 返回:确认表已创建

架构工具

  • list_tables

    • 获取数据库中所有表的列表
    • 不需要输入
    • 返回:表名数组
  • describe-table

    • 查看特定表的架构信息
    • 输入:
      • table_name (字符串):要描述的表名
    • 返回:包含列名和类型的列定义数组

分析工具

  • append_insight
    • 向备忘录资源添加新的业务洞察
    • 输入:
      • insight (字符串):从数据分析中发现的业务洞察
    • 返回:确认洞察已添加
    • 触发更新 memo://insights 资源

使用方法(Claude Desktop)

uv

# 将服务器添加到您的 claude_desktop_config.json 文件中
"mcpServers": {
  "sqlite": {
    "command": "uv",
    "args": [
      "--directory",
      "parent_of_servers_repo/servers/src/sqlite",
      "run",
      "mcp-server-sqlite",
      "--db-path",
      "~/test.db"
    ]
  }
}

Docker

# 将服务器添加到您的 claude_desktop_config.json 文件中
"mcpServers": {
  "sqlite": {
    "command": "docker",
    "args": [
      "run",
      "--rm",
      "-i",
      "-v",
      "mcp-test:/mcp",
      "mcp/sqlite",
      "--db-path",
      "/mcp/test.db"
    ]
  }
}

使用方法(VS Code)

为了快速安装,请点击以下安装按钮:

使用 UV 在 VS Code 中安装 使用 UV 在 VS Code Insiders 中安装

使用 Docker 在 VS Code 中安装 使用 Docker 在 VS Code Insiders 中安装

对于手动安装,请将以下 JSON 块添加到 VS Code 的用户设置(JSON)文件中。您可以通过按 Ctrl + Shift + P 并键入 Preferences: Open Settings (JSON) 来执行此操作。

可选地,您可以将其添加到工作区中的名为 .vscode/mcp.json 的文件中。这将允许您与其他人员共享配置。

注意:当使用 mcp.json 文件时,需要 mcp 键。

uv

{
  "mcp": {
    "inputs": [
      {
        "type": "promptString",
        "id": "db_path",
        "description": "SQLite 数据库路径",
        "default": "${workspaceFolder}/db.sqlite"
      }
    ],
    "servers": {
      "sqlite": {
        "command": "uvx",
        "args": [
          "mcp-server-sqlite",
          "--db-path",
          "${input:db_path}"
        ]
      }
    }
  }
}

Docker

{
  "mcp": {
    "inputs": [
      {
        "type": "promptString",
        "id": "db_path",
        "description": "SQLite 数据库路径(容器内)",
        "default": "/mcp/db.sqlite"
      }
    ],
    "servers": {
      "sqlite": {
        "command": "docker",
        "args": [
          "run",
          "-i",
          "--rm",
          "-v",
          "mcp-sqlite:/mcp",
          "mcp/sqlite",
          "--db-path",
          "${input:db_path}"
        ]
      }
    }
  }
}

构建

Docker:

docker build -t mcp/sqlite .

使用 MCP 检查器测试

uv add "mcp[cli]"
mcp dev src/mcp_server_sqlite/server.py:wrapper  

许可证

本 MCP 服务器采用 MIT 许可证。这意味着您可以自由地使用、修改和分发该软件,但须遵守 MIT 许可证的条款和条件。更多详情,请参阅项目存储库中的 LICENSE 文件。