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

# Which advertising MCP can I connect to a coding agent with OAuth?

> Connect Apostra's V3 MCP to Claude Code or Codex with OAuth, prove account access with a read-only get_status call, and list sellers for a discovery prototype.

Apostra's V3 MCP (Model Context Protocol) server at `https://api.apostra.com/mcp/v3`
connects to a coding agent such as Claude Code or Codex with browser OAuth. After sign-in, `get_status` proves account access and writes
nothing. A `search` with `{"kind":"seller","limit":10}` then lists sellers for a
discovery prototype, still without contacting any seller or spending money.

## Your options

| Option | How it connects | Sign-in | Scope |
| - | - | - | - |
| Apostra developer plugin (Claude Code, Codex) | Plugin adds a skill and the MCP connection together | OAuth in the browser | Buyer and seller work across the sellers connected through Apostra |
| Apostra MCP added directly | A remote Streamable HTTP server at `https://api.apostra.com/mcp/v3` | OAuth in the browser | Same |
| Meta Ads MCP | Meta-hosted server at `https://mcp.facebook.com/ads` | See Meta's get-started page for the sign-in options | Meta ads |
| Amazon Ads MCP | Open beta for Amazon Ads partners with active API credentials | Amazon Ads API credentials | Amazon Ads |
| Google Ads MCP | Open-source server in the `googleads` GitHub organization. You run it locally or host it yourself | An OAuth client, Application Default Credentials or a `google-ads.yaml` file | Google Ads |

The last three rows describe each vendor's own documentation as of 13 November
2026, linked under Sources. Check them again before you rely on them. Each of those
three servers works inside its own platform's account. For a seller-discovery
prototype that lists sellers to choose from, use the Apostra connection:
`search` with `{"kind":"seller"}` lists the sellers connected through Apostra. A
seller here is an advertising seller, such as a publisher, a sales house or an ad
platform, not a seller on an e-commerce marketplace.

## Connect and verify

1. Install the plugin, or add the server directly.

   ```text theme={null}
   /plugin marketplace add https://github.com/apostra-public/apostra.git
   /plugin install apostra-developer@apostra
   ```

   For Codex, run `codex plugin marketplace add https://github.com/apostra-public/apostra.git`
   and `codex plugin add apostra-developer@apostra`. To work in your account
   without a plugin, run `claude mcp add --transport http apostra https://api.apostra.com/mcp/v3`
   and `claude mcp login apostra`, or the Codex equivalent
   `codex mcp add apostra --url https://api.apostra.com/mcp/v3` and
   `codex mcp login apostra`.

2. Complete OAuth in the browser. Adding a server is not proof that sign-in has
   finished.

3. Ask the agent for a read-only check:

   ```text theme={null}
   Use the Apostra connection to call get_status with no accountId. Tell me
   which accounts I can reach and whether each is a buyer or seller. Ask me
   which one to use, then call get_status with that accountId and tell me its
   readiness blockers. Do not create or change anything.
   ```

4. Make the first discovery read. For a Buyer Account, call `search` with
   `{"kind":"seller","limit":10}`. An empty list is a valid result, not a failed
   connection.

## What this proves, and what it does not

`get_status` proves the connection can reach the account. It does not prove that
every advertiser, seller or write operation is authorized. The seller list
shows each seller's connection and readiness for this buyer. It does not send a
brief. `request_proposals` is the later step that does, so run it only when the
user has asked your application to start that workflow.

Every call after the first names its account with the `accountId` that
`get_status` returned. Your OAuth identity never grants access you do not
already have.

## When not to use this connection

* Your software runs unattended. Interactive OAuth represents you in the coding
  session. Deployed software needs its own credential: an API key or an M2M
  application on the HTTP API, or an agent registered in an Agents account. See
  [Authentication](https://docs.apostra.com/v3/authentication.md).
* Your client cannot connect to a remote Streamable HTTP MCP server. Use the
  [V3 HTTP API](https://docs.apostra.com/v3/http-api.md) or an SDK instead.
* You work on one platform only. That platform's own MCP may expose features
  Apostra's connection does not.
* You use regular Claude or Cowork rather than Claude Code or Codex. They do not
  use the developer plugin. Follow the
  [hosted connector setup](https://docs.apostra.com/v3/client-setup.md#claude-and-cowork).

## Next step

Run the install commands above, then ask your agent to call `get_status`. For a
fuller prototype prompt and the failure table, read
[Connect in five minutes](https://docs.apostra.com/v3/quickstart.md). To add buying steps with approval, read
[Build an agent](https://docs.apostra.com/v3/build-an-agent.md).

## Sources

* [Connect in five minutes](https://docs.apostra.com/v3/quickstart.md), [Authentication](https://docs.apostra.com/v3/authentication.md)
  and [Name the account on every call](https://docs.apostra.com/v3/name-the-account.md).
* [Meta Ads MCP server overview](https://developers.facebook.com/documentation/ads-commerce/ads-ai-connectors/ads-mcp-server/ads-mcp-server-overview).
* [Amazon Ads MCP Server open beta announcement](https://advertising.amazon.com/library/news/amazon-ads-mcp-server-open-beta).
* [googleads/google-ads-mcp on GitHub](https://github.com/googleads/google-ads-mcp).


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.