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

# MCP surfaces

> System reference for gateway-console, Registry MCP, and hosted gateway MCP — roles, stacks, and how they relate to packages.

# MCP surfaces

Compact comparison of **gateway-console**, **registry-mcp-server** (Registry MCP), and **hosted-gateway-mcp**. These surfaces slot into the **Infrastructure** and **Protocol** layers of the canonical five-layer model — see [Core Concepts — Layered ecosystem](/getting-started/concepts#layered-ecosystem-model-canonical). For the broader four-layer product map, see [Platform architecture](/getting-started/platform-architecture).

<Note>
  This page is the **canonical** reference for MCP-related surfaces. Tool-by-tool listings live under [MCP Tool Reference](/integrations/mcp-reference).
</Note>

## At a glance

|                        | **gateway-console**                                                                                                                                                                                                                                                | **registry-mcp-server**                                                                                                                                                                                  | **hosted-gateway-mcp**                                                                             |
| ---------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------- |
| **Role**               | Browser operator UI for a self-hosted gateway                                                                                                                                                                                                                      | HTTP MCP server for registry discovery (`@commercegateway/registry-mcp`)                                                                                                                                 | Node MCP-style HTTP for hosted commerce tools (multi-tenant intent)                                |
| **Primary user**       | Operator configuring their own gateway                                                                                                                                                                                                                             | Remote MCP clients (e.g. Grok) resolving merchants via registry                                                                                                                                          | Hosted tenants / internal stack (gated tools)                                                      |
| **Stack**              | **Not found under `apps/` in bd-forge-main.** *Implementation detail pending verification* — may live in Commerce Gateway OSS repos or legacy paths. Do **not** assume port **`3012`** here; **`3012`** is **`hosted-loops`** (`pnpm dev` in `apps/hosted-loops`). | Next.js; **`pnpm dev` → port 3015**; MCP entry **`POST /mcp`** (`apps/registry-mcp-server/app/mcp/route.ts`)                                                                                             | Plain Node **`http`** server (default **`PORT` 8081**); **`apps/hosted-gateway-mcp/src/index.ts`** |
| **Core package**       | `commerce-gateway`, `commerce-gateway-mcp`, `registry-mcp` (for UI/config) — *surface location pending verification above*                                                                                                                                         | `@commercegateway/registry-mcp` + MCP SDK                                                                                                                                                                | `@commercegateway/commerce-gateway` (`/mcp` tool defs + capabilities)                              |
| **`@repo/database`**   | *Implementation detail pending verification*                                                                                                                                                                                                                       | Yes — **when `DATABASE_URL` is set**, Bearer MCP keys resolve via `gatewayApiKey` lookup (`apps/registry-mcp-server/lib/register-mcp-api-key-resolver.ts`; see **`apps/registry-mcp-server/DEPLOY.md`**) | No — no Prisma/database import in **`hosted-gateway-mcp`** today                                   |
| **OSS vs proprietary** | OSS-style operator story (verify repo)                                                                                                                                                                                                                             | App is monorepo-only; uses OSS `registry-mcp`                                                                                                                                                            | Proprietary skeleton                                                                               |

## One line each

* **gateway-console** — A dashboard: providers, connectors, keys, status, registry link, telemetry preview; writes local `gateway.config.json`. **It is not an MCP endpoint.**
* **registry-mcp-server** — The deployed Registry MCP (e.g. `mcp.commercegateway.io`): JSON-RPC over streamable HTTP for discovery tools (registry protocol). Deploy notes: `apps/registry-mcp-server/DEPLOY.md` in the monorepo.
* **hosted-gateway-mcp** — HTTP service exposing commerce MCP **tool definitions** gated by **`CapabilitySet`** from `@commercegateway/commerce-gateway`. **Verified routes** in `apps/hosted-gateway-mcp/src/index.ts`: **`GET /`** (HTML summary), **`GET /health`** (JSON), **`GET /tools/list?org=`** — requires **`Authorization: Bearer demo-key`** or **`x-api-key: demo-key`** for demo org (`org_demo`), or org slug fallback path as implemented in source. Not registry discovery.

## Relationship to packages

* **`@commercegateway/registry-mcp`** — Library used by **registry-mcp-server** (and by **gateway-console** for registry-related UI).
* **`@commercegateway/commerce-gateway`** (including `/mcp` exports) — What **hosted-gateway-mcp** uses for commerce execution tools, **not** registry discovery.

## Where these surfaces appear

### Product

* **Better Data SCM** (`/welcome` and workspace modules): operators use **Gateway** and **Commerce Registry** in-product; Remote MCP URLs and protocol docs are **after** workspace setup, not a separate external product signup.
* **Gateway Console** (self-host story) is documented as a developer/operator path alongside hosted gateway flows — same module narrative, not a competing control plane.

### OSS

* **`@commercegateway/registry-mcp`** — npm package; discovery tools for `@shop` resolution. See the package README in the repo.
* **`@commercegateway/commerce-gateway`** — MCP tool execution surface for commerce backends.
* Monorepo apps **gateway-console**, **registry-mcp-server**, **hosted-gateway-mcp** map to the three columns in [At a glance](#at-a-glance).

### Web

* Marketing and product pages on **betterdata.co** link here as the **system reference** for “which MCP surface is which.”
* **Developer Accelerators** (Gateway Demo / Commerce Demo) are reference experiences only — not MCP endpoints; see [Commerce Gateway integration](/integrations/commerce-gateway) and [introduction](/getting-started/introduction).

## Messaging alignment

* **Commerce Registry is native to the platform.** Do not frame it as a separate external “registration product” that users must sign up for outside Better Data. Protocol docs and Remote MCP URLs are **after** in-product setup and configuration.
* **Demos** — reference experiences and developer accelerators. They are **not** control planes, **not** operator surfaces, and **not** standalone products.

## Commerce Agent pattern (canonical)

**Commerce Agent** is **not** a module or product — it is the **composition pattern** that ties MCP surfaces together: discover (**Registry MCP**) → execute (**Commerce Gateway**) → govern (**Loop Engine**) → **recorded outcome / state**; reference **Gateway Demo** / **Commerce Demo** illustrate the stack for humans only.

Full definition, diagram, and rules: **[Commerce Agent pattern (C9)](/reference/commerce-agent-pattern)**.

## Related

* [Hosted platform apps](/reference/hosted-platform-apps) — hosted-gateway-mcp, registry-mcp-server, plus **hosted-loops** and **registry-loop** (one-page explainer)
* [Commerce Agent pattern (C9)](/reference/commerce-agent-pattern) — canonical agent model (product, demos, docs)
* [Surface contract (C8)](/reference/surface-contract) — canonical names, URLs, owners, diagram rules
* [Commerce Registry Protocol](/reference/commerce-registry-protocol)
* [Commerce Gateway integration](/integrations/commerce-gateway)
* [MCP Tool Reference](/integrations/mcp-reference)
* [Platform architecture](/getting-started/platform-architecture)
