emap — Euskadi hyperlocal mobility

io.github.r3tr0eth由 GitHub 帳號 r3tr0eth 發布v0.1.0更新於 Oct 24, 2026

Basque Country hyperlocal mobility: ES/EU semantic search, routing, open-data POIs, peak-bagging.

已驗證Streamable HTTP可網頁執行位置與生活網頁搜尋與抓取

概覽

AI 產生的概覽

針對巴斯克地區超在地移動的遠端 MCP 伺服器:西語/巴斯克語雙語地點搜尋、周邊興趣點、地點背景、路線規劃與大眾運輸登山。

可以做什麼
用西語或巴斯克語依自然語言意圖搜尋地點,沒有合適結果時會誠實地不回答。尋找附近的興趣點,例如去顫器、廁所、自行車停放點或山頂。說明某個地點:屬於哪個街區、周邊有哪些服務。規劃實際的大眾運輸、步行、騎乘或開車路線。規劃可搭大眾運輸抵達的登山行程,涵蓋山頂與交通路網。每個回應都附上資料出處。
適用情境
適合助理回答巴斯克地區的在地移動問題:尋找附近服務、了解街區、規劃兩地路線,或挑選可搭大眾運輸抵達的山頂。這是區域性工具,在巴斯克地區以外幫助不大。
執行需求
遠端 streamable HTTP 端點,不需在本機安裝。未宣告驗證、環境變數或標頭。需要能連上該託管服務的網路。
安裝前請注意
README 中的端點主機與清單不一致,且文中表示正遷移到產品網域,連線前請先確認網址。回應依賴 OpenStreetMap 與 Open Data Euskadi,其授權要求標示出處;涵蓋範圍不均,畢爾包比外圍地區更完整。

安裝

在 SourceWeft 中

  1. 開啟 儀表板中的 emap — Euskadi hyperlocal mobility,將其新增到工作區。
  2. 為需要使用其工具的對話啟用該服務。

Web executable,透過 Streamable HTTP。 遠端服務在工作區中設定後即可從網頁執行環境執行。

交給代理程式安裝

把這段提示詞貼上到 Claude Code、Codex、Cursor 等代理程式,或 SourceWeft 對話中。代理程式會讀取該伺服器的安裝指南,先向你展示發布者、端點和登入方式,經你同意後再把它新增到你的客戶端。金鑰不會寫進任何命令。

閱讀 https://sourceweft.com/mcp/io.github.r3tr0eth%2Femap/install.md,並按其中說明把這個 MCP 伺服器接入我的客戶端。修改任何設定之前,先告訴我它的發布者、端點和登入方式,等我確認。不要把 API 金鑰寫進命令或我會提交的檔案;問我金鑰應從哪裡取得。

檢視代理程式所依據的安裝指南

其他 MCP 客戶端

把它新增到你客戶端的 mcpServers 設定中。

{
  "mcpServers": {
    "emap-euskadi-hyperlocal-mobility": {
      "type": "http",
      "url": "https://gaizkajimenez.com/mcp"
    }
  }
}

README

emap/labs

INFRAESTRUCTURA DE INTELIGENCIA GEOGRÁFICA · EUSKADI → EUROPA

[evals] [Licencia] [Datos] [Release] [DOI]

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 actual de 162 casos de búsqueda geográfica hiperlocal sobre 22 capas (fuentes, aseos, parking, transporte, DEA, farmacias, bibliotecas, cimas…) en español y euskera: 85 development, 29 held-out sellados y 48 challenge. Incluye 24 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.

Última tabla histórica versionada (k=5, 2026-08-05; no reejecutada en el sprint 2026-08-27):

Retrieverdev ESheld-out ESdev EUheld-out EU
baseline keywords+geo74%60%71%62%
híbrido · MiniLM-L12 mult.76%58%71%63%
híbrido · multilingual-e5-large76%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 challenge post-calibración: 48 casos con nuevas capas y edge cases; es informativa y no sustituye al held-out. 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/):

ToolPregunta que responde
search_places"dónde beber agua" · "haurra aldatzeko lekua" (con abstención honesta)
nearby_poisel DEA / aseo / aparcabici / cima más cercana
explain_placequé barrio es esto y qué servicios tiene alrededor
plan_routeruta real transit/walk/bike/car (OSRM/OTP propios)
plan_hikequé cima hago hoy en transporte público (2.825 cimas × 9 redes)
json
{ "mcpServers": { "emap": {    "command": "/ruta/a/emap-labs/.venv/bin/python",    "args": ["/ruta/a/emap-labs/mcp/server.py"] } } }

Remoto (sin instalar nada), registro io.github.r3tr0eth/emap:

json
{ "mcpServers": { "emap": { "url": "https://vps.emapapp.com/mcp" } } }

Migración de URL a dominio de producto (emapapp.com) en curso — detalle en mcp/README.md. Smoke: .venv/bin/python mcp/smoke.py --base https://vps.emapapp.com --live.

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

bash
git clone https://github.com/r3tr0eth/emap-labs && cd emap-labspip install -r evals/requirements.txtpython evals/run.py --retriever hybrid --profile minilm --lang eu

Autocontenido: el snapshot de datos vive en evals/data/ (el mismo que usa el CI, con gates de regresión development en cada push). Held-out solo se ejecuta manualmente para una decisión final; no aparece en cada iteración. Cada JSON versiona territorio, perfil, modelo, τ y tie-window. Los perfiles canónicos viven en evals/retriever-config.json.

Datasets

Prerelease v0.3.0-rc.1 (2026-08-29): valida el mismo registro territorial y pipeline de retrieval sobre Euskadi y un primer pack oficial de Madrid. El activo descargable incluye 8 datasets / 17.241 registros; Madrid aporta 2.306 fuentes municipales verificables. El corpus completo de Euskadi conserva 22 capas de movilidad e infraestructura — 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 versionadosdatasets/   pipelines de datasets propios (places, barrios, scores)service/    servicio semántico (FastAPI + fastembed, corre en VPS propio)regions/    packs y registro territorial de runtimemcp/        adapter para agentes sobre API + Labsreleases/   releases versionadas de datasetsdocs/       Intelligence/Core, roadmap, ética e 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):

bibtex
@software{emaplabs2026,  author  = {Jiménez, Gaizka},  title   = {EMAP Labs: verifiable geographic retrieval benchmark and             territorial mobility datasets for Euskadi and Madrid},  year    = {2026},  doi     = {10.5281/zenodo.21282784},  url     = {https://github.com/r3tr0eth/emap-labs},  version = {0.3.0-rc.1}}

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.

來源:README.md,提交 641cbdf

工具

0
SourceWeft 尚未讀取此伺服器的工具。

版本歷史

1
  1. v0.1.0最新Sep 16, 2026

評分

已滿足適用檢查項的 50%

該評分衡量此收錄條目的完整程度,依據註冊中心條目、端點與公開來源計算得出。它不是對伺服器本身的評價,也不表示伺服器安全或目前可用:可連通性是帶日期的檢查結果,評分也不包含安裝量或使用者評價。

  • 近 30 天內可連通必需25 分

    請保持端點能夠回應 MCP 握手;SourceWeft 每 30 天探測一次。

  • 已宣告認證方式必需10 分

    請在註冊中心條目中宣告憑證請求標頭,或保持端點能夠回應探測,以便判定其認證方式。

  • 已列出工具15 分

    請讓伺服器在無憑證時回應 tools/list,或發布可在沙箱中無憑證啟動的軟體包。

  • 描述必需15 分
  • 圖示10 分
  • 文件15 分
  • 授權條款10 分