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

No separate install is needed — npx downloads annolux-mcp on first run. This command starts the limited sandbox immediately, with no account or API key. For the full account allowance, add -e ANNOLUX_API_KEY=ann_live_YOUR_API_KEY before --.

claude mcp add annolux -- npx -y 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": "npx",
      "args": ["-y", "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

npx resolves the published package when the client starts. To confirm the newest release directly, run npx -y annolux-mcp@latest once, then restart the client. 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