Skip to main content
Glama

Athena Agent — live earthquake feed

An Athena AI agent backed by an MCP server. It pulls real seismic readings from the USGS public feed and renders them in an interactive widget inside the chat.

Run it

npm install
npm start          # http://localhost:8787/mcp

Verify before touching Athena:

npx @modelcontextprotocol/inspector@latest --server-url http://localhost:8787/mcp --transport http

You should see one tool, get_recent_earthquakes, and one resource, ui://widget/quakes.html, with mimeType text/html+skybridge.

Related MCP server: Comprehensive Earthquake Monitoring MCP Server

Expose over HTTPS

Athena requires HTTPS. For development:

ngrok http 8787

Register the agent at https://athenachat.bot/chatbot/mybots/create and set the MCP URL to https://<your-subdomain>.ngrok.app/mcp — the /mcp path is required.

For a URL that survives past the demo, push this repo and deploy to Render or Railway. Build command npm install, start command npm start. Both inject PORT, which the server reads.

Prompts that trigger the tool

  • "Show me recent earthquakes"

  • "Has there been any seismic activity today?"

  • "Any big quakes in the past week?"

What makes the widget interactive

Control

Behaviour

Magnitude slider

Filters instantly in the browser, no server call

Row click

Expands depth, coordinates, tsunami flag

Time window buttons

Calls get_recent_earthquakes again via window.openai.callTool and re-renders with fresh data

State survives re-render through window.openai.setWidgetState.

Adapting this to another data source

Two places change, both marked in the code.

  1. server.js — the fetchData function. Return { items: [...], meta: {...} }. Also update the tool name, description, and inputSchema to match the new domain.

  2. public/widget.html — the render function, and the two control handlers.

Everything else (transport, resource registration, CORS, metadata) is domain-agnostic.

Things that will waste your time

  • window.openai is undefined → the resource mimeType is not exactly text/html+skybridge.

  • callTool does nothing → the tool is missing _meta["openai/widgetAccessible"]: true.

  • Widget can't fetch an API directly → the iframe CSP blocks it. Fetch server-side.

  • Athena still shows old tools → Settings → Connectors → Refresh.

  • Athena's docs import @modelcontextprotocol/sdk/server/streamable-http.js. That path does not exist. It is streamableHttp.js.

A
license - permissive license
Not graded
quality - not tested
C
maintenance

Maintenance

Maintainers
Response time
Release cycle
Releases (12mo)
Commit activity

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Servers

  • A
    license
    A
    quality
    C
    maintenance
    Provides access to the USGS Quakes API within Claude Desktop, enabling users to retrieve earthquake data and details through natural language queries.
    3
    287
    1
    MIT
  • A
    license
    Not graded
    quality
    C
    maintenance
    Provides access to the USGS Earthquake Catalog for querying earthquake events via the FDSNWS API, enabling natural language questions about earthquake data.
    11
    MIT
  • A
    license
    A
    quality
    C
    maintenance
    MCP 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.
    5
    MIT

View all related MCP servers

Related MCP Connectors

  • Search USGS and EMSC seismic data — real-time feeds, event queries, and earthquake counts.

  • US weather, alerts, earthquakes and elevation for AI agents, from NWS/NOAA and USGS. No API keys.

  • US weather & geo for AI agents: forecasts, alerts, earthquakes, elevation, geocoding. No keys.

View all MCP Connectors

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/kankush7776-del/MCP'

If you have feedback or need assistance with the MCP directory API, please join our Discord server