教育数据MCP服务器

一个提供Urban Institute教育数据API访问的MCP服务器,用于检索和分析教育数据。

  • by ckz
  • JavaScript
  • 本地部署
  • 2 星标
  • 更新于
在 GitHub 查看 ckz/edu_data_mcp_server

使用说明

教育数据MCP服务器

该存储库包含一个MCP(模型上下文协议)服务器,用于访问城市研究所的教育数据API。该服务器旨在与Claude一起使用,以便轻松访问教育数据。

存储库结构

  • education-data-package-r/:用于访问教育数据API的原始R包(供参考)
  • src/:MCP服务器源代码
  • build/:编译的MCP服务器

关于教育数据API

城市研究所 教育数据API 提供对广泛教育数据的访问,包括:

  • 学校和学区入学数据
  • 学院和大学数据
  • 评估数据
  • 财务数据
  • 还有更多

API按级别(学校、学校、大学)、来源(ccd、ipeds、crdc等)和主题(招生、目录、财务等)组织。

特性

  • 通过检索详细的教育数据 get_education_data 工具
  • 通过检索汇总的教育数据 get_education_data_summary 工具
  • 通过资源浏览可用端点

安装

  1. 克隆此存储库:

    git clone https://github.com/yourusername/edu-data-mcp-server.git
    cd edu-data-mcp-server
    
  2. 安装依赖项:

    npm install
    
  3. 构建服务器:

    npm run build
    
  4. 使服务器可用于npx:

    npm link
    

配置MCP服务器

要将此MCP服务器与Claude一起使用,您需要将其添加到MCP设置配置文件中。

适用于Claude桌面应用程序(macOS)

编辑 ~/Library/Application Support/Claude/claude_desktop_config.json:

{
  "mcpServers": {
    "edu-data": {
      "command": "npx",
      "args": ["edu-data-mcp-server"],
      "disabled": false,
      "alwaysAllow": []
    }
  }
}

对于VSCode中的克劳德

编辑 /home/codespace/.vscode-remote/data/User/globalStorage/rooveterinaryinc.roo-cline/settings/cline_mcp_settings.json:

{
  "mcpServers": {
    "edu-data": {
      "command": "npx",
      "args": ["edu-data-mcp-server"],
      "disabled": false,
      "alwaysAllow": []
    }
  }
}

可用工具

获取教育数据

从API检索详细的教育数据。

参数:

  • level (必需):要查询的API数据级别(例如“学校”、“学校限制”、“大学-大学”)
  • source (必需):要查询的API数据源(例如,“ccd”、“ipeds”、“crdc”)
  • topic (必需):要查询的API数据主题(例如,“注册”、“目录”)
  • subtopic (可选):分组参数列表(例如,[“空间”、“性别”])
  • filters (可选):查询筛选器(例如,{年份:2008,年级:[9,10,11,12]})
  • add_labels (可选):在适用时添加变量标签(默认值:false)
  • limit (可选):限制结果数量(默认值:100)

例子:

{
  "level": "schools",
  "source": "ccd",
  "topic": "enrollment",
  "subtopic": ["race", "sex"],
  "filters": {
    "year": 2008,
    "grade": [9, 10, 11, 12]
  },
  "add_labels": true,
  "limit": 50
}

get_education_data_summary

从API检索聚合的教育数据。

参数:

  • level (必需):要查询的API数据级别
  • source (必需):要查询的API数据源
  • topic (必需):要查询的API数据主题
  • subtopic (可选):附加参数(仅适用于某些端点)
  • stat (必填):要计算的汇总统计数据(例如,“总和”、“平均值”、“计数”、“中位数”)
  • var (必填):待汇总的变量
  • by (必填):用于按以下方式对结果进行分组的变量
  • filters (可选):查询筛选器

例子:

{
  "level": "schools",
  "source": "ccd",
  "topic": "enrollment",
  "stat": "sum",
  "var": "enrollment",
  "by": ["fips"],
  "filters": {
    "fips": [6, 7, 8],
    "year": [2004, 2005]
  }
}

可用资源

服务器提供用于浏览可用终结点的资源:

  • edu-data://endpoints/{level}/{source}/{topic}:有关特定教育数据端点的信息

Claude使用示例

配置MCP服务器后,您可以将其与Claude一起使用以访问教育数据:

Can you show me the enrollment data for high schools in California for 2020?

然后,Claude可以使用MCP服务器检索和分析数据:

use_mcp_tool
server_name: edu-data
tool_name: get_education_data
arguments: {
  "level": "schools",
  "source": "ccd",
  "topic": "enrollment",
  "filters": {
    "year": 2020,
    "fips": 6,
    "grade": [9, 10, 11, 12]
  },
  "limit": 10
}

发展

要直接运行服务器,请执行以下操作:

npm start

在开发过程中以监视模式运行服务器:

npm run watch

要检查服务器的功能:

npm run inspector

要使用npx运行服务器,请执行以下操作:

npx edu-data-mcp-server

许可证

麻省理工学院