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

Go to Settings → Connectors → add by URL, then sign in.

https://mcp.nativeads.ai/mcp

Other clients

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

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

Next steps