Consulta sobre el proyecto activo
ask("...")— sin más. El proyecto activo se resuelve solo- Llama a
get_project_info()solo si necesitas ver la ubicación, las versiones vigentes o qué hay guardado
Normatia proporciona un servidor MCP remoto que da a los asistentes de IA acceso a la normativa de edificación española en el contexto de un proyecto concreto — sin instalar nada.
https://mcp.normatia.com/mcpEl alcance normativo de Normatia se define por proyecto: cada proyecto en normatia.com tiene su municipio, sus normativas aplicables (estatales, autonómicas, municipales), sus documentos subidos, su memoria de datos de obra y sus cálculos guardados.
Eso significa dos cosas para el asistente conectado:
Tres herramientas, todas de solo lectura. El servidor MCP no escribe nada: no genera documentos, no edita y no guarda en la memoria del proyecto.
| Herramienta | Descripción | Parámetros | Coste |
|---|---|---|---|
ask | Consulta normativa en lenguaje natural sobre un proyecto. Es la única que devuelve texto normativo citable. | query, project_id? | 1 crédito |
get_project_info | Contexto completo de un proyecto: ubicación, datos técnicos del territorio, normativa aplicable con su versión vigente, archivos, documentos generados, memoria y cálculos guardados. | project_id? | Gratis |
list_projects | Proyectos que el usuario puede consultar, con su project_id, ubicación y cuál es el activo. | — | Gratis |
ask — motor agénticoask no es una búsqueda semántica de un solo disparo: ejecuta el mismo bucle agéntico que el chat de normatia.com. El modelo decide qué buscar, encadena varias búsquedas con enfoques distintos, lee la memoria y los cálculos guardados del proyecto, consulta los documentos subidos y redacta la respuesta citando sus fuentes con marcadores [N] validados contra los bloques realmente recuperados.
Internamente dispone de siete herramientas de consulta: búsqueda normativa, memoria del proyecto, cálculos guardados, marcadores, contexto documental y ficha de fuente. Nada de eso se expone al cliente — el bucle vive en el servidor, de modo que las reglas de precedencia normativa y de citación son idénticas a las del chat web.
Todas las herramientas aceptan un project_id opcional. El orden de resolución es:
project_id explícito → proyecto activo del usuario en la webSi el usuario pregunta por otro municipio o proyecto, el asistente llama a list_projects, coge el project_id que corresponda y lo pasa a ask. Nunca hay que pedirle al usuario que cambie el proyecto activo en la web: se pueden consultar varios proyectos en la misma conversación, incluso en paralelo, y lo que el usuario ve en normatia.com no cambia por debajo.
Un project_id de otra organización devuelve el mismo 404 que uno inexistente.
Conecta Normatia como conector personalizado, con OAuth y sin API key.
Pulsa ”+” y luego “Add custom connector”
Introduce la URL del servidor: https://mcp.normatia.com/mcp
Selecciona OAuth como autenticación
Pulsa “Add”
En planes Team y Enterprise el propietario lo añade desde Organization settings > Connectors y los miembros lo activan después desde Customize > Connectors.
Activa el modo desarrollador: Settings → Apps → Advanced Settings → Developer mode
Ve a Settings → Apps → Create
Introduce la URL del servidor: https://mcp.normatia.com/mcp
Selecciona OAuth como autenticación
Pulsa Create
Añade a tu configuración (~/Library/Application Support/Claude/claude_desktop_config.json en macOS, %APPDATA%\Claude\claude_desktop_config.json en Windows):
{ "mcpServers": { "normatia": { "type": "streamable-http", "url": "https://mcp.normatia.com/mcp", "headers": { "Authorization": "Bearer sk-normatia-..." } } }}claude mcp add normatia --transport streamable-http https://mcp.normatia.com/mcp \ -h "Authorization: Bearer sk-normatia-..."Añade un archivo .vscode/mcp.json en tu workspace:
{ "servers": { "normatia": { "type": "streamable-http", "url": "https://mcp.normatia.com/mcp", "headers": { "Authorization": "Bearer sk-normatia-..." } } }}O añádelo a tu User Settings (JSON) para acceso global:
{ "mcp": { "servers": { "normatia": { "type": "streamable-http", "url": "https://mcp.normatia.com/mcp", "headers": { "Authorization": "Bearer sk-normatia-..." } } } }}Añade a la configuración MCP de Cursor (~/.cursor/mcp.json):
{ "mcpServers": { "normatia": { "type": "streamable-http", "url": "https://mcp.normatia.com/mcp", "headers": { "Authorization": "Bearer sk-normatia-..." } } }}Añade a la configuración MCP de Windsurf:
{ "mcpServers": { "normatia": { "type": "streamable-http", "url": "https://mcp.normatia.com/mcp", "headers": { "Authorization": "Bearer sk-normatia-..." } } }}Añade a la configuración de Zed (~/.config/zed/settings.json):
{ "context_servers": { "normatia": { "transport": "streamable-http", "url": "https://mcp.normatia.com/mcp", "headers": { "Authorization": "Bearer sk-normatia-..." } } }}Usa estos datos de conexión con cualquier cliente compatible con MCP:
| Configuración | Valor |
|---|---|
| Transporte | streamable-http |
| URL | https://mcp.normatia.com/mcp |
| Header de autenticación | Authorization: Bearer sk-normatia-... |
Una vez conectado, prueba estos prompts en tu asistente de IA:
Consulta sobre el proyecto activo
ask("...") — sin más. El proyecto activo se resuelve sologet_project_info() solo si necesitas ver la ubicación, las versiones vigentes o qué hay guardadoComparativa entre municipios
list_projects() para obtener los project_idask("...", project_id=A) y ask("...", project_id=B)Las mismas capacidades están disponibles como API REST para integraciones propias:
POST /api/v2/ask — la consulta agéntica que hay detrás de la herramienta askGET /api/v1/projects y GET /api/v1/project/info — el contexto de proyectoEl código fuente, SDK, ejemplos y AI skills están disponibles en el repositorio open-source: