MCP Server

Inyección de contexto normativo para agentes IA.

Configura el MCP Server de Normatia en dos minutos. Tus agentes leen las parcelas con sus afecciones y su planeamiento, los datos técnicos de cada municipio, el texto de la normativa y el contexto de tus proyectos, y preguntan al mismo motor agéntico que el chat de Normatia, con la fuente de cada valor.

.mcp.json · Claude Code

{

"mcpServers": {

"normatia": {

"type": "http",

"url": "https://mcp.normatia.com/mcp/",

"headers": {

"Authorization": "Bearer sk-normatia-..."

}

}

}

}

// Sin la cabecera, el cliente abre el navegador (OAuth 2.0)

// 11 herramientas, entre ellas:

▸ get_parcel · get_place · read_regulation_section · ask

Datos primero, de solo lectura

Diez de las once herramientas solo leen: parcelas, municipios, normativa, proyectos y consumo, sin gastar consultas. La única que escribe es ask, que guarda su conversación. Ninguna genera documentos ni toca la configuración de tus proyectos.

Motor agéntico, no una búsqueda

ask ejecuta el mismo bucle agéntico que el chat de Normatia: encadena varias búsquedas con enfoques distintos, lee la memoria y los cálculos guardados de la obra, consulta tus documentos subidos y valida cada cita contra el artículo del que sale. Gasta una consulta del mes.

Varios proyectos, cualquier municipio

ask acepta un project_id: tu agente compara la normativa de Madrid y la de Bilbao en la misma conversación sin pedirte que cambies el proyecto activo en la web. Y con place o parcel pregunta por un municipio o una parcela donde no tienes proyecto.

Compatible con

Claude

Claude

Anthropic

ChatGPT

ChatGPT

OpenAI

Gemini CLI

Gemini CLI

Google

VS Code Copilot

VS Code Copilot

Microsoft

Antigravity

Antigravity

Google

Kiro

Kiro

Amazon

OpenCode

OpenCode

OpenCode

+ cualquier cliente MCP que se conecte por HTTP (Streamable HTTP)

Tools expuestas

El knowledge base normativo como herramientas de agente.

Parcelas

get_parcel (ref, include?)

find_parcel (lat, lon | address)

La parcela por su referencia catastral, por un punto o por su dirección: superficie, clase de suelo, direcciones, sus afecciones capa a capa (costas, carreteras, inundabilidad, patrimonio…) y su zona de planeamiento con sus parámetros. Una capa sin datos sale como «sin datos», nunca como «no afectada».

Datos

Municipios

get_place (place)

Los datos técnicos de un municipio (zona climática, sismicidad, nieve, viento, lluvia, radón), cada uno con la norma de la que sale, y cuánta normativa le aplica.

Datos

Normativa

search_regulations (query?, place?, scope?)

get_regulation_contents (regulation, version?)

read_regulation_section (regulation, section, version?)

El catálogo, de la estatal a la municipal, el índice de cada norma y el texto de cada sección, artículo por artículo y con su versión. El texto revisado a mano lleva la marca curated; el convertido de forma automática, su enlace a la fuente.

Datos

Proyectos

list_projects ()

get_project_info (project_id?)

Tus proyectos de normatia.com y el contexto de cada uno: ubicación, datos técnicos, normativa aplicable con su versión vigente, documentos, memoria y cálculos guardados.

Contexto

Consulta

ask (query, project_id? | place? | parcel?)

get_answer (answer_id)

Una pregunta en lenguaje natural al mismo motor que el chat de Normatia, con la fuente de cada valor. Sobre un proyecto, un municipio o una parcela. Gasta una consulta del mes y tarda de 10 a 60 segundos; si tarda más, get_answer la recoge.

Agéntico · 1 consulta

Consumo

get_usage (from_date?, to_date?)

Las llamadas y las consultas de tu organización por herramienta y por día, y las que quedan este mes.

Cuenta

Ejemplo de uso

Dos obras, dos ayuntamientos, una sola conversación.

# Prompt al agente en Cursor

"Revisa la memoria de carpintería adjunta. ¿Cumplen esos valores en el proyecto de Madrid? ¿Y en el de Bilbao?"

# El agente encadena llamadas de herramienta:

▸ list_projects()

→ Rehabilitación Calle Mayor · Madrid (activo)  ·  Edificio Abando · Bilbao

▸ ask("¿Transmitancia máxima para ventanas?", project_id=madrid)

→ Zona climática D3 · CTE DB-HE, edición vigente 2022

→ U_límite huecos = 1.80 W/m²K [1]

→ [1] CTE DB-HE 1 · §3.1.1 · Tabla 3.1.1.a-HE1

▸ ask("¿Transmitancia máxima para ventanas?", project_id=bilbao)

→ Zona climática C1 · CTE DB-HE, edición vigente 2022

→ U_límite huecos = 2.10 W/m²K [1]

→ [1] CTE DB-HE 1 · §3.1.1 · Tabla 3.1.1.a-HE1

# Mismo prompt, dos marcos normativos. Sin cambiar el proyecto activo,

# sin dictarle la zona climática y con la fuente de cada valor.

Con project_id, ask responde con el contexto de esa obra: su normativa, su memoria, sus cálculos y sus documentos. Para un municipio donde no tienes proyecto, con place o parcel, responde con la normativa que Normatia tiene de él. Valores ilustrativos.