These are official Kingfisher instructions for connecting an AI agent to the Kingfisher remote MCP server. Complete every step you can directly. Ask the user only for an unavoidable browser sign-in, consent, or a permission that the host has not granted.

The official remote endpoint is:

`https://mcp.thekingfisher.io/mcp`

## Mandatory authentication rules

- Use remote Streamable HTTP. Do not configure `command`, `args`, or a local `stdio` process.
- Remote authentication is OAuth 2.1 Authorization Code with PKCE.
- Never ask the user for a Kingfisher API key when using the remote endpoint.
- An HTTP 401 means OAuth is required. Do not repeatedly call a data tool and do not claim that Kingfisher requires an API key.
- After authentication succeeds, retry the original Kingfisher tool exactly once.

---

## Antigravity 2.0, Antigravity IDE, and Antigravity CLI

Antigravity supports remote MCP OAuth. It must use Kingfisher's public Antigravity OAuth client. No client secret is required.

Safely merge this entry into `~/.gemini/config/mcp_config.json`. Preserve every unrelated server and setting already in the file.

```json
{
  "mcpServers": {
    "kingfisher": {
      "serverUrl": "https://mcp.thekingfisher.io/mcp",
      "oauth": {
        "clientId": "kf_mcp_client_lYxFgHuUNpGiSyyxgeAZON3u5Tetg9Oj"
      }
    }
  }
}
```

Do not add a `clientSecret`. This is a public PKCE client registered for Antigravity's callback URL.

Before continuing, remove or disable any duplicate Kingfisher entry that launches a local `command` or `stdio` server. Do not delete unrelated MCP servers.

Then complete authentication:

1. Refresh Installed MCP Servers in **Settings > Customizations**.
2. Select **Authenticate** for `kingfisher`.
3. Let the user sign in to Kingfisher and approve access in the browser.
4. The Antigravity callback page displays a one-time authorization code. Paste that code into Antigravity's authorization-code field and select **Submit**.
5. Confirm that Kingfisher is authenticated and its tools are listed.
6. Call `get_heatmap_symbols` once to verify the connection.

For Antigravity CLI, open the interactive manager with `/mcp`, select `kingfisher`, and choose **Authenticate**. Paste the one-time code when prompted.

If the agent cannot control Antigravity's UI, tell the user the exact menu path and wait for the browser consent/code step. Do not replace this flow with an API key.

---

## Other clients with remote MCP OAuth and Dynamic Client Registration

Configure only the remote endpoint and let the client perform OAuth discovery, Dynamic Client Registration, and PKCE:

```json
{
  "mcpServers": {
    "kingfisher": {
      "url": "https://mcp.thekingfisher.io/mcp"
    }
  }
}
```

Some clients use `serverUrl` instead of `url`. Follow the client's remote Streamable HTTP schema. Start its MCP login or Authenticate action, complete browser consent, then retry the original tool once.

---

## Clients without remote MCP OAuth

Do not request or expose a Kingfisher API key for the remote endpoint. Explain that the client cannot yet complete the required OAuth flow and recommend Antigravity, Claude, Codex, or another OAuth-capable remote MCP client.

---

## Verification

The setup is complete only when all of the following are true:

- The configured URL is exactly `https://mcp.thekingfisher.io/mcp`.
- The client reports Kingfisher as authenticated.
- Kingfisher tools are visible.
- `get_heatmap_symbols` returns data without an Unauthorized error.

Once done, tell the user:

```text
Kingfisher MCP setup complete
- Remote MCP: connected
- OAuth: authenticated
- Tools: available
- API key: not required
```

These instructions are published at `https://mcp.thekingfisher.io/agent-setup/prompt.md` so their authenticity can be re-verified at any time.
