KHAO MCP Server

Model Context Protocol · stdio · zero cost

KHAO publishes a Model Context Protocol server so AI agents — Claude Desktop, Claude Code, Cursor, ChatGPT desktop, custom MCP clients — can query KHAO's news + entity data directly, without scraping HTML.

The server is a thin protocol wrapper over the existing JSON API. It does not call Claude, Anthropic, or any third party; it reads pre-baked static JSON and is free to use.

Connect (no install)

The fastest path. KHAO hosts a remote MCP server at mcp.khao.ai — register it with one command:

Claude Code

claude mcp add khao --transport http https://mcp.khao.ai/mcp

Other MCP clients

Connect to either endpoint depending on your client's transport support:

https://mcp.khao.ai/mcp     (Streamable HTTP — current MCP spec)
https://mcp.khao.ai/sse     (Server-Sent Events — legacy clients)

No auth, no rate limits, no install. Hosted on Cloudflare Workers (free tier).

Install locally (developers)

If you'd rather run the server on your own machine — useful when iterating on KHAO itself:

Claude Code

claude mcp add khao -- \
  /abs/path/to/khao/.venv/bin/python \
  /abs/path/to/khao/scripts/khao_mcp_server.py

Claude Desktop

Edit ~/Library/Application Support/Claude/claude_desktop_config.json (macOS) and add:

{
  "mcpServers": {
    "khao": {
      "command": "/abs/path/to/khao/.venv/bin/python",
      "args": ["/abs/path/to/khao/scripts/khao_mcp_server.py"]
    }
  }
}

Restart Claude Desktop. The KHAO tools will appear in the tool picker.

Source

Both servers (stdio + the Cloudflare Worker behind mcp.khao.ai) live in the khaoai/khaoai repo: scripts/khao_mcp_server.py and mcp-worker/ respectively.

Tools exposed

  • khao_today()

    Most recent day's stories — title, source, importance, summary.

  • khao_search(query, limit=20, days=30)

    Substring search across the recent archive.

  • khao_entity(slug)

    Full profile + coverage timeline for one entity. Slugs are canonical (sam-altman, elon-musk, donald-trump, chatgpt, etc.).

  • khao_entities()

    List every tracked entity (≥5 mentions across the archive).

  • khao_themes(limit=6, days=7)

    Top recurring themes over a window — same data that powers /insight.html.

  • khao_archive(date_str)

    Full Markdown digest for a specific YYYY-MM-DD.

Data freshness

The server fetches live JSON from https://khao.ai. Override with the KHAO_BASE_URL env var for local development:

KHAO_BASE_URL=http://localhost:8000 python khao_mcp_server.py
KHAO_BASE_URL=file:///abs/path/to/khao/public python khao_mcp_server.py

Cost

Zero. The server reads pre-baked static JSON; no Claude API calls, no third-party services, no rate limits.

Status

v1 · 6 tools · stdio + remote HTTP (Streamable HTTP & SSE) · published .