SVV-MCP-unofficial
SVV-MCP-unofficial
⚠️ Proyecto no oficial. Este es un servidor MCP creado por la comunidad y no está hecho, operado ni afiliado a Statens vegvesen (SVV) en modo alguno. "SVV" en el nombre solo describe la fuente de datos que usa el servidor. Los datos que se transmiten provienen de los propios endpoints abiertos DATEX II de Statens vegvesen, y su uso está sujeto a sus términos (consulta Licencia).
Servidor MCP (Model Context Protocol) que proporciona a un LLM acceso a los datos abiertos en tiempo real de Statens vegvesen a través de DATEX II:
🌡️ Mediciones meteorológicas de las estaciones meteorológicas de la administración de carreteras (temperatura de la calzada, temperatura del aire, viento, punto de rocío), con aviso automático de calzada resbaladiza
🌦️ Pronósticos meteorológicos (hora a hora, 24 horas)
📷 Cámaras web a lo largo de la red viaria
🚗 Tiempos de viaje en tiempo real en los tramos principales
⚠️ Avisos de tráfico (accidentes, obras en carretera, cierres, desprendimientos/inundaciones, etc.)
🔧 Una herramienta de depuración integrada que muestra la estructura XML bruta, ya que el esquema de NPRA puede cambiar
Todos los endpoints DATEX requieren un usuario registrado en Statens vegvesen (gratis). Solicita acceso aquí →
Contenido
Related MCP server: trafikverket-mcp
Para empezar localmente
Requiere Python 3.10+.
git clone https://github.com/<ditt-brukernavn>/svv-mcp-unofficial.git
cd svv-mcp-unofficial
python -m venv .venv && source .venv/bin/activate
pip install -r requirements.txt
cp .env.example .env
# rediger .env og fyll inn DATEX_USERNAME / DATEX_PASSWORD
export $(grep -v '^#' .env | xargs) # eller bruk python-dotenv
python server.pySin PORT definida en el entorno, el servidor se inicia sobre stdio — práctico para
pruebas locales con MCP Inspector:
npx @modelcontextprotocol/inspector python server.pyConfigurar el repositorio de GitHub
Crea un repositorio nuevo (vacío) en GitHub, p. ej.
svv-mcp-unofficial.Haz push del código:
cd svv-mcp-unofficial git init git add . git commit -m "Initial commit: svv-mcp-unofficial server" git branch -M main git remote add origin https://github.com/<ditt-brukernavn>/svv-mcp-unofficial.git git push -u origin mainImportante:
.envya está en.gitignore— vuelve a comprobar que nunca hagas commit de los nombres de usuario/contraseñas reales de DATEX. En su lugar, incluye.env.example(sin valores), que ya está en el repositorio.
Desplegar en Railway
Opción A — a través del panel de Railway (la más sencilla):
Inicia sesión en railway.app → New Project → Deploy from GitHub repo.
Selecciona tu repositorio
svv-mcp-unofficial. Railway encuentra elDockerfileautomáticamente.Ve a Variables en el servicio y añade:
DATEX_USERNAMEDATEX_PASSWORD
Railway establece
PORTautomáticamente — el servidor se inicia entonces en modo Streamable HTTP y escucha en0.0.0.0:$PORT.En Settings → Networking, pulsa Generate Domain para obtener una URL pública (p. ej.
https://svv-mcp-unofficial-production.up.railway.app).El endpoint de MCP será entonces:
https://<ditt-domene>/mcp
Opción B — a través de Railway CLI:
npm i -g @railway/cli
railway login
railway init
railway up
railway variables --set "DATEX_USERNAME=..." --set "DATEX_PASSWORD=..."
railway domainEl servidor usa Streamable HTTP (no SSE), que es el transporte recomendado para servidores MCP externos en la especificación actual.
Conectar al servidor
Claude.ai / la aplicación de Claude (conector personalizado)
Ve a Settings → Connectors → Add custom connector.
Pega tu URL de Railway, p. ej.
https://<ditt-domene>/mcpPonle un nombre, p. ej. "Statens vegvesen".
Actívalo en tu conversación en herramientas/conectores.
Dado que DATEX_USERNAME/DATEX_PASSWORD están configuradas como variables de entorno en el
servicio de Railway (no como parámetros de las herramientas), quien se
conecta no necesita proporcionar ninguna credencial por su cuenta — solo el propietario del
despliegue de Railway.
Claude Desktop (stdio, local)
Añade a claude_desktop_config.json:
{
"mcpServers": {
"vegvesen": {
"command": "python",
"args": ["/full/path/til/svv-mcp-unofficial/server.py"],
"env": {
"DATEX_USERNAME": "...",
"DATEX_PASSWORD": "..."
}
}
}
}Otros clientes MCP
Cualquier cliente que admita Streamable HTTP puede apuntar directamente a
https://<ditt-domene>/mcp.
Herramientas disponibles
Herramienta | Descripción |
| Mediciones meteorológicas en tiempo real desde estaciones de carretera, con aviso de calzada resbaladiza |
| Ubicación (coordenadas/carretera/nombre) de las estaciones meteorológicas |
| Pronóstico meteorológico hora a hora, 24 horas |
| Ubicación de los puntos de pronóstico |
| Resumen de las cámaras web a lo largo de la red viaria |
| Tiempos de viaje en tiempo real en los tramos principales |
| Geometría/nombre de los tramos en los que se mide el tiempo de viaje |
| Accidentes, obras en carretera, cierres, desprendimientos/inundaciones, etc. |
| Solución de problemas: muestra la estructura de etiquetas bruta desde un endpoint DATEX dado |
Todas las herramientas "hent" aceptan los mismos parámetros:
sokeord(opcional) — filtra por todos los valores de los campos, p. ej."E18","Hemsedal"maks_antall(por defecto 10) — número máximo de registros en la respuestaformat—"markdown"(legible) o"json"(estructurado)
Solución de problemas
"401 No autorizado" →
DATEX_USERNAME/DATEX_PASSWORDfaltan o son incorrectas en el servidor. Revisa las variables de Railway.Resultados vacíos/inesperados → ejecuta
inspiser_datex_publikasjoncontra la publicación correspondiente (consulta la tabla de clavesDATEX_ENDPOINTSenserver.py) para ver exactamente qué etiquetas XML envía NPRA en este momento, y ajustacandidate_tagsen la herramienta correspondiente si es necesario.Timeout → el nodo DATEX de NPRA puede estar temporalmente caído; inténtalo de nuevo en un momento, o consulta los avisos de operación en vegvesen.no.
Licencia
Los datos están disponibles bajo la Licencia Noruega para Datos Públicos (NLOD). Cita a Statens vegvesen como fuente al usar los datos, tal como solicita NPRA.
This server cannot be deployed
Maintenance
Related MCP Connectors
Norwegian transport (Entur) and geodata (Kartverket): trips, departures, addresses, elevation.
Norwegian public data for AI agents: companies, tenders, addresses, laws, exchange rates.
Norwegian trains, buses and ferries: live trips and departures (Entur). Free, no key.
Entur MCP — Norway public transport, nationwide, all modes (developer.entur.org)
Related MCP Servers
- AlicenseAqualityCmaintenanceProvides access to real-time Danish road traffic events, roadworks, and queues via public data from Vejdirektoratet, enabling AI assistants to check road conditions without any API keys.3MIT
- AlicenseAqualityCmaintenanceProvides real-time access to Swedish road weather, traffic cameras, road conditions, and traffic flow data from Trafikverket (Swedish Transport Administration). Enables users to query weather stations, cameras, traffic situations, and flow data through natural language.10MIT
- AlicenseNot gradedqualityBmaintenanceProvides access to Norway's nationwide public transport data (all modes) via the Entur API, enabling queries about routes, stops, and departures through natural language.8 npmMIT
- AlicenseAqualityBmaintenanceEnables querying Norwegian traffic messages (roadworks, closures, detours) from Statens vegvesen, filtered by route and time window. Supports both current and future travel times, with tools for route-based and general searches.3MIT