Education Data MCP Server

Proporciona acceso a la API de Datos Educativos del Urban Institute para obtener datos educativos completos.

Documentación

Education Data MCP Server

Este repositorio contiene un servidor MCP (Model Context Protocol) que proporciona acceso a la API de Datos Educativos del Urban Institute. El servidor está diseñado para usarse con Claude y facilitar el acceso a los datos educativos.

Estructura del Repositorio

  • education-data-package-r/: El paquete R original para acceder a la API de Datos Educativos (como referencia)
  • src/: El código fuente del servidor MCP
  • build/: El servidor MCP compilado

Acerca de la API de Datos Educativos

La API de Datos Educativos del Urban Institute proporciona acceso a una amplia gama de datos educativos, incluyendo:

  • Datos de matrícula escolar y de distrito
  • Datos de colegios y universidades
  • Datos de evaluaciones
  • Datos financieros
  • Y mucho más

La API está organizada por niveles (schools, school-districts, college-university), fuentes (ccd, ipeds, crdc, etc.) y temas (enrollment, directory, finance, etc.).

Características

  • Recupera datos educativos detallados mediante la herramienta get_education_data
  • Recupera datos educativos agregados mediante la herramienta get_education_data_summary
  • Explora los endpoints disponibles mediante los recursos

Instalación

  1. Clona este repositorio:

    git clone https://github.com/yourusername/edu-data-mcp-server.git
    cd edu-data-mcp-server
    
  2. Instala las dependencias:

    npm install
    
  3. Compila el servidor:

    npm run build
    
  4. Haz que el servidor esté disponible para npx:

    npm link
    

Configuración del Servidor MCP

Para usar este servidor MCP con Claude, debes agregarlo a tu archivo de configuración de ajustes de MCP.

Para la aplicación de escritorio de Claude (macOS)

Edita ~/Library/Application Support/Claude/claude_desktop_config.json:

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

Para Claude en VSCode

Edita /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": []
    }
  }
}

Herramientas Disponibles

get_education_data

Recupera datos educativos detallados de la API.

Parámetros:

  • level (obligatorio): Nivel de datos de la API a consultar (p. ej., 'schools', 'school-districts', 'college-university')
  • source (obligatorio): Fuente de datos de la API a consultar (p. ej., 'ccd', 'ipeds', 'crdc')
  • topic (obligatorio): Tema de datos de la API a consultar (p. ej., 'enrollment', 'directory')
  • subtopic (opcional): Lista de parámetros de agrupación (p. ej., ['race', 'sex'])
  • filters (opcional): Filtros de consulta (p. ej., {year: 2008, grade: [9,10,11,12]})
  • add_labels (opcional): Agregar etiquetas de variables cuando corresponda (predeterminado: false)
  • limit (opcional): Limitar el número de resultados (predeterminado: 100)

Ejemplo:

{
  "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

Recupera datos educativos agregados de la API.

Parámetros:

  • level (obligatorio): Nivel de datos de la API a consultar
  • source (obligatorio): Fuente de datos de la API a consultar
  • topic (obligatorio): Tema de datos de la API a consultar
  • subtopic (opcional): Parámetros adicionales (solo aplicables a ciertos endpoints)
  • stat (obligatorio): Estadístico de resumen a calcular (p. ej., 'sum', 'avg', 'count', 'median')
  • var (obligatorio): Variable a resumir
  • by (obligatorio): Variables para agrupar los resultados
  • filters (opcional): Filtros de consulta

Ejemplo:

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

Recursos Disponibles

El servidor proporciona recursos para explorar los endpoints disponibles:

  • edu-data://endpoints/{level}/{source}/{topic}: Información sobre un endpoint específico de datos educativos

Ejemplo de Uso con Claude

Una vez que el servidor MCP esté configurado, puedes usarlo con Claude para acceder a los datos educativos:

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

Claude puede entonces usar el servidor MCP para recuperar y analizar los datos:

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
}

Desarrollo

Para ejecutar el servidor directamente:

npm start

Para ejecutar el servidor en modo de observación durante el desarrollo:

npm run watch

Para inspeccionar las capacidades del servidor:

npm run inspector

Para ejecutar el servidor usando npx:

npx edu-data-mcp-server

Licencia

MIT