Athena Agent
Athena Agent — fuente de terremotos en vivo
Un agente de IA Athena respaldado por un servidor MCP. Obtiene lecturas sísmicas reales de la fuente pública de USGS y las muestra en un widget interactivo dentro del chat.
Ejecútalo
npm install
npm start # http://localhost:8787/mcpVerifica antes de tocar Athena:
npx @modelcontextprotocol/inspector@latest --server-url http://localhost:8787/mcp --transport httpDeberías ver una herramienta, get_recent_earthquakes, y un recurso, ui://widget/quakes.html, con mimeType text/html+skybridge.
Related MCP server: usgs-earthquakes
Exponer a través de HTTPS
Athena requiere HTTPS. Para desarrollo:
ngrok http 8787Registra el agente en https://athenachat.bot/chatbot/mybots/create y establece la URL de MCP en https://<your-subdomain>.ngrok.app/mcp — la ruta /mcp es obligatoria.
Para una URL que sobreviva más allá de la demo, haz push de este repositorio y despliégalo en Render o Railway. Comando de compilación npm install, comando de inicio npm start. Ambos inyectan PORT, que el servidor lee.
Indicaciones que activan la herramienta
"Muéstrame los terremotos recientes"
"¿Ha habido actividad sísmica hoy?"
"¿Ha habido grandes terremotos en la última semana?"
Qué hace que el widget sea interactivo
Control | Comportamiento |
Deslizador de magnitud | Filtra al instante en el navegador, sin llamada al servidor |
Clic en una fila | Expande profundidad, coordenadas, indicador de tsunami |
Botones de ventana de tiempo | Vuelve a llamar a |
El estado sobrevive al re-renderizado mediante window.openai.setWidgetState.
Adaptar esto a otra fuente de datos
Dos lugares cambian, ambos marcados en el código.
server.js— la funciónfetchData. Devuelve{ items: [...], meta: {...} }. Actualiza también el nombre de la herramienta, la descripción yinputSchemapara que coincidan con el nuevo dominio.public/widget.html— la funciónrendery los dos manejadores de los controles.
Todo lo demás (transporte, registro de recursos, CORS, metadatos) es independiente del dominio.
Cosas que te harán perder el tiempo
window.openaies undefined → el mimeType del recurso no es exactamentetext/html+skybridge.callToolno hace nada → a la herramienta le falta_meta["openai/widgetAccessible"]: true.El widget no puede obtener datos de una API directamente → el CSP del iframe lo bloquea. Obtén los datos desde el servidor.
Athena sigue mostrando herramientas antiguas → Configuración → Conectores → Actualizar.
La documentación de Athena importa
@modelcontextprotocol/sdk/server/streamable-http.js. Esa ruta no existe. La correcta esstreamableHttp.js.
This server cannot be deployed
Maintenance
Related MCP Connectors
Real-time earthquake events from the US Geological Survey
Recent earthquakes worldwide or near a place, from USGS. Free, no key.
Search USGS and EMSC seismic data — real-time feeds, event queries, and earthquake counts.
Live USGS earthquake alerts: M2.5+ 24h, mag, depth. Register in-session — free testnet funds.
Related MCP Servers
- AlicenseAqualityCmaintenanceProvides access to the USGS Quakes API within Claude Desktop, enabling users to retrieve earthquake data and details through natural language queries.311 npm1MIT
- AlicenseNot gradedqualityBmaintenanceProvides access to the USGS Earthquake Catalog for querying earthquake events via the FDSNWS API, enabling natural language questions about earthquake data.198 npmMIT
- AlicenseAqualityCmaintenanceMCP server wrapping the USGS Earthquake Hazards API, enabling AI assistants to search the global earthquake catalog, look up event details, count quakes, find 'Did You Feel It' reports, and read realtime feeds.5MIT
- AlicenseAqualityDmaintenanceReal-time earthquake data and seismic monitoring for AI agents via the USGS Earthquake Catalog API.824 PyPIMIT