ERDDAP MCP Server
Accede a servidores ERDDAP en todo el mundo para buscar, descubrir y recuperar conjuntos de datos científicos oceanográficos y ambientales.
Documentación
Servidores MCP de ERDDAP - Local y Remoto
Accede a datos oceanográficos y ambientales de servidores ERDDAP de todo el mundo a través de Claude Desktop mediante dos implementaciones MCP completas: stdio local y HTTP remoto.
🚀 Ahora con carga dinámica de servidores desde erddaps.json - ¡63+ servidores ERDDAP disponibles!
🌊 Dos Servidores, Todas las Posibilidades
Este repositorio proporciona implementaciones de servidores MCP tanto locales como remotas:
📍 Servidor MCP Local (erddapy_mcp_server.py)
- Servidor MCP tradicional basado en stdio para uso local con Claude Desktop
- 4 herramientas ERDDAP completas para descubrimiento y acceso a datos
- Configuración sencilla mediante claude_desktop_config.json
- Sin dependencias de red - se ejecuta completamente en local
☁️ Servidor MCP Remoto (erddap_remote_mcp_oauth.py)
- Servidor MCP basado en HTTP para despliegue en la nube
- Listo para producción con configuración de despliegue en fly.io
- Compatible con proxy mcp-remote para integración con Claude Desktop
- Las mismas 4 herramientas principales optimizadas para rendimiento remoto
🚨 CRÍTICO: Requisitos de Conexión MCP Remota
¡Claude Desktop NO admite conexiones MCP remotas directas! DEBES usar el proxy mcp-remote para servidores remotos.
La Arquitectura Secreta:
Claude Desktop (stdio) ↔ mcp-remote proxy ↔ Remote MCP Server (HTTP)
¿Qué es ERDDAP?
ERDDAP (Programa de Acceso a Datos de la División de Investigación Ambiental) es un servidor de datos que proporciona acceso simple y consistente a conjuntos de datos científicos en formatos de archivo comunes. Estos servidores MCP hacen que los potentes datos oceanográficos de ERDDAP sean accesibles para asistentes de IA mediante consultas en lenguaje natural.
Inicio Rápido
⚠️ IMPORTANTE: Desactiva la VPN Antes de Usar
Los servidores ERDDAP pueden experimentar problemas graves cuando se accede a través de VPNs (NordVPN, ExpressVPN, etc.), incluyendo:
- Errores 404 en conjuntos de datos válidos
- Descargas de datos truncadas o incompletas
- Tiempos de espera de conexión y solicitudes fallidas
Solución: Desactiva tu VPN antes de usar estas herramientas. Los servidores ERDDAP a menudo bloquean o limitan el tráfico VPN, causando un comportamiento poco fiable.
Opción 1: Servidor MCP Local (Recomendado para Empezar)
1. Instalar Dependencias:
pip install erddapy mcp pandas
2. Configurar Claude Desktop:
Añade a tu configuración de Claude Desktop (~/Library/Application Support/Claude/claude_desktop_config.json):
{
"mcpServers": {
"erddap-local": {
"command": "python",
"args": ["/path/to/erddapy_mcp_server.py"]
}
}
}
Usuarios de Windows: Usa %APPDATA%\Claude\claude_desktop_config.json y dobles barras invertidas en las rutas:
{
"mcpServers": {
"erddap-local": {
"command": "python",
"args": ["C:\\Users\\YourName\\path\\to\\erddapy_mcp_server.py"]
}
}
}
3. Reiniciar Claude Desktop: Después de actualizar la configuración, reinicia Claude Desktop. El servidor se iniciará automáticamente y las herramientas ERDDAP estarán disponibles.
Opción 2: Servidor MCP Remoto (Accede a la Instancia en la Nube)
1. Instalar el proxy mcp-remote:
npm install -g mcp-remote
2. Configurar Claude Desktop:
{
"mcpServers": {
"erddap-remote": {
"command": "npx",
"args": ["mcp-remote", "https://erddap2mcp.fly.dev/"]
}
}
}
3. Reiniciar Claude Desktop: El servidor remoto será accesible a través del proxy mcp-remote.
Herramientas Disponibles
Herramientas Disponibles (Ambos Servidores)
| Herramienta | Descripción | Ejemplo de Uso |
|---|---|---|
list_servers | Mostrar servidores ERDDAP conocidos en todo el mundo | "Muéstrame los servidores ERDDAP disponibles" |
search_datasets | Buscar conjuntos de datos por palabra clave | "Encuentra conjuntos de datos de temperatura en IOOS ERDDAP" |
get_dataset_info | Obtener metadatos detallados sobre un conjunto de datos | "Cuéntame sobre el conjunto de datos jplMURSST41" |
to_pandas | Descargar y previsualizar datos | "Muéstrame datos de temperatura de enero de 2024" |
Ejemplos de Uso
Listar Servidores ERDDAP Disponibles
Tú: "Muéstrame los servidores ERDDAP disponibles"
Claude: Aquí hay algunos servidores ERDDAP conocidos a los que puedes acceder:
- NOAA CoastWatch (https://coastwatch.pfeg.noaa.gov/erddap) - Datos oceanográficos satelitales y in situ
- IOOS ERDDAP (https://erddap.ioos.us/erddap) - Datos del Sistema Integrado de Observación Oceánica
- Marine Institute Ireland (https://erddap.marine.ie/erddap) - Datos marinos irlandeses
- Ocean Networks Canada (https://data.oceannetworks.ca/erddap) - Datos oceánicos canadienses
- GCOOS ERDDAP (https://gcoos5.geos.tamu.edu/erddap) - Datos del Golfo de México
Buscar Conjuntos de Datos
Tú: "Busca conjuntos de datos de planeadores en GCOOS ERDDAP"
Claude: Encontré 26 conjuntos de datos de planeadores en el servidor GCOOS ERDDAP. Aquí hay algunos ejemplos:
- Stommel-20200813T1200: Despliegue de planeador oceánico
- usf-sam-20210331T0000: Planeador de la Universidad del Sur de Florida
- mote-dora-20210318T1200: Planeador del Laboratorio Marino Mote
Estos conjuntos de datos contienen mediciones oceanográficas recopiladas por planeadores submarinos autónomos.
Analizar Datos
Tú: "Obtén información sobre el conjunto de datos mote-dora-20210318T1200"
Claude: Este conjunto de datos contiene mediciones oceanográficas de un despliegue de planeador del Laboratorio Marino Mote:
Cobertura Temporal: 18 de marzo de 2021 - 15 de abril de 2021
Variables: Temperatura, salinidad, densidad, oxígeno disuelto, clorofila
Ubicación: Aguas costeras del este del Golfo de México
Comparación de Arquitecturas
Servidor Local
- Comunicación: stdio (entrada/salida estándar)
- Despliegue: Se ejecuta en tu máquina local
- Herramientas: 4 herramientas completas de acceso a datos
- Configuración: Una sola entrada en el archivo de configuración
- Dependencias: Python + biblioteca MCP
Servidor Remoto
- Comunicación: HTTP con JSON-RPC 2.0
- Despliegue: Plataformas en la nube (fly.io, AWS, etc.)
- Herramientas: Las mismas 4 herramientas de acceso a datos
- Configuración: Requiere proxy mcp-remote
- Dependencias: FastAPI + Docker + HTTPS
Para Desarrolladores: Despliegue en la Nube
Esta sección es para desarrolladores que quieran desplegar su propia instancia del servidor remoto.
Despliegue en fly.io (Recomendado)
El servidor remoto está configurado para despliegue con un solo comando en fly.io:
# Deploy from the erddap2mcp directory
fly deploy
Configuración de fly.toml:
app = 'erddap2mcp'
primary_region = 'mia'
[http_service]
internal_port = 8000
force_https = true
auto_stop_machines = 'stop'
auto_start_machines = true
[[vm]]
memory = '1gb'
cpu_kind = 'shared'
cpus = 1
Características Clave:
- ✅ HTTPS automático - Certificados SSL gestionados automáticamente
- ✅ Auto-escalado - Las máquinas se inician/detienen según el tráfico
- ✅ CDN global - Acceso rápido en todo el mundo
- ✅ Despliegues sin tiempo de inactividad - Actualizaciones sin interrupciones
Despliegue en Contenedores (Otras Plataformas)
# Build container
docker build -t erddap-mcp-server .
# Run locally
docker run -p 8000:8000 erddap-mcp-server
# Deploy to other platforms:
# - AWS Lambda (requires HTTPS setup)
# - Railway/Render (usually provide HTTPS automatically)
# - Google Cloud Run
# - Azure Container Instances
Probando tu Configuración
Para Usuarios: Verificar la Instalación
Después de configurar Claude Desktop, reinícialo y comprueba si las herramientas ERDDAP aparecen en la lista de herramientas.
Para Desarrolladores: Pruebas Manuales
Probar el Servidor Local
# Test the server directly (for debugging)
python erddapy_mcp_server.py
# Send test commands:
echo '{"jsonrpc": "2.0", "method": "tools/list", "id": 1}' | python erddapy_mcp_server.py
Probar el Servidor Remoto
# Test basic connectivity
curl http://localhost:8000/
# Test MCP protocol
curl -X POST http://localhost:8000/ \
-H "Content-Type: application/json" \
-d '{"jsonrpc": "2.0", "method": "tools/list", "id": 1}'
# Test with mcp-remote proxy
npx mcp-remote http://localhost:8000/ --test
Ejemplos de Configuración
Ambos Servidores Juntos
Puedes ejecutar tanto el servidor local como el remoto simultáneamente:
{
"mcpServers": {
"erddap-local": {
"command": "python",
"args": ["/Users/rdc/src/mcp/erddap2mcp/erddapy_mcp_server.py"]
},
"erddap-remote": {
"command": "npx",
"args": ["mcp-remote", "https://erddap2mcp.fly.dev/"]
}
}
}
¡Esto te da el conjunto completo de herramientas local más la accesibilidad en la nube!
Parámetros Comunes de las Herramientas
Ambos servidores aceptan estos parámetros:
server_url: URL del servidor ERDDAP (por defecto NOAA CoastWatch)protocol: "tabledap" (datos tabulares) o "griddap" (datos en cuadrícula)dataset_id: El identificador del conjunto de datosvariables: Lista de variables a recuperarconstraints: Diccionario de restricciones (ej., límites de tiempo/espacio)
Consejos para Mejores Resultados
- Empieza con local: El servidor local tiene una configuración más fácil y no requiere proxy
- Usa remoto para compartir: El servidor remoto puede ser accedido por múltiples usuarios
- Revisa los metadatos primero: Usa
get_dataset_infoantes de descargar datos - Usa restricciones: Limita las solicitudes de datos para evitar tiempos de espera
- Elige el protocolo correcto: tabledap para datos tabulares, griddap para datos en cuadrícula
Solución de Problemas
Problemas del Servidor Local
- "No such file": Comprueba la ruta de Python en la configuración
- "Connection failed": Verifica que el servidor esté ejecutándose
- Errores de herramientas: Revisa stderr para ver la salida de depuración
Problemas del Servidor Remoto
- "No tools available": Asegúrate de que el proxy mcp-remote esté instalado (
npm install -g mcp-remote) - "Connection failed": Verifica que la URL del servidor sea accesible y use HTTPS
- Errores de protocolo: Revisa los registros del servidor con
fly logs -a erddap2mcp
Problemas Generales de ERDDAP
- Tiempos de espera: Reduce la extensión espacial/temporal de las solicitudes
- Errores de protocolo: Especifica el protocolo correcto (tabledap vs griddap)
- Servidor no disponible: Algunos servidores ERDDAP pueden estar temporalmente caídos
El Viaje del Descubrimiento del MCP Remoto
Esta implementación remota representa meses de depuración del misterio del MCP Remoto:
Enfoques Fallidos:
- Conexiones SSE directas - Claude Desktop no admite esto
- URLs remotas en archivos de configuración - Solo funciona para servidores stdio locales
- Intentos con la interfaz del conector - Tampoco admite conexiones directas
El Avance:
El requisito del proxy mcp-remote estaba enterrado en documentación de terceros. Esta pieza crítica permite que Claude Desktop se comunique con servidores MCP remotos a través de HTTP.
Créditos
- ERDDAP fue desarrollado por Bob Simons en la División de Investigación Ambiental de NOAA. Aprende más en el sitio web de ERDDAP.
- erddapy es el cliente oficial de Python para ERDDAP, desarrollado por Filipe Fernandes y la comunidad IOOS. Visita la documentación de erddapy.
- mcp-remote proxy permite conexiones MCP remotas a Claude Desktop
Casos de Uso Comunes
- Investigación Climática: Accede a datos históricos de temperatura, salinidad y corrientes
- Biología Marina: Encuentra concentraciones de clorofila y datos de color del océano
- Gestión Costera: Monitorea el nivel del mar, la altura de las olas y las condiciones costeras
- Pesca: Accede a datos ambientales para la gestión pesquera
- Educación: Explora datos oceanográficos reales para enseñar y aprender
Gestión de la Lista de Servidores
Los servidores ERDDAP ahora se cargan dinámicamente desde erddaps.json:
- 63 servidores ERDDAP preconfigurados (cobertura mundial)
- Fácil añadir/eliminar servidores editando el archivo JSON
- Respaldo automático si el archivo falta
- Servidores agrupados por acceso público/privado
- Cada entrada de servidor incluye nombre, nombre_corto, url y bandera pública
Para añadir nuevos servidores, simplemente edita erddaps.json:
{
"name": "Your ERDDAP Server",
"short_name": "YES",
"url": "https://your-erddap.org/erddap/",
"public": true
}
Contribuciones
¡Las contribuciones son bienvenidas! Este proyecto demuestra cómo construir servidores MCP tanto locales como remotos. Áreas clave para mejorar:
- Herramientas ERDDAP adicionales y capacidades de procesamiento de datos
- Mejor manejo de errores y optimización del rendimiento
- Estrategias de equilibrio de carga y caché multi-servidor
- Añadir más servidores ERDDAP a erddaps.json
Licencia
Este proyecto es de código abierto y está disponible bajo la Licencia MIT.