procedure

Install the MCP server

There is no hosted connector. This is one you run.

MCP access today is a private, single-tenant, self-hosted deployment behind a bearer token or your own tunnel. There is no public connector to add and no multi-tenant sign-in: establishing OAuth 2.1 for public multi-tenant MCP is an open launch gate, and the package deliberately does not embed an authorisation server. What follows sets up a deployment you control, exposing 76 tools over the same REST routes the browser uses.
steps
6
roughly
Fifteen minutes locally
things needed first
3
before you start

What you need first

  • Node.js, and the API running — locally it needs no credentials at all
  • A decision about auth: no token for local development, a service token for a private single-tenant deployment
  • For remote access, HTTPS and a hostname you can add to the allowlist
the procedure

6 steps

Every step carries the thing that goes wrong at it, in its own block. That is the part worth reading.

  1. step 01

    Run the API

    Start the API in sandbox mode. With authentication disabled it needs no credentials and no environment variables, and the whole loop works.

    what goes wrong here

    That mode is explicitly not an authentication boundary — it grants its single dev identity every human permission implicitly. It is for local development and nothing else.

  2. step 02

    Build the MCP server

    Build the MCP package so it emits its distributable, then point it at the API. The server talks to the API over HTTP only, with no database coupling.

    what goes wrong here

    It can point at any running API instance, which is what makes a separate staging deployment straightforward.

  3. step 03

    Register it with Claude Code over stdio

    Add the server by pointing the client at the built stdio entry point. This is the recommended local setup.

    what goes wrong here

    Use the HTTP transport instead when the server runs somewhere other than the machine driving it.

  4. step 04

    Or register it over HTTP

    Start the HTTP transport and register the URL with your client. The transport is stateless, so it works behind tunnels and load balancers with no session affinity.

    what goes wrong here

    Never expose the unauthenticated server. Set a bearer secret and pass it as an Authorization header.

  5. step 05

    Set the boundary before accepting traffic

    Production requires exact allowed hosts and exact allowed browser origins — set origins to none for a deployment with no browser clients. Local execution binds to loopback unless a container deployment opts out explicitly.

    what goes wrong here

    Verifier time, request concurrency and JSON body size are all bounded, and a modern request missing its protocol version header is rejected before dispatch.

  6. step 06

    Check the health probe

    The health endpoint returns service status and the API URL, with no authentication required.

    what goes wrong here

    If it answers but tool calls fail, the problem is almost always the API credential rather than the MCP server.

what you end up with

A working MCP server exposing 76 tools to your client, over the same routes, tenant boundary and approval gates the dashboard uses.

45 minutes. Bring a real brief and we compile it live.

Talk it through

Questions

Can I add AdBuyMCP as a connector on claude.ai?

Only if you host it yourself and expose it over HTTPS with a bearer secret, adding your hostname to the allowlist first. There is no hosted AdBuyMCP connector to add. Public multi-tenant MCP needs an authorisation server issuing per-user, per-organisation, audience-bound tokens, and that is an open gate rather than a configuration option.