Skip to main content
Glama

BNCC MCP

CI PyPI Python License: MIT

Servidor MCP que expõe as habilidades da Base Nacional Comum Curricular (Educação Infantil, Ensino Fundamental e Ensino Médio) com unidade temática, objeto de conhecimento e a camada de priorização do Mapa de Foco (Instituto Reúna), além das habilidades de Computação do complemento à BNCC (anexo ao Parecer CNE/CEB nº 2/2022), organizadas nos eixos Pensamento Computacional, Mundo Digital e Cultura Digital.

A BNCC (MEC) é de livre uso; o Mapa de Foco é © Instituto Reúna, sujeito a atribuição e com permissão de uso não comercial; os dados de Computação derivam de transcrição sob licença CC BY-NC-SA 4.0 — ver ATTRIBUTION.md.


Sumário


Related MCP server: Omni Skills

Acervo

Etapa

Habilidades

Enriquecimento

Ensino Fundamental

1408

100% com unidade temática + objeto de conhecimento (BNCC); eixo (Computação)

Educação Infantil

104

campos de experiência

Ensino Médio

205

área

Total

1717

Do total, 141 habilidades são de Computação (componente Computação, códigos com infixo CO, ex.: EF06CO01), oriundas do complemento à BNCC e organizadas nos eixos Pensamento Computacional, Mundo Digital e Cultura Digital (no Ensino Médio as habilidades não são divididas por eixo).

Mapa de Foco — 396 habilidades priorizadas com classificação, conhecimento prévio, objetivos de aprendizagem, competências e habilidades relacionadas e comentários:

Componente

Em foco

Língua Portuguesa

127

Matemática

123

Ciências

56

Geografia

53

História

37


Instalação

Requer Python 3.10+.

pip install bncc-mcp          # quando publicado no PyPI
# ou, a partir do código-fonte:
pip install .
# para desenvolvimento:
pip install -e .

Com uv não é preciso instalar nada antes — uvx bncc-mcp baixa e executa o pacote do PyPI sob demanda.


Configuração no Claude Code

Após instalar o pacote:

claude mcp add bncc --scope user -- python -m bncc_mcp

Ou manualmente em .mcp.json / configuração de MCP:

{
  "mcpServers": {
    "bncc": {
      "command": "python",
      "args": ["-m", "bncc_mcp"]
    }
  }
}

Usuários de uv: se você roda Python pelo uv, não há um python solto no PATH. Use uvx bncc-mcp (recomendado — dispensa instalação) ou uv run python -m bncc_mcp:

claude mcp add bncc --scope user -- uvx bncc-mcp
{
  "mcpServers": {
    "bncc": {
      "command": "uvx",
      "args": ["bncc-mcp"]
    }
  }
}

As tools aparecem como mcp__bncc__<nome> na sessão seguinte (servidores adicionados durante uma sessão não carregam retroativamente).


Tools

bncc_lookup(codigo)

Retorna o registro completo de uma habilidade pelo código.

Parâmetro

Tipo

Obrigatório

Descrição

codigo

string

sim

Código da habilidade (ex.: EF06MA01, EF01LP01, EM13LGG101). Case-insensitive.

Quando a habilidade está no Mapa de Foco, o objeto mapa_foco é incluído. Código inexistente devolve {"erro": ..., "dica": ...}.

Exemplobncc_lookup("EF06MA01"):

{
  "codigo": "EF06MA01",
  "etapa": "Ensino Fundamental",
  "componente": "Matemática",
  "ano_ou_faixa": "06",
  "campo_experiencia": "",
  "unidade_tematica": "Números",
  "objeto_conhecimento": "Sistema de numeração decimal: características, leitura, escrita e comparação de números naturais e de números racionais representados na forma decimal",
  "habilidade": "Comparar, ordenar, ler e escrever números naturais e números racionais cuja representação decimal é finita, fazendo uso da reta numérica.",
  "em_foco": true,
  "mapa_foco": {
    "classificacao": "AF",
    "conhecimento_previo": "EF05MA01, EF05MA02, EF05MA05 e EF05MA07",
    "objetivos_aprendizagem": "• Ler e escrever números naturais e números racionais decimais\n• Comparar ...",
    "competencias_relacionadas": "CG: 1 e 4",
    "habilidades_relacionadas": "EF06MA05 EF06MA12",
    "comentarios": "..."
  }
}

bncc_buscar(texto, etapa, componente, ano, apenas_em_foco, limite)

Busca habilidades por palavra-chave no enunciado/objeto/unidade (acento-insensível), com filtros opcionais. Todos os termos do texto precisam estar presentes (AND).

Parâmetro

Tipo

Padrão

Descrição

texto

string

""

Termo(s) a buscar. Vazio = só aplica filtros.

etapa

string

""

Ensino Fundamental, Educação Infantil, Ensino Médio (substring).

componente

string

""

Ex.: Matemática, Língua Portuguesa, Ciências (substring, casa também area do EM).

ano

string

""

Ver semântica do filtro de ano.

apenas_em_foco

bool

false

Restringe às habilidades do Mapa de Foco.

limite

int

30

Máximo de resultados.

Retorno: { "total": int, "exibindo": int, "resultados": [ {codigo, etapa, componente, ano, em_foco, habilidade} ] }

Exemplobncc_buscar(texto="fração", componente="Matemática", apenas_em_foco=true, limite=3):

{
  "total": 4,
  "exibindo": 3,
  "resultados": [
    {"codigo": "EF06MA07", "etapa": "Ensino Fundamental", "componente": "Matemática", "ano": "06", "em_foco": true, "habilidade": "Compreender, comparar e ordenar frações associadas às ideias de ..."}
  ]
}

bncc_listar(componente, ano, etapa, limite)

Lista as habilidades de um recorte (componente + ano), com unidade temática e objeto de conhecimento de cada uma.

Parâmetro

Tipo

Padrão

Descrição

componente

string

— (obrigatório)

Ex.: Matemática.

ano

string

""

Vazio = todos os anos do componente.

etapa

string

""

Opcional, para desambiguar.

limite

int

100

Máximo de resultados.

Retorno: { "componente", "ano", "total", "exibindo", "resultados": [ {codigo, ano, unidade_tematica, objeto_conhecimento, em_foco, habilidade} ] }


bncc_mapa_de_foco(componente, ano, limite)

Retorna as habilidades priorizadas no Mapa de Foco, com toda a camada pedagógica.

Parâmetro

Tipo

Padrão

Descrição

componente

string

""

Vazio = todos os componentes cobertos.

ano

string

""

Vazio = todos os anos.

limite

int

100

Máximo de resultados.

Retorno: { "componente", "ano", "total", "exibindo", "resultados": [ {codigo, componente, ano, unidade_tematica, objeto_conhecimento, habilidade, mapa_foco} ] }

Exemplobncc_mapa_de_foco(componente="História", ano="6", limite=1):

{
  "componente": "História",
  "ano": "6",
  "total": 23,
  "exibindo": 1,
  "resultados": [
    {
      "codigo": "EF06HI01",
      "componente": "História",
      "ano": "06",
      "unidade_tematica": "História: tempo, espaço e formas de registros",
      "objeto_conhecimento": "A questão do tempo, sincronias e diacronias: reflexões sobre o sentido das cronologias",
      "habilidade": "Identificar diferentes formas de compreensão da noção de tempo e de periodização dos processos históricos (continuidades e rupturas).",
      "mapa_foco": {
        "classificacao": "AF",
        "conhecimento_previo": "EF05HI07",
        "objetivos_aprendizagem": "• Identificar e analisar diferentes noções de tempo.\n• Construir os conceitos de sincronia e de diacronia ...",
        "competencias_relacionadas": "CG: 1 e 2\nCA: 2, 4 e 5\nCE: 2 e 6",
        "habilidades_relacionadas": "AF:\n- EF06GE11: amplia o conhecimento da AF.\n- EF06GE08: amplia o conhecimento da AF.",
        "comentarios": "Ao se trabalhar características físico-naturais da superfície terrestre ..."
      }
    }
  ]
}

Campos do mapa_foco:

Campo

Conteúdo

classificacao

Classificação da habilidade no Mapa de Foco (ex.: AF).

conhecimento_previo

Códigos de habilidades pré-requisito de anos anteriores.

objetivos_aprendizagem

Objetivos de aprendizagem desdobrados (lista com ).

competencias_relacionadas

Competências gerais (CG), de área (CA) e específicas (CE).

habilidades_relacionadas

Códigos de habilidades relacionadas.

comentarios

Comentário pedagógico / orientações de trabalho.


bncc_estatisticas()

Resumo do acervo. Sem parâmetros.

{
  "total_habilidades": 1717,
  "por_etapa": {"Ensino Fundamental": 1408, "Educação Infantil": 104, "Ensino Médio": 205},
  "em_foco_total": 396,
  "em_foco_por_componente": {"Ciências": 56, "Geografia": 53, "História": 37, "Língua Portuguesa": 127, "Matemática": 123}
}

Esquema dos registros

Campos retornados por bncc_lookup (varia conforme a etapa):

Campo

Etapas

Descrição

codigo

todas

Código da habilidade.

etapa

todas

Ensino Fundamental / Educação Infantil / Ensino Médio.

componente

EF

Componente curricular.

area

EM

Área do Ensino Médio.

ano_ou_faixa

EF/EI

Ano ('06') ou faixa ('69'); faixa etária para EI.

campo_experiencia

EI

Campo de experiência.

unidade_tematica

EF

Unidade temática (ou prática de linguagem / eixo).

eixo

Computação

Eixo da habilidade (Pensamento Computacional, Mundo Digital ou Cultura Digital); replicado em unidade_tematica.

objeto_conhecimento

EF

Objeto de conhecimento.

habilidade

todas

Enunciado da habilidade.

em_foco

todas

true se está no Mapa de Foco.

mapa_foco

em foco

Objeto com a camada pedagógica (ver acima).


Semântica do filtro de ano

O parâmetro ano aceita 6, 06 ou (a pontuação é ignorada) e segue a convenção de codificação da BNCC:

  • Ano único vem com zero à esquerda: 06 = 6º ano.

  • Faixa vem sem zero, com 1º dígito < 2º: 69 = 6º ao 9º, 15 = 1º ao 5º, 35 = 3º ao 5º, 12 = 1º e 2º.

Buscar ano="6" retorna tanto as habilidades exclusivas do 6º ano (EF06...) quanto as de faixas que incluem o 6º (EF69..., EF67...).


Procedência dos dados

Os CSVs da BNCC em data/ (bncc_habilidades.csv e bncc_em.csv) são gerados por dois scripts no diretório-pai do projeto; o de Computação (bncc_comp.csv) é obtido de fonte externa (item 3):

  1. extrair_objetos.py — extrai unidade temática + objeto de conhecimento do PDF oficial da BNCC (EI/EF), explorando o layout em spread de duas páginas e casando por coordenada vertical. Cobre 100% das 1304 habilidades EF.

  2. add_mapa_foco.py — lê a planilha unificada do Mapa de Foco (MapasDeFocoBncc_Unificados.xlsx, Instituto Reúna) e acrescenta as 7 colunas do Mapa de Foco para as 396 habilidades selecionadas.

Para regerar: rodar os dois scripts (nessa ordem) e copiar BNCC_habilidades_enriquecido.csvdata/bncc_habilidades.csv e bncc_em_habilidades.csvdata/bncc_em.csv.

  1. data/bncc_comp.csv (Computação) — obtido em computacional.com.br/bncc (Prof. Christian Brackmann / Instituto Federal Farroupilha — IFFAR, conteúdo sob licença CC BY-NC-SA 4.0), adaptado de "Computação — Complemento à BNCC", anexo ao Parecer CNE/CEB nº 2/2022 (MEC).


Limitações

  • O Mapa de Foco cobre Língua Portuguesa, Matemática, Ciências, História e Geografia do Ensino Fundamental. Para Arte, Educação Física, Língua Inglesa, Ensino Religioso, Computação, Educação Infantil e Ensino Médio, em_foco é sempre false — porque não há Mapa de Foco publicado para esses, não por lacuna do acervo.

  • Educação Infantil não tem unidade temática nem objeto de conhecimento (usa campos de experiência); esses campos ficam vazios para EI.

  • As habilidades de Computação não têm objeto de conhecimento (a norma organiza por eixos); no Ensino Médio nem o eixo é definido.


Estrutura do projeto

bncc-mcp/
├── pyproject.toml        # empacotamento; console script `bncc-mcp`
├── README.md             # este arquivo
├── LICENSE               # MIT (cobre o código)
├── ATTRIBUTION.md        # proveniência e licenças dos dados
├── CHANGELOG.md
├── bncc_mcp/
│   ├── __init__.py
│   ├── __main__.py       # `python -m bncc_mcp`
│   ├── server.py         # servidor MCP (FastMCP), 5 tools
│   └── data/
│       ├── bncc_habilidades.csv   # EI + EF, enriquecido + Mapa de Foco
│       ├── bncc_em.csv            # Ensino Médio
│       └── bncc_comp.csv          # Computação (complemento à BNCC)
└── tests/
    └── test_server.py

Licença e atribuição

  • Código: licença MIT (ver LICENSE).

  • Dados: a BNCC (MEC) é de livre uso; o Mapa de Foco é © 2020 Instituto Reúna e seu reuso exige atribuição e é restrito a fins não comerciais; os dados de Computação derivam de transcrição do Prof. Christian Brackmann (IFFAR) sob licença CC BY-NC-SA 4.0. Detalhes e forma de citar em ATTRIBUTION.md.

Dados da BNCC: Ministério da Educação (MEC). Camada de priorização: Mapas de Foco da BNCC © 2020 Instituto Reúna (institutoreuna.org.br), usados com autorização. Habilidades de Computação: complemento à BNCC (CNE/MEC), transcrição de computacional.com.br (Prof. Christian Brackmann / IFFAR, CC BY-NC-SA 4.0).

Available Tools

5 tools
bncc_buscarA

Busca habilidades por palavra-chave no enunciado (acento-insensível), com filtros opcionais por etapa, componente, ano e Mapa de Foco.

Args: texto: termo(s) a buscar no enunciado/objeto/unidade (vazio = só filtros). etapa: 'Ensino Fundamental', 'Educação Infantil', 'Ensino Médio'. componente: ex. 'Matemática', 'Língua Portuguesa', 'Ciências'. ano: ex. '6' ou '06'; casa também intervalos ('69' = 6º ao 9º). apenas_em_foco: se True, restringe às habilidades do Mapa de Foco. limite: máximo de resultados (padrão 30).

ParametersJSON Schema
NameRequiredDescriptionDefault
textoNo
etapaNo
componenteNo
anoNo
apenas_em_focoNo
limiteNo

TDQS

A3.7/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries full burden. It mentions accent-insensitive search, which adds behavioral insight, but does not explicitly state read-only nature, error handling, or rate limits. The search behavior is implicitly non-destructive, but more detail would improve transparency.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is concise with a single-line summary followed by a clean bulleted list of parameters. Every sentence adds value, and the structure is front-loaded for quick comprehension.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The description covers parameters well but does not describe the output format or return values, which is important given no output schema. For a search tool with six optional parameters, the agent might benefit from knowing the result structure (e.g., list of skill objects).

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 0%, so the description compensates by explaining each parameter's purpose, default, and allowed values (e.g., 'ano' accepts range '69'). This adds significant meaning beyond the schema titles and defaults, though some parameters like 'etapa' and 'componente' lack enumerations.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool searches for skills by keyword with accent-insensitive matching and optional filters. It uses a specific verb ('busca') and resource ('habilidades'), and the filter parameters distinguish it from siblings like bncc_listar or bncc_lookup.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description explains filter options but provides no guidance on when to use this tool versus siblings (e.g., bncc_listar, bncc_lookup). It does not state when not to use it or mention alternative tools, leaving the agent to infer the appropriate context.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

bncc_estatisticasA

Resumo do acervo: contagem de habilidades por etapa e por componente, e quantas estão no Mapa de Foco.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A4/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description should disclose behavioral traits. It describes a read-only aggregation operation (resumo, contagem), which is likely benign, but it does not explicitly state safety, auth needs, or side effects.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, clear sentence with no wasted words. It is appropriately sized for a simple tool.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given no parameters, no output schema, and no annotations, the description is fairly complete. It explains the tool's purpose and what it returns (counts). Lack of output format details is a minor gap but acceptable for this simple tool.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

There are no parameters, and schema description coverage is 100%. The description does not need to add parameter details; baseline for zero parameters is 4.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states it provides a summary of the collection, counting skills by stage and component, and how many are in the Focus Map. This is specific and distinguishes it from sibling tools like bncc_buscar (search) and bncc_listar (list).

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies usage for getting statistics but does not explicitly state when to use it versus alternatives. No exclusions or context are provided, making it adequate but not explicit.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

bncc_listarB

Lista as habilidades de um recorte (componente + ano), com a unidade temática e o objeto de conhecimento de cada uma.

Args: componente: ex. 'Matemática' (obrigatório). ano: ex. '6'; vazio = todos os anos do componente. etapa: opcional, para desambiguar. limite: máximo de resultados (padrão 100).

ParametersJSON Schema
NameRequiredDescriptionDefault
componenteYes
anoNo
etapaNo
limiteNo

TDQS

B3.3/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description must fully disclose behavioral traits. It does not mention read-only nature, authentication needs, pagination, return format, or error behavior. Only the listing action is implied, leaving significant gaps.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is relatively concise with a clear front-loaded purpose sentence, followed by structured parameter explanations. Each sentence contributes value, though the parameter block could be slightly more compact.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given no output schema and no annotations, the description lacks completeness. It explains inputs but does not describe return format, pagination behavior, ordering, or error handling. For a listing tool, this is insufficient for full contextual understanding.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, but the description adds clear semantics for all parameters: 'componente' is required with example, 'ano' can be empty for all years, 'etapa' for disambiguation, and 'limite' max results with default. This compensates well for the missing schema descriptions.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool lists skills of a component+year cut, including thematic unit and knowledge object. This verb+resource combination is specific and distinct from sibling tools like bncc_buscar (search) or bncc_estatisticas (statistics).

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides parameter examples but no explicit guidance on when to use this tool versus its siblings. It does not mention alternatives or exclusionary criteria, leaving the agent to infer usage from the definition alone.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

bncc_lookupA

Retorna o registro completo de uma habilidade da BNCC pelo código (ex.: 'EF06MA01', 'EF01LP01', 'EM13LGG101').

Inclui enunciado, etapa, componente, ano, unidade temática, objeto de conhecimento e — quando a habilidade está no Mapa de Foco — toda a camada de priorização (classificação, conhecimento prévio, objetivos de aprendizagem, competências e habilidades relacionadas, comentários).

ParametersJSON Schema
NameRequiredDescriptionDefault
codigoYes

TDQS

A4.1/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations provided, so description must cover behavior. It discloses output contents (fields, prioritization layer) but does not mention error handling, case sensitivity, or prerequisites. Adequate but incomplete for a no-annotation tool.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Concise yet informative: two sentences with examples, no fluff. Well-structured and front-loaded with purpose.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Coverage is high for a simple tool: explains output contents thoroughly. Lacks error behavior or return format, but these are minor given the single-parameter, read-only nature.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters5/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema has no description for parameter 'codigo' (0% coverage). Description compensates excellently with examples ('EF06MA01') and explains code format, adding significant meaning beyond the schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

Description clearly states tool returns full record of a BNCC skill by code, with examples and details on included fields. Distinguishes from siblings like bncc_buscar (search) and bncc_listar (list) by specifying exact code lookup.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Implies use for exact code lookup via example codes, but does not explicitly state when not to use or compare to alternatives like bncc_buscar or bncc_listar. Sibling names provide context but description lacks direct guidance.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

bncc_mapa_de_focoA

Retorna as habilidades priorizadas no Mapa de Foco da BNCC (Instituto Reúna), com toda a camada pedagógica: classificação, conhecimento prévio, objetivos de aprendizagem, competências e habilidades relacionadas e comentários.

O Mapa de Foco cobre Língua Portuguesa, Matemática, Ciências, História e Geografia (Ensino Fundamental). Não há Mapa de Foco para Arte, Educação Física, Língua Inglesa, Ensino Religioso, Educação Infantil ou Ensino Médio.

Args: componente: ex. 'Matemática'; vazio = todos os componentes cobertos. ano: ex. '6'; vazio = todos os anos. limite: máximo de resultados (padrão 100).

ParametersJSON Schema
NameRequiredDescriptionDefault
componenteNo
anoNo
limiteNo

TDQS

A4.1/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description must self-disclose behavior. It describes the tool as querying a dataset and returning prioritized skills, which implies read-only operation. However, it does not explicitly state that it is non-destructive or safe, nor does it mention any authorization or rate limits. Given the tool's nature, the description is adequate but not highly transparent.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is well-structured: first sentence states the function, second paragraph clarifies scope, and an 'Args' section explains parameters. It is concise with no redundant information, though the second paragraph could be slightly shorter.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool has 3 parameters (all optional) and no output schema, the description is fairly complete. It explains the return content (prioritized skills with pedagogical layer), parameter defaults and usage, and coverage limitations. It does not detail return format, but that is acceptable without an output schema.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0% (no property descriptions in input schema), so the description provides essential context: examples for 'componente' and 'ano', and the default value for 'limite'. This adds meaningful semantics beyond the schema's type and title fields, compensating for the lack of schema descriptions.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool returns prioritized skills from the BNCC Focus Map with pedagogical layers. It specifies the covered subjects (Língua Portuguesa, Matemática, Ciências, História, Geografia) and explicitly lists uncovered areas, distinguishing it from sibling tools like bncc_buscar or bncc_listar.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides guidance on when to use the tool by enumerating which subjects and grade levels are covered, and explicitly states what is NOT covered (e.g., Art, Physical Education). It advises that empty parameters return all items. While it doesn't name sibling tools directly, the coverage details help the agent decide if this tool is appropriate.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections. Dates show when Glama detected each change.

  1. 5 tool updatesv0.1.0
    • First observedbncc_buscar
    • First observedbncc_estatisticas
    • First observedbncc_listar
    • First observedbncc_lookup
    • First observedbncc_mapa_de_foco

TDQS

A3.9/5.0
Disambiguation5/5

Each tool targets a distinct operation: search by keyword, summary statistics, list by component/year, full record lookup by code, and the Mapa de Foco prioritized skills. No two tools overlap in purpose.

Naming Consistency4/5

All tools share the 'bncc_' prefix and use verbs or descriptive nouns, but 'lookup' is English while others are Portuguese, and 'estatisticas' is a noun rather than a verb like the rest.

Tool Count5/5

With 5 tools for a focused domain (Brazilian BNCC curriculum), the set is well-scoped, covering search, listing, stats, lookup, and a special focus map. No tool feels redundant or missing.

Completeness4/5

The surface covers key CRUD-like operations and the special Mapa de Foco, but lacks a tool for listing all components or years, which would improve completeness.

Maintenance

ActivitySlowing
ResponsivenessSyncing

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Connectors

Related MCP Servers

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/dfdb76/bncc-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server