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 Plugins, click Add, then Add custom MCP server.
- Name the plugin and paste the URL below as the Server URL. Leave Authentication on OAuth.
- 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.
| Prompt | Arguments |
|---|---|
| New video ad | brand (required), video model, length, frame size |
| New image ad | brand (required), aspect ratio |
| Set up a brand from a website | website 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.