Athena Agent
Athena Agent — лента землетрясений в реальном времени
AI-агент Athena на базе MCP-сервера. Он получает реальные данные о землетрясениях из публичной ленты USGS и отображает их в интерактивном виджете в чате.
Запуск
npm install
npm start # http://localhost:8787/mcpПроверьте перед работой с Athena:
npx @modelcontextprotocol/inspector@latest --server-url http://localhost:8787/mcp --transport httpВы должны увидеть один инструмент, get_recent_earthquakes, и один ресурс, ui://widget/quakes.html, с mimeType text/html+skybridge.
Related MCP server: usgs-earthquakes
Доступ по HTTPS
Athena требует HTTPS. Для разработки:
ngrok http 8787Зарегистрируйте агента по адресу https://athenachat.bot/chatbot/mybots/create и укажите MCP URL: https://<your-subdomain>.ngrok.app/mcp — путь /mcp обязателен.
Чтобы получить URL, который переживёт демо, запушьте этот репозиторий и разверните его на Render или Railway. Команда сборки — npm install, команда запуска — npm start. Обе платформы внедряют переменную PORT, которую читает сервер.
Запросы, которые запускают инструмент
"Покажи недавние землетрясения"
"Была ли сегодня сейсмическая активность?"
"Были ли крупные землетрясения за последнюю неделю?"
Что делает виджет интерактивным
Управление | Поведение |
Ползунок магнитуды | Мгновенно фильтрует в браузере, без обращения к серверу |
Клик по строке | Раскрывает глубину, координаты, флаг цунами |
Кнопки временного окна | Снова вызывает |
Состояние сохраняется при повторном рендере через window.openai.setWidgetState.
Адаптация под другой источник данных
Меняются два места, оба отмечены в коде.
server.js— функцияfetchData. Возвращайте{ items: [...], meta: {...} }. Также обновите имя инструмента, описание иinputSchemaпод новую предметную область.public/widget.html— функцияrenderи два обработчика управления.
Всё остальное (транспорт, регистрация ресурсов, CORS, метаданные) не зависит от предметной области.
Что отнимет у вас время
window.openaiне определён → mimeType ресурса не является в точностиtext/html+skybridge.callToolничего не делает → в инструменте отсутствует_meta["openai/widgetAccessible"]: true.Виджет не может напрямую обращаться к API → CSP внутри iframe блокирует это. Делайте запросы на стороне сервера.
Athena всё ещё показывает старые инструменты → Settings → Connectors → Refresh.
Документация Athena импортирует
@modelcontextprotocol/sdk/server/streamable-http.js. Такого пути не существует. Правильный путь —streamableHttp.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