> ## Documentation Index
> Fetch the complete documentation index at: https://docs.xysq.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# any MCP client

> Wire any MCP client with HTTP or SSE transport to xysq. About two minutes, authenticated with an API key.

Any MCP client that supports HTTP transport can connect to xysq with a bearer token. Takes about two minutes.

<Steps>
  <Step title="Generate your API key">
    Open the generic connect guide in [app.xysq.ai](https://app.xysq.ai) (**Connect → Generic HTTP**) and generate a key. The full value is shown exactly once; copy it right away.
  </Step>

  <Step title="Copy your MCP config">
    xysq supports both **streamable-http** (v2, recommended) and **legacy SSE**. Use whichever your client supports:

    ```json theme={"dark"}
    {
      "v2": {
        "transport": "streamable-http",
        "url": "https://api.xysq.ai/mcp",
        "headers": {
          "Authorization": "Bearer YOUR_API_KEY"
        }
      }
    }
    ```

    Legacy SSE clients connect to `https://api.xysq.ai/sse` instead, same bearer header.

    Most modern MCP clients accept this shape directly. If yours uses a different field naming, the values stay the same; just remap `url`, `headers.Authorization`, and the transport name.
  </Step>

  <Step title="Test the connection">
    Before wiring xysq into your client, sanity-check the connection from the command line:

    ```bash theme={"dark"}
    curl -i -H "Authorization: Bearer YOUR_API_KEY" https://api.xysq.ai/mcp
    ```

    A successful response (anything in the 2xx range, or an MCP handshake) means you're authenticated. A `401` means the key is wrong; a network error means you can't reach the host.

    Once that works, paste your config into the client and start the connection.
  </Step>

  <Step title="Verify the connection">
    Trigger any xysq tool call from your client. The in-app guide watches for the first call and marks the connection verified.

    <Tip>If your client doesn't surface tool calls explicitly, try asking for context. Most MCP-aware clients invoke `pull_context` when asked to remember or look up something.</Tip>
  </Step>
</Steps>
