Normatia

AI-native platform that automates Spanish building code compliance and technical regulations for the AECO sector

🇬🇧 English | 🇪🇸 Español

Normatia

Open-source developer toolkit for Spanish building code compliance.

npm version License: MIT GitHub stars

Main site: normatia.com API docs: docs.normatia.com API base: api.normatia.com

What is Normatia?

Normatia is a building code compliance platform for Spain's AECO sector (architecture, engineering, construction, and operations). This repository contains the open-source developer toolkit: an MCP server for AI assistants, a TypeScript SDK, API usage examples, and reusable AI skills.

MCP Server

Normatia provides a remote MCP server that gives AI assistants access to Spanish building code data, location intelligence, compliance verification, and regulatory Q&A — no installation required.

https://mcp.normatia.com/mcp

Available Tools

ToolDescription
search_locationsSearch Spanish geographic locations (municipalities, provinces, autonomous communities)
search_codesSearch building codes and regulations by topic, scope, or tag
verify_complianceVerify if a technical value complies with regulations for a location
askAsk natural-language questions about Spanish building regulations

Setup

Claude

Connect Normatia to claude.ai as a custom connector. Available on Free (limited to 1 connector), Pro, Max, Team, and Enterprise plans. Currently in beta.

Free, Pro and Max plans:

  1. Navigate to Customize > Connectors
  2. Click "+" then "Add custom connector"
  3. Enter the server URL: https://mcp.normatia.com/mcp
  4. Select OAuth as authentication
  5. Click "Add"

Team and Enterprise plans (owner):

  1. Navigate to Organization settings > Connectors
  2. Click "Add" → hover "Custom" → select "Web"
  3. Enter the server URL: https://mcp.normatia.com/mcp
  4. Select OAuth as authentication
  5. Click "Add"

Once added by the owner, members connect from Customize > Connectors.

After configuration, enable Normatia per conversation via the "+" button in the lower left → "Connectors".

ChatGPT

Connect Normatia to ChatGPT as a custom MCP app. Available on Free, Plus, Pro, Business, and Enterprise/Edu plans. Currently in beta.

  1. Enable developer mode: go to Settings → Apps → Advanced Settings and toggle Developer mode
  2. Go to Settings → Apps → Create
  3. Enter the server URL: https://mcp.normatia.com/mcp
  4. Select OAuth as authentication
  5. Click Create

Once created, enable the app in any conversation via the "+" button and select Normatia.

For Business and Enterprise/Edu plans, workspace admins must configure and publish the app from Workspace Settings → Apps before members can use it.

Prerequisites

The following clients require an API key. Get one at normatia.com/es/api. Keys use the format sk-normatia-....

Claude Desktop

Add to your config (~/Library/Application Support/Claude/claude_desktop_config.json on macOS, %APPDATA%\Claude\claude_desktop_config.json on 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

Add to .vscode/mcp.json in your workspace:

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

Or add to your User Settings (JSON) for global access:

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

Cursor

Add to Cursor MCP settings (~/.cursor/mcp.json):

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

Windsurf

Add to Windsurf MCP settings:

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

Zed

Add to Zed settings (~/.config/zed/settings.json):

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

Any MCP Client

Use these connection details with any MCP-compatible client:

SettingValue
Transportstreamable-http
URLhttps://mcp.normatia.com/mcp
Auth headerAuthorization: Bearer sk-normatia-...

For full setup instructions for 30+ MCP clients, see docs.normatia.com/mcp.

Example Prompts

Once connected, try these prompts in your AI assistant:

  • "Search for municipalities named Sevilla"
  • "What climate zone is Madrid in?"
  • "What are the fire resistance requirements for residential structures?"
  • "Verify if a wall with U-value 0.35 W/m²K is compliant in Sevilla"
  • "Show me the latest version of the CTE DB-HE"

TypeScript SDK

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"

See packages/sdk-typescript/README.md for full documentation.

Examples

DirectoryDescription
examples/curlcURL examples for all main API endpoints
examples/pythonPython examples using httpx
examples/typescriptTypeScript examples using the SDK

AI Skills

The skills directory contains reusable system prompts for AI agents working with Normatia:

  • Building Codes — Expert navigation of Spanish regulations (CTE, RITE, LOE)
  • Compliance — Structured compliance verification workflows
  • Location-Aware — Geography-contextual regulatory guidance

API Overview

EndpointMethodDescription
/api/v1/location/searchGETSearch geographic locations
/api/v1/location/{geo_id}GETGet location detail + climate data
/api/v1/codes/searchGETSearch building codes
/api/v1/codes/{slug}GETGet code detail
/api/v1/codes/{slug}/versionsGETList code versions
/api/v1/codes/{slug}/versions/{version}GETGet version detail + sections
/api/v1/askPOSTAI-powered regulatory Q&A
/api/v1/verifyPOSTCompliance verification

Documentation

Full API reference and integration guides at docs.normatia.com.

Contributing

Contributions are welcome. Please read CONTRIBUTING.md before opening an issue or pull request.

License

MIT — see LICENSE.

Servidores relacionados

NotebookLM Web Importer

Importe páginas da web e vídeos do YouTube para o NotebookLM com um clique. Confiado por mais de 200.000 usuários.

Instalar extensão do Chrome