项目简介

'mcp-cps-data' 是一个 MCP 服务器,旨在向大型语言模型(LLM)客户端提供芝加哥公立学校的相关数据。它集成了本地 SQLite 数据库和 LanceDB 向量数据库,通过预定义的工具,使得 LLM 能够查询学校的基本信息、社区信息以及学校网站上的内容。

主要功能点

  • 数据访问工具: 提供了两个核心工具,允许 LLM 客户端查询和检索芝加哥公立学校的数据:

    • 'query_schools_and_neighborhoods': 允许执行 SQL 查询,从包含学校和社区信息的 SQLite 数据库中检索数据。
    • 'query_school_websites': 允许根据问题和学校名称(可选)查询 LanceDB 向量数据库,检索学校网站上的相关上下文信息,用于回答用户提出的问题。
  • 本地数据库支持: 利用本地 SQLite 数据库存储学校和社区信息,以及 LanceDB 向量数据库存储学校网站内容的嵌入向量,保证了数据访问的效率和隐私性。

安装步骤

  1. 获取代码: 从 GitHub 仓库 MCP-Mirror/mdagost_mcp-cps-data 克隆或下载项目代码到本地。

  2. 获取数据库文件: 此项目依赖于 'cps-childcare' 项目 (https://github.com/mdagost/cps-childcare) 生成的 SQLite 数据库 ('cps_crawler.db') 和 LanceDB 数据库 ('embeddings.lancedb')。 你需要从该项目获取这两个数据库文件,并放置在你本地的合适位置。请注意,本仓库本身不包含数据库文件,需要额外获取。

  3. 安装 Python 依赖: 虽然仓库中没有明确的 'requirements.txt' 文件,但根据代码内容,你可能需要安装以下 Python 库。建议使用 'pip' 安装:

    pip install mcp-server sqlite3 lancedb sentence-transformers

    如果运行中遇到其他依赖问题,请根据错误提示安装相应的库。

服务器配置

为了让 MCP 客户端(例如 Claude)连接到此 MCP 服务器,你需要在客户端的配置文件中添加服务器配置信息。 以 Claude Desktop 为例,你需要编辑 'claude_desktop_config.json' 文件,根据你的操作系统,该文件通常位于:

  • MacOS: '~/Library/Application\ Support/Claude/claude_desktop_config.json'
  • Windows: '%APPDATA%/Claude/claude_desktop_config.json'

在 'claude_desktop_config.json' 文件中的 '"mcpServers"' 部分添加如下配置 (如果 'mcpServers' 部分不存在,请创建它):

  "mcpServers": {
    "mcp-cps-data": {
      "command": "uv",
      "args": [
        "--directory",
        "/path/to/mcp-cps-data",  // 替换为你的 mcp-cps-data 项目代码的本地路径
        "run",
        "mcp-cps-data",
        "--sqlite-path",
        "/path/to/cps_crawler.db", // 替换为你的 cps_crawler.db 数据库文件的本地路径
        "--lancedb-path",
        "/path/to/embeddings.lancedb" // 替换为你的 embeddings.lancedb 数据库文件的本地路径
      ]
    }
  }

配置参数说明:

  • '"mcp-cps-data"': 服务器名称,客户端用此名称识别服务器。
  • '"command": "uv"': 启动服务器的命令,这里使用 'uv' (假设你已安装 'uv',也可以替换为 'python -m' 或 'python3 -m',如果使用 'python -m' 或 'python3 -m',则 '--directory' 参数应去除)。
  • '"args"': 传递给启动命令的参数列表。
    • '"--directory", "/path/to/mcp-cps-data"': 指定 MCP 服务器代码所在的目录。 请替换为你的 'mcp-cps-data' 项目的实际本地路径。
    • '"run", "mcp-cps-data"': 使用 'uv run' 命令运行 'mcp-cps-data' 包。
    • '"--sqlite-path", "/path/to/cps_crawler.db"': 指定 SQLite 数据库文件的路径。 请替换为你的 'cps_crawler.db' 文件的实际本地路径。
    • '"--lancedb-path", "/path/to/embeddings.lancedb"': 指定 LanceDB 数据库文件的路径。 请替换为你的 'embeddings.lancedb' 文件的实际本地路径。

请务必将配置中的路径替换为你本地的实际路径。

基本使用方法

  1. 启动 MCP 服务器: 配置完成后,当 MCP 客户端(如 Claude)启动时,它应该能够自动连接到你配置的 'mcp-cps-data' 服务器。 如果使用 Claude Desktop,通常在配置完成后重启 Claude Desktop 即可。

  2. 在 MCP 客户端中使用工具: 在客户端中,你可以指示 LLM 使用服务器提供的工具来查询芝加哥公立学校的数据。 例如,你可以指示 Claude 使用 'query_schools_and_neighborhoods' 工具来查询特定学校的信息,或者使用 'query_school_websites' 工具来查找与某个问题相关的学校网站内容。 具体的工具调用方式取决于 MCP 客户端的功能和界面。 请参考你使用的 MCP 客户端的文档来了解如何调用和使用 MCP 服务器提供的工具。

调试: 如果遇到问题,可以使用 MCP Inspector 工具进行调试,具体方法参考仓库 README 中的 MCP Inspector 部分。

信息

分类

数据库与文件