ibge br mcp
](https://www.npmjs.com/package/ibge-br-mcp) ](https://www.npmjs.com/package/ibge-br-mcp)    ](https://smithery.ai/server/sidneybissoli/ibge-br-mcp)
用于IBGE(巴西地理与统计研究所)API的MCP服务器。 🇧🇷 阅读中文
此服务器实现 模型上下文协议(MCP) 提供对巴西地理统计局公共API的访问,使人工智能助理能够查询巴西的地理、人口和统计数据。
特性
- 23种专用工具 涵盖所有主要的IBGE数据域
- 227项自动化测试 核心覆盖率超过97%
- 自动缓存 具有可配置的TTL,可实现最佳性能
- 重试机制 具有指数回退的网络弹性
- 全面验证 对于所有输入参数
- 标准化错误处理 提供有益的建议
- 完全支持TypeScript 严格打字
可用工具
地点和地理
| 工具 | 说明 |
|---|---|
ibge_estados | 列出巴西各州的地区过滤 |
ibge_municipios | 按州列出城市或按名称搜索 |
ibge_localidade | 通过IBGE代码获取地点的详细信息 |
ibge_geocodigo | 按名称解码IBGE代码或搜索代码 |
ibge_vizinhos | 查找邻近城市 |
统计数据(SIDRA)
| 工具 | 说明 |
|---|---|
ibge_sidra | 查询SIDRA表格(人口普查、全国住户抽样调查、国内生产总值等) |
ibge_sidra_tabelas | 列出并搜索可用的SIDRA表 |
ibge_sidra_metadados | 获取表元数据(变量、期间、级别) |
ibge_pesquisas | 列出IBGE研究调查及其表格 |
经济和社会指标
| 工具 | 说明 |
|---|---|
ibge_indicadores | 经济和社会指标(国内生产总值、IPCA、失业率) |
ibge_censo | 16个主题的人口普查数据(1970-2022) |
ibge_comparar | 将不同地区的指标与排名进行比较 |
市政数据(Cidades@)
| 工具 | 说明 |
|---|---|
ibge_cidades | 市政指标(人口、人类发展指数、人均国内生产总值等) |
国际数据
| 工具 | 说明 |
|---|---|
ibge_paises | 采用联合国M49方法的国家数据 |
人口统计
| 工具 | 说明 |
|---|---|
ibge_populacao | 实时巴西人口预测 |
ibge_nomes | 巴西的姓名频率和排名 |
分类
| 工具 | 说明 |
|---|---|
ibge_cnae | CNAE(国家经济活动分类) |
地图和地理网格
| 工具 | 说明 |
|---|---|
ibge_malhas | 地理网格(GeoJSON、TopoJSON、SVG) |
ibge_malhas_tema | 专题网格(生物群落、亚马孙法律、半干旱) |
外部数据(BCB和健康)
| 工具 | 说明 |
|---|---|
bcb | 中央银行数据(SELIC、IPCA、汇率) |
datasaude | 通过IBGE/DataSUS获取健康指标 |
新闻与日历
| 工具 | 说明 |
|---|---|
ibge_noticias | IBGE新闻和新闻稿 |
ibge_calendario | IBGE发布和收集日历 |
安装
先决条件
- Node.js 18.x或更高版本
- npm或纱线
来自npm(推荐)
npm install -g ibge-br-mcp来源
# Clone the repository
git clone https://github.com/SidneyBissoli/ibge-br-mcp.git
cd ibge-br-mcp
# Install dependencies
npm install
# Build the project
npm run build配置
克劳德桌面
添加到您的Claude Desktop配置文件(claude_desktop_config.json):
{
"mcpServers": {
"ibge-br-mcp": {
"command": "npx",
"args": ["ibge-br-mcp"]
}
}
}或者,如果从源代码安装:
{
"mcpServers": {
"ibge-br-mcp": {
"command": "node",
"args": ["/path/to/ibge-br-mcp/dist/index.js"]
}
}
}克劳德代码
{
"mcpServers": {
"ibge-br-mcp": {
"command": "npx",
"args": ["ibge-br-mcp"]
}
}
}工具使用示例
IBGE联合
列出巴西所有州。
# List all states
ibge_estados
# States in Northeast region
ibge_estados(regiao="NE")
# States sorted by abbreviation
ibge_estados(ordenar="sigla")伊比利亚-城市
列出巴西的城市。
# Municipalities of São Paulo state
ibge_municipios(uf="SP")
# Search municipalities by name
ibge_municipios(busca="Campinas")
# Municipalities in MG containing "Belo"
ibge_municipios(uf="MG", busca="Belo")ibge_城市
查询市政指标(类似于Cidades@portal)。
# Panorama of São Paulo
ibge_cidades(tipo="panorama", municipio="3550308")
# Population history
ibge_cidades(tipo="historico", municipio="3550308", indicador="populacao")
# List available research
ibge_cidades(tipo="pesquisas")可用指标: 人口, 面积, 密度, PIB_per_capita, IDH, 入学率, 死亡率, 平均工资, 收入, 支出
ibge_paises
查询国际国家数据。
# List all countries
ibge_paises(tipo="listar")
# Brazil details
ibge_paises(tipo="detalhes", pais="BR")
# Search countries
ibge_paises(tipo="buscar", busca="Argentina")
# Countries in Americas
ibge_paises(tipo="listar", regiao="americas")区域: 美洲、欧洲、非洲、亚洲、大洋洲
ibge_sidra
查询SIDRA表(IBGE的自动恢复系统)。
# Brazil population in 2023
ibge_sidra(tabela="6579", periodos="2023")
# Population by state
ibge_sidra(tabela="6579", nivel_territorial="3", periodos="2023")
# Census 2022 for São Paulo municipality
ibge_sidra(tabela="9514", nivel_territorial="6", localidades="3550308")常用表格:
| 代码 | 描述 |
|---|---|
| 6579 | 人口估计数(年度) |
| 9514 | 2022年人口普查 |
| 4714 | 失业率(全国住户抽样调查) |
| 6706 | 按当前价格计算的国内生产总值 |
领土级别:
| 代码 | 级别 |
|---|---|
| 1 | 巴西 |
| 2 | 地区(北部、东北部等) |
| 3 | 州(UF) |
| 6 | 市政府 |
| 7 | 大都市区 |
| 106 | 健康区域 |
| 127 | 亚马逊法律 |
| 128 | 半干旱 |
ibge_censo
查询人口普查数据(1970-2022)。
# Population Census 2022
ibge_censo(ano="2022", tema="populacao")
# Historical population series
ibge_censo(ano="todos", tema="populacao")
# Literacy by state in 2010
ibge_censo(ano="2010", tema="alfabetizacao", nivel_territorial="3")可用主题: 人口, 识字率, 住房, 年龄_性别, 宗教, 颜色_种族, 收入, 移民, 教育, 工作
IBGE指标
查询经济和社会指标。
# GDP
ibge_indicadores(indicador="pib")
# IPCA last 12 months
ibge_indicadores(indicador="ipca", periodos="last 12")
# Unemployment by state
ibge_indicadores(indicador="desemprego", nivel_territorial="3")
# List all indicators
ibge_indicadores(indicador="listar")可用指标:
| 类别 | 指标 |
|---|---|
| 经济 | 人均国内生产总值, 人均国内生产总值, 工业, 贸易, 服务 |
| 价格 | ipca、ipca_accumulado、inpc |
| 劳动 | 失业,就业,收入,非正规 |
人口,人口密度。 |农业|农业,畜牧业|
ibge_nomes
查询名称频率和排名。
# Frequency of "Maria"
ibge_nomes(tipo="frequencia", nomes="Maria")
# Compare names
ibge_nomes(tipo="frequencia", nomes="João,José,Pedro")
# Ranking of names in 2000s
ibge_nomes(tipo="ranking", decada=2000)
# Female names ranking
ibge_nomes(tipo="ranking", sexo="F")ibge_malhas
获取地理网格(地图)。
# Brazil with states
ibge_malhas(localidade="BR", resolucao="2")
# São Paulo with municipalities
ibge_malhas(localidade="SP", resolucao="5")
# Specific municipality
ibge_malhas(localidade="3550308")
# SVG format
ibge_malhas(localidade="BR", formato="svg")分辨率级别:
| 价值 | 内部划分 |
|---|---|
| 0 | 无分割(仅轮廓) |
| 2 | 州 |
| 5 | 市镇 |
苯并环丁烯
查询巴西中央银行数据。
# SELIC last 12 months
bcb(indicador="selic", ultimos=12)
# IPCA for 2023
bcb(indicador="ipca", dataInicio="01/01/2023", dataFim="31/12/2023")
# Dollar exchange rate last 30 days
bcb(indicador="dolar_venda", ultimos=30)可用指标: selic, cdi, tr, ipca, ipca_acum, igpm, inpc, 美元_买, 美元_卖, 欧元, 失业
数据仓库
通过IBGE/DataSUS查询健康指标。
# Infant mortality in Brazil
datasaude(indicador="mortalidade_infantil")
# Life expectancy by state
datasaude(indicador="esperanca_vida", nivel_territorial="3")
# List indicators
datasaude(indicador="listar")可用指标: 婴儿死亡率, 预期寿命, 活产, 死亡率, 生育率, 水卫生, 污水卫生, 健康计划
使用的API
IBGE API
- 地方:
servicodados.ibge.gov.br/api/v1/localidades - 名字:
servicodados.ibge.gov.br/api/v2/censos/nomes - 骨料/SIDRA:
servicodados.ibge.gov.br/api/v3/agregados - SIDRA API:
apisidra.ibge.gov.br/values - 网格:
servicodados.ibge.gov.br/api/v3/malhas - 新闻:
servicodados.ibge.gov.br/api/v3/noticias - 人口:
servicodados.ibge.gov.br/api/v1/projecoes/populacao - 中枢神经系统:
servicodados.ibge.gov.br/api/v2/cnae - 日历:
servicodados.ibge.gov.br/api/v3/calendario - 国家:
servicodados.ibge.gov.br/api/v1/paises - 研究:
servicodados.ibge.gov.br/api/v1/pesquisas
外部API
- 中央银行(BCB):
api.bcb.gov.br/dados/serie/bcdata.sgs-利率、汇率、通货膨胀
发展
# Build
npm run build
# Watch mode
npm run watch
# Run tests
npm test
# Run tests in watch mode
npm run test:watch
# Lint
npm run lint
# Format
npm run format
# Test with MCP inspector
npm run inspector项目结构
ibge-br-mcp/
├── src/
│ ├── index.ts # Main MCP server
│ ├── types.ts # TypeScript types
│ ├── config.ts # Configuration and constants
│ ├── cache.ts # Request caching system
│ ├── retry.ts # Retry with exponential backoff
│ ├── errors.ts # Standardized error handling
│ ├── validation.ts # Input validation helpers
│ ├── metrics.ts # Metrics and logging
│ ├── utils/
│ │ └── formatters.ts # Formatting utilities
│ └── tools/
│ ├── index.ts # Tool exports
│ ├── estados.ts # ibge_estados
│ ├── municipios.ts # ibge_municipios
│ ├── localidade.ts # ibge_localidade
│ ├── geocodigo.ts # ibge_geocodigo
│ ├── censo.ts # ibge_censo
│ ├── populacao.ts # ibge_populacao
│ ├── sidra.ts # ibge_sidra
│ ├── sidra-tabelas.ts # ibge_sidra_tabelas
│ ├── sidra-metadados.ts# ibge_sidra_metadados
│ ├── indicadores.ts # ibge_indicadores
│ ├── cnae.ts # ibge_cnae
│ ├── calendario.ts # ibge_calendario
│ ├── comparar.ts # ibge_comparar
│ ├── malhas.ts # ibge_malhas
│ ├── malhas-tema.ts # ibge_malhas_tema
│ ├── vizinhos.ts # ibge_vizinhos
│ ├── bcb.ts # bcb
│ ├── datasaude.ts # datasaude
│ ├── pesquisas.ts # ibge_pesquisas
│ ├── nomes.ts # ibge_nomes
│ ├── noticias.ts # ibge_noticias
│ ├── paises.ts # ibge_paises
│ └── cidades.ts # ibge_cidades
├── tests/ # Test files
├── dist/ # Compiled files
├── package.json
├── tsconfig.json
├── vitest.config.ts
└── README.md测试
该项目包括一个全面的测试套件,包含227个测试,涵盖:
- 验证功能
- 重试机制
- 格式化实用程序
- 错误处理
- 缓存操作
- 使用模拟的集成测试
npm test质量保证
该项目保持高代码质量标准:
- 227项自动化测试 涵盖验证、缓存、重试逻辑、格式化和集成
- 97%以上的测试覆盖率 核心模块(缓存、验证、错误、类型)
- ESLint 用于零警告的代码跳转
- 更漂亮 用于一致的代码格式
- TypeScript严格模式 用于类型安全
- 自动化CI/CD 通过GitHub操作
在本地运行测试:
# Run all tests
npm test
# Run tests with coverage
npm run test:coverage
# Run linter
npm run lint许可证
麻省理工学院
作者
西德尼·比索里
