Education Data MCP Server

Fornece acesso à API de Dados Educacionais do Urban Institute para dados educacionais abrangentes.

Documentação

Servidor MCP de Dados Educacionais

Este repositório contém um servidor MCP (Model Context Protocol) que fornece acesso à API de Dados Educacionais do Urban Institute. O servidor foi projetado para ser usado com o Claude, permitindo acesso fácil aos dados educacionais.

Estrutura do Repositório

  • education-data-package-r/: O pacote R original para acessar a API de Dados Educacionais (para referência)
  • src/: O código-fonte do servidor MCP
  • build/: O servidor MCP compilado

Sobre a API de Dados Educacionais

A API de Dados Educacionais do Urban Institute fornece acesso a uma ampla gama de dados educacionais, incluindo:

  • Dados de matrícula em escolas e distritos
  • Dados de faculdades e universidades
  • Dados de avaliação
  • Dados financeiros
  • E muito mais

A API é organizada por níveis (escolas, distritos escolares, faculdades e universidades), fontes (ccd, ipeds, crdc, etc.) e tópicos (matrícula, diretório, finanças, etc.).

Recursos

  • Recupere dados educacionais detalhados por meio da ferramenta get_education_data
  • Recupere dados educacionais agregados por meio da ferramenta get_education_data_summary
  • Navegue pelos endpoints disponíveis por meio de recursos

Instalação

  1. Clone este repositório:

    git clone https://github.com/yourusername/edu-data-mcp-server.git
    cd edu-data-mcp-server
    
  2. Instale as dependências:

    npm install
    
  3. Compile o servidor:

    npm run build
    
  4. Disponibilize o servidor para o npx:

    npm link
    

Configurando o Servidor MCP

Para usar este servidor MCP com o Claude, você precisa adicioná-lo ao arquivo de configuração de configurações do MCP.

Para o aplicativo Claude Desktop (macOS)

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

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

Para o Claude no VSCode

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

Ferramentas Disponíveis

get_education_data

Recupera dados educacionais detalhados da API.

Parâmetros:

  • level (obrigatório): Nível de dados da API a ser consultado (ex.: 'schools', 'school-districts', 'college-university')
  • source (obrigatório): Fonte de dados da API a ser consultada (ex.: 'ccd', 'ipeds', 'crdc')
  • topic (obrigatório): Tópico de dados da API a ser consultado (ex.: 'enrollment', 'directory')
  • subtopic (opcional): Lista de parâmetros de agrupamento (ex.: ['race', 'sex'])
  • filters (opcional): Filtros de consulta (ex.: {year: 2008, grade: [9,10,11,12]})
  • add_labels (opcional): Adicionar rótulos de variáveis quando aplicável (padrão: false)
  • limit (opcional): Limitar o número de resultados (padrão: 100)

Exemplo:

{
  "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 dados educacionais agregados da API.

Parâmetros:

  • level (obrigatório): Nível de dados da API a ser consultado
  • source (obrigatório): Fonte de dados da API a ser consultada
  • topic (obrigatório): Tópico de dados da API a ser consultado
  • subtopic (opcional): Parâmetros adicionais (aplicáveis apenas a determinados endpoints)
  • stat (obrigatório): Estatística de resumo a ser calculada (ex.: 'sum', 'avg', 'count', 'median')
  • var (obrigatório): Variável a ser resumida
  • by (obrigatório): Variáveis para agrupar os resultados
  • filters (opcional): Filtros de consulta

Exemplo:

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

Recursos Disponíveis

O servidor fornece recursos para navegar pelos endpoints disponíveis:

  • edu-data://endpoints/{level}/{source}/{topic}: Informações sobre um endpoint específico de dados educacionais

Exemplo de Uso com o Claude

Depois que o servidor MCP estiver configurado, você pode usá-lo com o Claude para acessar dados educacionais:

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

O Claude pode então usar o servidor MCP para recuperar e analisar os dados:

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
}

Desenvolvimento

Para executar o servidor diretamente:

npm start

Para executar o servidor em modo de observação durante o desenvolvimento:

npm run watch

Para inspecionar os recursos do servidor:

npm run inspector

Para executar o servidor usando o npx:

npx edu-data-mcp-server

Licença

MIT