Normatia

Plataforma nativa de IA que automatiza a conformidade com códigos de construção e regulamentações técnicas espanholas para o setor AECO.

Documentação

🇬🇧 English | 🇪🇸 Español

Normatia

Kit de ferramentas de desenvolvedor de código aberto para conformidade com o código de construção espanhol.

npm version License: MIT GitHub stars

Site principal: normatia.com Documentação da API: docs.normatia.com Base da API: api.normatia.com

O que é a Normatia?

A Normatia é uma plataforma de conformidade com códigos de construção para o setor AECO da Espanha (arquitetura, engenharia, construção e operações). Este repositório contém o kit de ferramentas de desenvolvedor de código aberto: um servidor MCP para assistentes de IA, um SDK TypeScript, exemplos de uso da API e habilidades de IA reutilizáveis.

Servidor MCP

A Normatia fornece um servidor MCP remoto que dá aos assistentes de IA acesso às regulamentações de construção espanholas no contexto de um projeto específico — sem necessidade de instalação.

https://mcp.normatia.com/mcp

Tudo é limitado a um projeto

O escopo regulatório da Normatia é definido por projeto: cada projeto em normatia.com carrega seu município, suas regulamentações aplicáveis (nacionais, regionais, municipais), seus documentos enviados, os fatos registrados sobre o edifício e quaisquer cálculos salvos.

Isso significa que o assistente nunca precisa perguntar pela cidade, zona climática ou qual edição do CTE se aplica — a resposta chega com esses valores já resolvidos. E um município sem projeto não tem resposta: o servidor informa isso e aponta para a criação de um, porque as ordenanças municipais diferem completamente entre câmaras municipais.

Ferramentas disponíveis

Três ferramentas, todas somente leitura. Nada na superfície do MCP grava em seus projetos.

FerramentaDescriçãoCusto
ask(query, project_id?)Faça uma pergunta em linguagem natural sobre as regulamentações que se aplicam a um projeto. A única ferramenta que retorna texto regulatório citável.1 crédito
get_project_info(project_id?)Contexto completo do projeto: localização, dados técnicos do território, regulamentações aplicáveis com sua edição atual, arquivos, documentos gerados, memória e cálculos.Grátis
list_projects()Projetos que o usuário pode consultar, com seu project_id, localização e qual está ativo.Grátis

ask executa o mesmo loop de agente do chat em normatia.com, não uma busca de disparo único: ele encadeia várias buscas, lê a memória do projeto e cálculos salvos, consulta documentos enviados e cita cada fonte com marcadores [N] validados. Como a chamada é síncrona, ela roda com orçamentos mais curtos — 6 rodadas de raciocínio, 6 buscas, 120 segundos — então defina o tempo limite de chamada de ferramenta do seu cliente para 150 segundos ou mais.

Cada ferramenta aceita um project_id opcional, resolvido como explicit project_id → the user's active project. Para perguntar sobre outro município, chame list_projects() e passe o id correspondente: vários projetos podem ser consultados na mesma conversa, e o projeto ativo do usuário no site nunca muda por baixo deles.

Configuração

Claude

Conecte a Normatia ao claude.ai como um conector personalizado. Disponível nos planos Free (limitado a 1 conector), Pro, Max, Team e Enterprise. Atualmente em beta.

Planos Free, Pro e Max:

  1. Navegue até Customize > Connectors
  2. Clique em "+" e depois em "Add custom connector"
  3. Insira a URL do servidor: https://mcp.normatia.com/mcp
  4. Selecione OAuth como autenticação
  5. Clique em "Add"

Planos Team e Enterprise (proprietário):

  1. Navegue até Organization settings > Connectors
  2. Clique em "Add" → passe o mouse sobre "Custom" → selecione "Web"
  3. Insira a URL do servidor: https://mcp.normatia.com/mcp
  4. Selecione OAuth como autenticação
  5. Clique em "Add"

Depois de adicionado pelo proprietário, os membros se conectam a partir de Customize > Connectors.

Após a configuração, habilite a Normatia por conversa via botão "+" no canto inferior esquerdo → "Connectors".

ChatGPT

Conecte a Normatia ao ChatGPT como um aplicativo MCP personalizado. Disponível nos planos Free, Plus, Pro, Business e Enterprise/Edu. Atualmente em beta.

  1. Ative o modo de desenvolvedor: vá em Settings → Apps → Advanced Settings e alterne Developer mode
  2. Vá em Settings → Apps → Create
  3. Insira a URL do servidor: https://mcp.normatia.com/mcp
  4. Selecione OAuth como autenticação
  5. Clique em Create

Depois de criado, ative o aplicativo em qualquer conversa via botão "+" e selecione Normatia.

Para planos Business e Enterprise/Edu, os administradores do workspace devem configurar e publicar o aplicativo em Workspace Settings → Apps antes que os membros possam usá-lo.

Pré-requisitos

Os seguintes clientes exigem uma chave de API. Obtenha uma em normatia.com/es/api. As chaves usam o formato sk-normatia-....

Claude Desktop

Adicione à sua configuração (~/Library/Application Support/Claude/claude_desktop_config.json no macOS, %APPDATA%\Claude\claude_desktop_config.json no Windows):

{
	"mcpServers": {
		"normatia": {
			"type": "streamable-http",
			"url": "https://mcp.normatia.com/mcp",
			"headers": {
				"Authorization": "Bearer sk-normatia-..."
			}
		}
	}
}

Claude Code

claude mcp add normatia --transport streamable-http https://mcp.normatia.com/mcp \
	-h "Authorization: Bearer sk-normatia-..."

VS Code / GitHub Copilot

Adicione a .vscode/mcp.json no seu workspace:

{
	"servers": {
		"normatia": {
			"type": "streamable-http",
			"url": "https://mcp.normatia.com/mcp",
			"headers": {
				"Authorization": "Bearer sk-normatia-..."
			}
		}
	}
}

Ou adicione às suas User Settings (JSON) para acesso global:

{
	"mcp": {
		"servers": {
			"normatia": {
				"type": "streamable-http",
				"url": "https://mcp.normatia.com/mcp",
				"headers": {
					"Authorization": "Bearer sk-normatia-..."
				}
			}
		}
	}
}

Cursor

Adicione às configurações MCP do Cursor (~/.cursor/mcp.json):

{
	"mcpServers": {
		"normatia": {
			"type": "streamable-http",
			"url": "https://mcp.normatia.com/mcp",
			"headers": {
				"Authorization": "Bearer sk-normatia-..."
			}
		}
	}
}

Windsurf

Adicione às configurações MCP do Windsurf:

{
	"mcpServers": {
		"normatia": {
			"type": "streamable-http",
			"url": "https://mcp.normatia.com/mcp",
			"headers": {
				"Authorization": "Bearer sk-normatia-..."
			}
		}
	}
}

Zed

Adicione às configurações do Zed (~/.config/zed/settings.json):

{
	"context_servers": {
		"normatia": {
			"transport": "streamable-http",
			"url": "https://mcp.normatia.com/mcp",
			"headers": {
				"Authorization": "Bearer sk-normatia-..."
			}
		}
	}
}

Qualquer Cliente MCP

Use estes detalhes de conexão com qualquer cliente compatível com MCP:

ConfiguraçãoValor
Transportestreamable-http
URLhttps://mcp.normatia.com/mcp
Cabeçalho de autenticaçãoAuthorization: Bearer sk-normatia-...

Para instruções completas de configuração para mais de 30 clientes MCP, veja docs.normatia.com/mcp.

Exemplos de Prompts

Depois de conectado, experimente estes prompts no seu assistente de IA:

  • "Quais regulamentações estão ativas no meu projeto e qual edição de cada uma?"
  • "Qual é o valor U máximo de janela que posso usar no meu projeto?"
  • "Revise o cronograma de carpintaria anexado e me diga se os valores estão em conformidade"
  • "Qual altura livre mínima a ordenança municipal exige no projeto de Sevilla?"
  • "Compare os requisitos de acessibilidade do meu projeto de Madrid com o de Bilbao"
  • "O que o código diz sobre ventilação de garagem, dados os cálculos que já salvei?"

SDK TypeScript

npm install normatia
import { NormatiaClient } from 'normatia';

const client = new NormatiaClient({ apiKey: 'sk-normatia-...' });
const location = await client.getLocation('ES-41091');
console.log(location.tech_data.climate_zone); // "B4"

Veja packages/sdk-typescript/README.md para documentação completa.

Exemplos

DiretórioDescrição
examples/curlExemplos de cURL para todos os principais endpoints da API
examples/pythonExemplos em Python usando httpx
examples/typescriptExemplos em TypeScript usando o SDK

Habilidades de IA

O diretório skills contém prompts de sistema reutilizáveis para agentes de IA que trabalham com a Normatia:

  • Building Codes — Navegação especializada em regulamentações espanholas (CTE, RITE, LOE)
  • Compliance — Fluxos de trabalho estruturados de verificação de conformidade
  • Location-Aware — Orientação regulatória com contexto geográfico

Visão Geral da API

EndpointMétodoDescrição
/api/v1/location/searchGETBuscar localizações geográficas
/api/v1/location/{geo_id}GETObter detalhes da localização + dados climáticos
/api/v1/codes/searchGETBuscar códigos de construção
/api/v1/codes/{slug}GETObter detalhes do código
/api/v1/codes/{slug}/versionsGETListar versões do código
/api/v1/codes/{slug}/versions/{version}GETObter detalhes da versão + seções
/api/v1/projectsGETListar os projetos que o usuário pode consultar
/api/v1/project/infoGETContexto completo de um projeto
/api/v2/askPOSTPerguntas e respostas regulatórias agênticas sobre um projeto
/api/v1/verifyPOSTVerificação de conformidade

POST /api/v1/ask (o antigo endpoint RAG de disparo único) está congelado e oculto do esquema público. Ele ainda funciona para integrações existentes, mas novas devem usar /api/v2/ask.

Documentação

Referência completa da API e guias de integração em docs.normatia.com.

Contribuindo

Contribuições são bem-vindas. Por favor, leia CONTRIBUTING.md antes de abrir uma issue ou pull request.

Licença

MIT — veja LICENSE.