Skip to main content

MCP Guide

The NativeAds MCP server exposes the headless platform as Model Context Protocol tools — create brands, extract Brand DNA, upload assets, and generate images and video.

Settings​

Authentication​

The MCP server accepts the same credentials as the REST API:

  • Bearer token (API key) — the standard method for partners and server-to-server integrations. NativeAds accounts are invite-only: email sales@nativeads.ai to request an invite. Once you accept and sign in at app.nativeads.ai, go to Settings → Account → API Keys, click Create, name the key, and copy the token immediately — it's shown once and can't be retrieved again. Send it as a Bearer token on every MCP request:

    Authorization: Bearer nak_production_<keyId>.<secret>

    A key acts as its owning user within their organization — same permissions, no more. Treat it like a password.

  • OAuth (browser sign-in) — for individual users connecting a personal MCP client (Claude Desktop, Cursor, ChatGPT) via Settings → MCP, using their own invited NativeAds account.

New partner? Email sales@nativeads.ai for an invite before working through the client setup below.

Settings​

Once signed in, click your profile picture in the top-right corner, open Settings, and select MCP. That page lists supported clients and how to connect each one as well.

Standard MCP clients​

MCP server URL​

https://mcp.nativeads.ai/mcp

Choosing an organization​

If your account belongs to more than one organization, add ?org= to the URL to say which one the connection acts in:

https://mcp.nativeads.ai/mcp?org=<organization id>

The value is your organization's id — either the org_... identifier or its UUID. You can connect one client per organization by using a different ?org= value for each, and each connection stays bound to the organization named in its URL.

Without ?org=, the connection uses whichever organization is currently active on your NativeAds account. That is fine for a single-organization account, but on a multi-organization account it means the connection follows whatever you last used in the web app, so prefer naming it explicitly.

You are only ever able to select an organization you already belong to, and your permissions are the ones you hold in that organization. Naming an organization you are not a member of is refused.

Connect your client​

Claude Code​

Run this in your terminal, then use /mcp to authenticate.

claude mcp add --transport http nativeads https://mcp.nativeads.ai/mcp

Claude Desktop​

Go to Settings → Connectors → Add custom connector, then paste this URL.

https://mcp.nativeads.ai/mcp

Cursor​

Add this to .cursor/mcp.json.

{
"mcpServers": {
"nativeads": {
"url": "https://mcp.nativeads.ai/mcp"
}
}
}

VS Code (GitHub Copilot)​

Add this to .vscode/mcp.json.

{
"servers": {
"nativeads": {
"type": "http",
"url": "https://mcp.nativeads.ai/mcp"
}
}
}

Windsurf​

Add this in Settings → MCP. Windsurf uses serverUrl.

{
"mcpServers": {
"nativeads": {
"serverUrl": "https://mcp.nativeads.ai/mcp"
}
}
}

ChatGPT​

  1. Go to Plugins, click Add, then Add custom MCP server.
  2. Name the plugin and paste the URL below as the Server URL. Leave Authentication on OAuth.
  3. Tick I understand and want to continue, then click Create as a plugin.
https://mcp.nativeads.ai/mcp

On a Business or Enterprise workspace, your admin may need to allow custom MCP servers.

Other clients​

No native MCP support? Bridge any client with mcp-remote.

npx -y mcp-remote https://mcp.nativeads.ai/mcp

Prompt starters​

The server also ships three prompts, which a client surfaces in its own UI (Claude lists them in the + menu). Each one starts the flow and asks you for the rest.

PromptArguments
New video adbrand (required), video model, length, frame size
New image adbrand (required), aspect ratio
Set up a brand from a websitewebsite URL (required), industry

Every argument except the website URL autocompletes as you type. The brand list is your own organization's brands; the industry list is the same taxonomy get_started returns; models, lengths and ratios are the values the generation tools accept, with the length list narrowing to the model you picked. A client that does not support prompts is unaffected: the tools work the same way.

Next steps​