# Build on the AI-agent fabric (/deploy/scenarios/agents)



<Callout type="info">
  KubeMQ must be running — see the [Quickstart](/deploy/quickstart#get-your-key) (steps
  1–2 get you there; instant if it's already up).
</Callout>

KubeMQ's &#x2A;*Agent-to-Agent (A2A)** and &#x2A;*Model Context Protocol (MCP)** gateways are live
the moment KubeMQ runs — both ship on by default on the shared HTTP server, port `9090`.
Unlike the seven wire-protocol connectors under [Replace your messaging
stack](/deploy/scenarios/replace), which are opt-in and need an enable flag, there's
no `CONNECTORS_*_ENABLE` step here: start the broker and the fabric is already listening.

## Three ways in [#three-ways-in]

<Cards>
  <Card title="Connect an MCP host" href="/deploy/scenarios/agents/connect-mcp-host" description="Point Claude Desktop, Cursor, or any MCP host at KubeMQ's built-in MCP endpoint, list the tools, and drive messaging from your LLM." />

  <Card title="Register your first agent" href="/deploy/scenarios/agents/register-first-agent" description="Wrap an existing plain-HTTP service as a KubeMQ A2A agent with zero SDK — register, discover by capability, and invoke it." />

  <Card title="Drive KubeMQ from an LLM" href="/deploy/scenarios/agents/drive-from-llm" description="Orchestrate durable messaging and A2A agents from an LLM over MCP in a single session — the end-to-end fabric in action." />
</Cards>

## What the fabric gives you [#what-the-fabric-gives-you]

Both doors open into the same fabric, not two bolted-together servers:

* A shared discovery and registry layer so callers find agents by capability
* Streaming responses over &#x2A;*Server-Sent Events (SSE)** for long-running work
* An **HA agent registry** replicated to every cluster node so a node failure doesn't strand an agent
* Guardrails — TTL liveness, request timeouts, and per-agent concurrency caps — that keep a whole agent fleet production-safe rather than a demo

The full picture, including the enterprise envelope and both getting-started guides, lives on [KubeMQ Aiway](/aiway).

<Callout type="warn">
  **Didn't work?**

  * **Nothing answers on `:9090`** — the fabric is only live while KubeMQ itself is
    running; confirm with `docker ps` or `kmq status`, or work through
    [Quickstart](/deploy/quickstart) if you haven't started it yet.
  * **Port 9090 not published** — if you started KubeMQ with a custom `docker run` (or
    `<RunKubeMQ ports={[]} />`), make sure `9090` is exposed.
  * **No license key** — a standalone server refuses to boot without one; see [Get a
    license key](/deploy/license-key).
</Callout>
