Observatório BR

Indicadores econômicos oficiais do Brasil (IBGE, Banco Central, Tesouro) com fonte e período.

Should I use this

Quality & Safety

B
Description quality
86%
Schema completeness
82%
Naming quality
99%
Poisoning risk
60%
Permission match
100%
Protocol compliance
100%

Findings (9)

  • HIGHTool poisoning patterns detected
  • MEDIUMTool 'search' description contains placeholder textin search
  • MEDIUMTool 'get_methodology' description contains placeholder textin get_methodology
  • LOWTool 'get_concept' description lacks action verbin get_concept
  • LOWTool 'get_indicator_latest' description lacks action verbin get_indicator_latest
  • LOWTool 'get_daily_post' description lacks action verbin get_daily_post
  • LOWTool 'get_bulletin' description lacks action verbin get_bulletin
  • INFOTool description contains placeholder or incomplete textin search
  • INFOTool description contains placeholder or incomplete textin get_methodology

Based on automated analysis of tool definitions and protocol compliance.

Context Cost

~3,610Tokens (tool definitions)
~633 BTypical response size
Significant attention impact (2.82% of 128k context)

This is the approximate number of tokens consumed each time the server's tools are loaded into a model's context. Higher counts reduce the attention available for other tasks.

Install

One-Click Install

Add this to your `claude_desktop_config.json` file:

{
  "mcpServers": {
    "observatorio-br": {
      "url": "https://observatoriobr.com.br/api/mcp"
    }
  }
}

Remote endpoints

https://observatoriobr.com.br/api/mcpstreamable-http

What it can do

Tool inventory

Tools (21)

🟢 Read-only🟡 Write🔴 Delete⚪ Unknown
🟢list_crises

Lista o catálogo curado de crises econômicas, brasileiras e globais, com anos de início e fim, abrangência e resumo. Útil para contextualizar quedas nas séries.

Input Schema

{
  "type": "object",
  "properties": {}
}
🟢search(q, page, pageSize)

Busca em português, sem diferenciar acentos, nos boletins, pílulas, glossário de conceitos e artigos de metodologia, e casa os painéis de indicador pelo nome. Os painéis vêm em indicators (só na página 1); o conteúdo vem paginado em content.

Input Schema

{
  "type": "object",
  "properties": {
    "q": {
      "description": "Texto da busca, de 2 a 200 caracteres, ex. \"hiato do produto\".",
      "type": "string"
    },
    "page": {
      "description": "Página, a partir de 1. Padrão 1.",
      "type": "integer",
      "default": 1
    },
    "pageSize": {
      "description": "Itens por página, de 1 a 20. Padrão 10.",
      "type": "integer",
      "default": 10
    }
  },
  "required": [
    "q"
  ]
}
🟢get_concept(slug)

Devolve a definição de um conceito econômico do glossário, ex. "hiato do produto", "núcleo de inflação", com os indicadores relacionados.

Input Schema

{
  "type": "object",
  "properties": {
    "slug": {
      "description": "Slug do verbete, ex. \"juro-real\".",
      "type": "string"
    }
  },
  "required": [
    "slug"
  ]
}
🟢list_daily_posts(indicatorCode, page, pageSize)

Lista as pílulas publicadas, posts curtos e diários sobre UM indicador, da mais recente para a mais antiga, com slug, título e resumo. indicatorCode restringe a lista ao que o site já escreveu sobre um indicador.

Input Schema

{
  "type": "object",
  "properties": {
    "indicatorCode": {
      "description": "Code do indicador, ex. \"ipca\". Opcional.",
      "type": [
        "string",
        "null"
      ],
      "default": null
    },
    "page": {
      "description": "Página, a partir de 1. Padrão 1.",
      "type": "integer",
      "default": 1
    },
    "pageSize": {
      "description": "Itens por página, de 1 a 20. Padrão 10.",
      "type": "integer",
      "default": 10
    }
  }
}
🟢get_indicator_latest(code)

Devolve o último valor disponível de um indicador, o valor anterior e a diferença entre eles, com período, unidade e fonte. A janela de busca se ajusta à periodicidade, para tolerar a defasagem de divulgação das séries anuais. dataStatus "defasado" indica que o último valor é mais velho que o esperado para a periodicidade.

Input Schema

{
  "type": "object",
  "properties": {
    "code": {
      "description": "Code do indicador, ex. \"ipca\".",
      "type": "string"
    }
  },
  "required": [
    "code"
  ]
}
🟢get_methodology(slug)

Devolve o texto completo de um artigo de metodologia: fórmulas, fontes, simplificações e limitações de um indicador ou modelo.

Input Schema

{
  "type": "object",
  "properties": {
    "slug": {
      "description": "Slug do artigo, ex. \"regra-de-taylor\".",
      "type": "string"
    }
  },
  "required": [
    "slug"
  ]
}
🟢get_daily_post(slug)

Devolve o texto completo de uma pílula publicada. Sem slug, devolve a mais recente. conceptSlug, quando presente, é o slug de um verbete do glossário.

Input Schema

{
  "type": "object",
  "properties": {
    "slug": {
      "description": "Slug da pílula. Opcional.",
      "type": [
        "string",
        "null"
      ],
      "default": null
    }
  }
}
🟢get_panorama(sectionId)

Sem sectionId, lista as seções do panorama (fiscal, setor externo, investimento, produtividade, social) com o último valor de cada indicador. Com sectionId, devolve a seção com as séries, até 240 pontos por indicador, incluindo mínimo, máximo e média do período inteiro.

Input Schema

{
  "type": "object",
  "properties": {
    "sectionId": {
      "description": "Id da seção, vindo da listagem sem sectionId. Opcional.",
      "type": [
        "string",
        "null"
      ],
      "default": null
    }
  }
}
🟢get_pillars

Devolve sete perguntas sobre a economia brasileira, como crescimento, inflação, emprego e contas públicas, cada uma com os indicadores que a respondem: último valor, variação, período e a direção considerada favorável.

Input Schema

{
  "type": "object",
  "properties": {}
}
🟢list_concepts(category)

Lista os verbetes do glossário de conceitos econômicos, com slug, categoria e os indicadores relacionados.

Input Schema

{
  "type": "object",
  "properties": {
    "category": {
      "description": "Filtra pela categoria exata do verbete. Opcional.",
      "type": [
        "string",
        "null"
      ],
      "default": null
    }
  }
}
🟢get_recession_thermometer(historyDays)

Devolve o termômetro de risco de recessão do Observatório: nível geral (favoravel, atencao ou adverso), a manchete e três dimensões, a saber estado atual, momentum e pressão à frente. Cada componente traz valor, período e a regra determinística aplicada. Opcionalmente inclui o histórico diário dos níveis.

Input Schema

{
  "type": "object",
  "properties": {
    "historyDays": {
      "description": "Dias de histórico diário a incluir, de 0 a 365. Padrão 0, sem histórico.",
      "type": "integer",
      "default": 0
    }
  }
}
🟢get_indicator_series(code, from, to, maxPoints)

Devolve a série temporal de um indicador (pontos period/value). Sem from/to, traz os últimos 5 anos. Séries longas são reduzidas a maxPoints pontos espaçados, sempre preservando o mais recente. Só vêm pontos dentro da janela; se a fonte começa depois do from pedido, note informa a partir de quando há dados. dataStatus indica se o dado é atual: "ok", "sem-dados" ou "defasado"; fora de ok, note traz a explicação.

Input Schema

{
  "type": "object",
  "properties": {
    "code": {
      "description": "Code do indicador, ex. \"ipca\", \"selic\", \"desemprego\".",
      "type": "string"
    },
    "from": {
      "description": "Início no formato YYYYMM, ex. \"202001\". Opcional.",
      "type": [
        "string",
        "null"
      ],
      "default": null
    },
    "to": {
      "description": "Fim no formato YYYYMM. Opcional; padrão é hoje.",
      "type": [
        "string",
        "null"
      ],
      "default": null
    },
    "maxPoints": {
      "description": "Máximo de pontos devolvidos, entre 2 e 600. Padrão 120.",
      "type": "integer",
      "default": 120
    }
  },
  "required": [
    "code"
  ]
}
🟢get_bulletin(slug)

Devolve o texto completo de uma edição publicada do Boletim Semanal, que é análise editorial do site. Sem slug, devolve a edição mais recente.

Input Schema

{
  "type": "object",
  "properties": {
    "slug": {
      "description": "Slug da edição. Opcional.",
      "type": [
        "string",
        "null"
      ],
      "default": null
    }
  }
}
🟢list_bulletins(page, pageSize)

Lista as edições publicadas do Boletim Semanal, da mais recente para a mais antiga, com slug, título, data de referência e resumo.

Input Schema

{
  "type": "object",
  "properties": {
    "page": {
      "description": "Página, a partir de 1. Padrão 1.",
      "type": "integer",
      "default": 1
    },
    "pageSize": {
      "description": "Itens por página, de 1 a 20. Padrão 10.",
      "type": "integer",
      "default": 10
    }
  }
}
🟢get_territory_profile(territoryId, year)

Devolve os 10 indicadores-chave de um território num ano: PIB, PIB per capita, população, inflação, juros, desemprego, dívida, investimento, exportações e arrecadação. O campo natureza diz se o número é Observado, Estimado ou Indisponivel; card Indisponivel vem sem valor, porque não há fonte oficial por território. Inclui as próximas divulgações oficiais.

Input Schema

{
  "type": "object",
  "properties": {
    "territoryId": {
      "description": "Id do território: \"br\", uma região (ex. \"sul\") ou a sigla da UF em minúsculas (ex. \"sc\").",
      "type": "string"
    },
    "year": {
      "description": "Ano de referência, ex. 2023. Opcional; padrão é o mais recente com dado.",
      "type": [
        "integer",
        "null"
      ],
      "default": null
    }
  },
  "required": [
    "territoryId"
  ]
}
🟢compare_indicators(codes, from, to, maxPoints)

Alinha de 2 a 6 séries pelo período para comparação lado a lado. Só aceita indicadores com hasSeries=true. Valores ausentes num período vêm como null. As unidades e periodicidades de cada série vêm em units e frequencies; warning informa quando alguma série começa depois do from pedido. dataStatus traz, por code, "ok", "sem-dados" ou "defasado".

Input Schema

{
  "type": "object",
  "properties": {
    "codes": {
      "description": "Lista de 2 a 6 codes, ex. [\"ipca\", \"selic\"].",
      "type": "array",
      "items": {
        "type": "string"
      }
    },
    "from": {
      "description": "Início no formato YYYYMM. Opcional.",
      "type": [
        "string",
        "null"
      ],
      "default": null
    },
    "to": {
      "description": "Fim no formato YYYYMM. Opcional.",
      "type": [
        "string",
        "null"
      ],
      "default": null
    },
    "maxPoints": {
      "description": "Máximo de períodos devolvidos, entre 2 e 600. Padrão 120.",
      "type": "integer",
      "default": 120
    }
  },
  "required": [
    "codes"
  ]
}
🟢get_indicator_details(code, from, to)

Devolve o payload rico do painel de um indicador (KPIs, aberturas, resultados de modelo), o mesmo de /api/v2/indicators/{code}/full, em payload. Só para indicadores com hasDetails=true. Acima de 40 mil caracteres, payload vem nulo e payloadPreview traz o início do JSON.

Input Schema

{
  "type": "object",
  "properties": {
    "code": {
      "description": "Code do indicador, ex. \"ipca\", \"taylor\", \"modelo-bc\".",
      "type": "string"
    },
    "from": {
      "description": "Início no formato YYYYMM. Opcional.",
      "type": [
        "string",
        "null"
      ],
      "default": null
    },
    "to": {
      "description": "Fim no formato YYYYMM. Opcional.",
      "type": [
        "string",
        "null"
      ],
      "default": null
    }
  },
  "required": [
    "code"
  ]
}
🟢get_release_calendar(from, to)

Lista as divulgações oficiais agendadas, como IPCA, PIB, PNAD e decisões do Copom, com data e hora em UTC, mais o Boletim Focus de toda segunda-feira. Sem datas, cobre de hoje até 30 dias à frente.

Input Schema

{
  "type": "object",
  "properties": {
    "from": {
      "description": "Data inicial no formato YYYY-MM-DD. Opcional; padrão é hoje.",
      "type": [
        "string",
        "null"
      ],
      "default": null
    },
    "to": {
      "description": "Data final no formato YYYY-MM-DD, até 120 dias após a inicial. Opcional.",
      "type": [
        "string",
        "null"
      ],
      "default": null
    }
  }
}
🟢list_indicators(category, query)

Lista os indicadores econômicos do Observatório BR com code, título, categoria, fonte, periodicidade e unidade. hasSeries=true indica que o indicador tem série temporal própria; hasDetails=true indica que há payload detalhado do painel.

Input Schema

{
  "type": "object",
  "properties": {
    "category": {
      "description": "Filtra pela categoria exata, ex. \"Inflação\", \"Fiscal\", \"Modelos\". Opcional.",
      "type": [
        "string",
        "null"
      ],
      "default": null
    },
    "query": {
      "description": "Filtra por trecho do code ou do título, sem diferenciar maiúsculas. Opcional.",
      "type": [
        "string",
        "null"
      ],
      "default": null
    }
  }
}
🟢list_methodology

Lista os artigos técnicos que explicam como os indicadores e modelos do Observatório são calculados, com slug e resumo.

Input Schema

{
  "type": "object",
  "properties": {}
}
🟢list_territories

Lista os 33 territórios do Observatório (Brasil, 5 regiões e 27 UFs) com id, PIB em R$ bilhões, PIB per capita, população em milhões e crescimento do último ano disponível.

Input Schema

{
  "type": "object",
  "properties": {}
}

Community

Rate this Server

Evidence

Recent observations

verifiedversion not recorded21 tools