Server data from the Official MCP Registry
Basque Country hyperlocal mobility: ES/EU semantic search, routing, open-data POIs, peak-bagging.
About
Basque Country hyperlocal mobility: ES/EU semantic search, routing, open-data POIs, peak-bagging.
Remote endpoints: streamable-http: https://gaizkajimenez.com/mcp
Security Report
Valid MCP server (0 strong, 3 medium validity signals). No known CVEs in dependencies. Imported from the Official MCP Registry.
Endpoint verified · Open access · No issues found
Security scores are indicators to help you make informed decisions, not guarantees. Always review permissions before connecting any MCP server.
Permissions Required
This plugin requests these system permissions. Most are normal for its category.
How to Connect
Remote Plugin
No local installation needed. Your AI client connects to the remote endpoint directly.
Add this to your MCP configuration to connect:
{
"mcpServers": {
"io-github-r3tr0eth-emap": {
"url": "https://gaizkajimenez.com/mcp"
}
}
}Documentation
View on GitHubFrom the project's GitHub README.
emap/labs
INFRAESTRUCTURA DE INTELIGENCIA GEOGRÁFICA · EUSKADI → EUROPA
Laboratorio de datos e IA detrás de emap: datasets urbanos versionados, búsqueda semántica, RAG geoespacial y benchmarks de retrieval en español y euskera. emap es el producto y el primer consumidor de todo lo que sale de aquí.
EN: Open geographic-retrieval benchmark (Spanish/Basque) and versioned urban mobility datasets for the Basque Country. Reproducible in three commands.
Benchmark · MCP · Reproducir · Datasets · Ética · Citar
Benchmark de retrieval ES/EU
Corpus dorado de 139 casos de búsqueda geográfica hiperlocal sobre 22
capas (fuentes, aseos, parking, transporte, DEA, farmacias, bibliotecas,
cimas…) en español y euskera, con split held-out estricto (54
casos que jamás se usan para calibrar) y casos de abstención
(answerable: false — el retriever que inventa, falla). El euskera se
coteja con Itzuli, el traductor neuronal del Gobierno Vasco — no es
euskera artificial de traducción automática sin revisar.
Resultados en producción (k=5, 2026-08-05):
| Retriever | dev ES | held-out ES | dev EU | held-out EU |
|---|---|---|---|---|
| baseline keywords+geo | 74% | 60% | 71% | 62% |
| híbrido · MiniLM-L12 mult. | 76% | 58% | 71% | 63% |
| híbrido · multilingual-e5-large | 76% | 73% | 71% | 71% |
e5-large es el modelo desplegado en producción. La calibración es τ=0.80/tie=0.01 (propiedad del par modelo+corpus, no heredable).
Hallazgo central: la brecha del euskera no era del idioma, era del modelo. Con MiniLM la etapa semántica apenas aportaba en EU; con e5-large el held-out ES sube de 58% a 73% (+15) y el EU de 63% a 71% (+8).
Suite extendida post-v0.2.0: 76 heldout con nuevas capas y edge cases,
64% global. Informe completo —metodología, coste/latencia, limitaciones—:
BENCHMARK.md; lecciones del harness:
evals/README.md.
emap desde tu agente (MCP)
El primer servidor MCP de movilidad hiperlocal: existen MCPs genéricos
de GTFS y de OSM, pero ninguno expone inteligencia de movilidad local a
agentes — búsqueda semántica bilingüe ES/EU, contexto de lugar, rutas
multimodales con infraestructura propia y el monte en transporte público.
Cinco herramientas (mcp/):
| Tool | Pregunta que responde |
|---|---|
search_places | "dónde beber agua" · "haurra aldatzeko lekua" (con abstención honesta) |
nearby_pois | el DEA / aseo / aparcabici / cima más cercana |
explain_place | qué barrio es esto y qué servicios tiene alrededor |
plan_route | ruta real transit/walk/bike/car (OSRM/OTP propios) |
plan_hike | qué cima hago hoy en transporte público (2.825 cimas × 9 redes) |
{ "mcpServers": { "emap": {
"command": "/ruta/a/emap-labs/.venv/bin/python",
"args": ["/ruta/a/emap-labs/mcp/server.py"] } } }
Toda respuesta lleva attribution (ODbL + GTFS + CC-BY-4.0). Criterio de
aceptación cumplido y verificado por protocolo: "¿dónde dejo la bici cerca
de San Mamés?" → aparcabicis a 47 m, con atribución.
Reproducir en tres comandos
git clone https://github.com/r3tr0eth/emap-labs && cd emap-labs
pip install -r evals/requirements.txt
python evals/run.py --retriever hybrid --lang eu --split heldout
Autocontenido: el snapshot de datos vive en evals/data/ (el mismo que usa
el CI,
con gates de regresión en cada push). Cada JSON de evals/results/ versiona
la configuración exacta (modelo, τ, tie-window) con la que se obtuvo.
Datasets
Release v0.2 (2026-08-05): 22 capas / 27.515 POIs de movilidad e
infraestructura urbana de Euskadi — fuentes, aseos, parking, aparcabicis,
carga eléctrica, desfibriladores, playas, farmacias, bibliotecas, deporte,
restaurantes, alojamiento, camping, espacios naturales, cimas, bancos,
papeleras, reciclaje, refugios, buzones, teléfonos y paradas multi-red
(metro, Euskotren, Cercanías, Bilbobus, Bizkaibus). Cobertura expandida
a toda Bizkaia. Detalle y metadatos: releases/RELEASE-NOTES.md.
Cada dataset declara fuente, licencia, fecha y cobertura estimada solo cuando
es honestamente estimable. Pipelines reproducibles en datasets/.
Estructura
evals/ corpus dorado ES/EU, harness, resultados versionados
datasets/ pipelines de datasets propios (places, barrios, scores)
service/ servicio semántico (FastAPI + fastembed, corre en VPS propio)
releases/ releases versionadas de datasets
docs/ roadmap, ética de datos, informes de cobertura
Principios
DATOS ANTES QUE MODELOS— no se entrena ni fine-tunea nada en este horizonte.NO SE FINGE— lo que no se puede medir se omite; los evals premian decir "no lo sé".DOGFOODING— nada cuenta como hecho hasta que emap lo usa en producción.ES/EU EN PARIDAD— el euskera se escribe, no se traduce.
Regla de decisión: cada desarrollo debe mejorar emap, ser reutilizable, publicable como open source o vendible. Si no cumple ninguna, no se hace.
Ética y limitaciones
docs/ETICA-DATOS.md es regla dura, no aspiración:
se describe la infraestructura, jamás a las personas. Limitaciones
declaradas: sesgo de mapeo OSM (Bilbao mejor cubierto que la periferia — se
declara en coverage.notes de cada dataset), corpus sintético escrito por
una persona (las consultas reales anonimizadas lo sustituirán), y umbrales
calibrados solo sobre dev — por eso el held-out manda.
Cómo citar
Si usas el benchmark, el corpus o los datasets, cita el repositorio
(GitHub: Cite this repository, desde CITATION.cff):
@software{emaplabs2026,
author = {Jiménez, Gaizka},
title = {EMAP Labs: geographic retrieval benchmark and mobility
datasets for the Basque Country (Spanish/Basque)},
year = {2026},
doi = {10.5281/zenodo.21282784},
url = {https://github.com/r3tr0eth/emap-labs},
version = {0.2.0}
}
Agradecimientos
Datos de OpenStreetMap y Open Data Euskadi. Euskera del corpus cotejado con Itzuli (Gobierno Vasco). Embeddings servidos con fastembed.
Licencias
- Código: Apache-2.0.
- Corpus de evaluación propio (
evals/*.yaml, docs): CC-BY-4.0 — atribución "EMAP Labs". - Datos derivados: lo derivado de OpenStreetMap mantiene ODbL; lo derivado de Open Data Euskadi mantiene CC-BY-4.0 con atribución al portal. Cada dataset declara su fuente y licencia en sus metadatos.
Reviews
No reviews yet
Be the first to review this server!
More Developer Tools MCP Servers
Fetch
Freeby Modelcontextprotocol · Developer Tools
Web content fetching and conversion for efficient LLM usage
Git
Freeby Modelcontextprotocol · Developer Tools
Read, search, and manipulate Git repositories programmatically
Toleno
Freeby Toleno · Developer Tools
Toleno Network MCP Server — Manage your Toleno mining account with Claude AI using natural language.
mcp-creator-python
Freeby mcp-marketplace · Developer Tools
Create, build, and publish Python MCP servers to PyPI — conversationally.
MarkItDown
Freeby Microsoft · Content & Media
Convert files (PDF, Word, Excel, images, audio) to Markdown for LLM consumption
MCP Marketplace
Freeby mcp-marketplace · Developer Tools
Search and install MCP servers from inside your AI client.
