sinapi-mcp
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| SINAPI_MCP_UF | No | A UF padrão das buscas (opcional). Ex.: PB. | |
| SINAPI_MCP_DADOS | No | Muda a pasta do banco (padrão: %LOCALAPPDATA%\sinapi-mcp no Windows, ~/.local/share/sinapi-mcp no Linux e no macOS). |
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tools | {
"listChanged": false
} |
| prompts | {
"listChanged": false
} |
| resources | {
"subscribe": false,
"listChanged": false
} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| bases_disponiveisA | Lista as bases de preços suportadas e o que já está baixado no banco local (UF, regime, competência). |
| atualizar_baseA | Baixa uma base do site oficial e grava no banco local. base: SINAPI, SICRO, ORSE ou SEINFRA. ufs: obrigatório no SICRO (ex.: ["PB", "PE"]); no SINAPI filtra as UFs (sem filtro entram as 27). competencia: "AAAA-MM" (na SEINFRA, a versão, ex. "028"); vazio = a mais recente publicada. O SINAPI leva cerca de um minuto; o ORSE, alguns minutos. |
| buscar_precosA | Busca serviços (composições) e insumos pela descrição ou pelo código. texto: palavras da descrição (ex.: "concreto fck 25 bombeado", "alvenaria bloco ceramico 9") ou um código. uf: sigla da UF (obrigatória para SINAPI e SICRO; padrão: variável SINAPI_MCP_UF). base: SINAPI, SICRO, ORSE ou SEINFRA; vazio = todas as que estiverem baixadas. regime: "sd" (sem desoneração) ou "cd" (com desoneração), para SINAPI e SEINFRA. competencia: "AAAA-MM"; vazio = a mais recente no banco. tipo: "composicao" ou "insumo"; vazio = os dois. |
| detalhar_itemC | Descrição completa, grupo e todos os preços guardados de um item (por UF, regime e competência), para ver a evolução do preço no tempo. |
| comparar_ufsB | O preço de um item em todas as UFs baixadas, do mais barato ao mais caro, na mesma competência e regime. |
| orcarB | Monta um orçamento rápido: código × quantidade × preço da base, com o BDI (%) sobre o custo direto. itens: [{"codigo": "103324", "quantidade": 85.4}, {"codigo": "C1234", "quantidade": 10, "base": "SEINFRA"}]. base: a base usada quando o item não diz a sua. |
| calcular_bdiA | BDI pela fórmula do Acórdão 2622/2013-TCU, comparando cada componente com as faixas do acórdão. Valores em %: ac (administração central), sg (seguro + garantia), r (risco), df (despesas financeiras), lucro, iss (alíquota efetiva sobre o faturamento), pis, cofins, cprb (4,5 no regime desonerado; senão 0). tipo_obra: edificacoes, rodovias_ferrovias, saneamento, energia, portuarias ou fornecimento. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
TDQS
Scored across 7 tools
Each tool has a recognizably distinct role: listing bases, downloading data, searching prices, detailing one item, comparing across UFs, computing BDI, and building a budget. The three price-query tools (buscar_precos, detalhar_item, comparar_ufs) sit near each other and could be confused at a glance, but the descriptions clearly separate search vs. full detail vs. cross-UF ranking.
The set is predominantly Portuguese verb_noun (atualizar_base, buscar_precos, detalhar_item, comparar_ufs, calcular_bdi), which is predictable. Minor deviations exist: bases_disponiveis is noun_adjective and orcar is a bare verb, but the convention is still readable and largely consistent.
Seven tools is well-scoped for a construction price-database workflow: one each for listing, downloading, searching, detailing, comparing, BDI, and budgeting. No tool feels redundant or trivially padded.
The surface covers the full lifecycle of getting data (atualizar_base), discovering it (bases_disponiveis, buscar_precos), inspecting it (detalhar_item, comparar_ufs), and using it (calcular_bdi, orcar). Minor gaps remain, such as exporting or saving an orçamento result and bulk item retrieval, but nothing that causes a hard dead end.