MCP · Claude Code

Claude Code web search MCP setup

One command adds the search_web tool to Claude Code: bounded search over a curated English and Chinese index, with fetched_at on every result.

Add with one command

Install the annolux-mcp binary first (see the MCP overview below), then register it from your terminal. Replace the key placeholder with a real key from your account.

claude mcp add annolux --env ANNOLUX_API_URL=https://api.annolux.com --env ANNOLUX_API_KEY=ann_live_REPLACE_ME -- annolux-mcp

Pick the right scope

Never commit a raw key. In a shared .mcp.json, reference an environment variable instead — Claude Code expands ${ANNOLUX_API_KEY} from each developer's own environment.

  • local (default) — this project on this machine only.
  • --scope project — writes .mcp.json in the repo so teammates share the server definition.
  • --scope user — available in all your projects on this machine.
{
  "mcpServers": {
    "annolux": {
      "command": "annolux-mcp",
      "env": {
        "ANNOLUX_API_URL": "https://api.annolux.com",
        "ANNOLUX_API_KEY": "${ANNOLUX_API_KEY}"
      }
    }
  }
}

Verify it works

Run claude mcp list to confirm the server is registered, or type /mcp inside a session to see its status and the search_web tool. Then ask Claude to search something specific — for example, restrict results with a domains allow-list — and to cite fetched_at next to any link it uses.

The same registration also applies to non-interactive runs with claude -p, so scripted agents call the identical bounded tool with no extra setup.

Behavior your agent can rely on

  • Only a successful 2xx search costs a credit; errors and timeouts cost zero.
  • An empty result set is a normal outcome — handle it, don't retry blindly.
  • freshness is rejected as unsupported; the index is curated and refreshed on a schedule, not realtime.
  • limit is capped at 10 and timeout at 30 seconds.

Update or remove

To update the server, rerun go install with @latest — the registration itself does not change. To unregister, remove it from the same scope you added it to; run claude mcp list first if you are not sure which scope holds it.

claude mcp remove annolux

Other clients