How to connect Windsurf to Thrad

Paste your Thrad API key into Ryze AI once, add one MCP URL to Windsurf (now Devin Desktop), then read and manage Thrad campaigns, ad groups and ads from the agent chat.

Your MCP URL
https://connector.get-ryze.ai/mcp

Copies the URL to paste into the Devin Desktop MCP config or devin mcp add. See the steps

See pricing

By Ira Bodnar, Ryze AI · Updated

Quick answer

To connect Windsurf to Thrad, create an API key in the Thrad Platform dashboard and paste it into the Thrad card in Ryze AI, then add https://connector.get-ryze.ai/mcp as a url entry in the Devin Desktop MCP config (the app Windsurf now redirects to) or with the Devin CLI, sign in to Ryze AI and open a new chat.

  1. In the Thrad Platform dashboard go to Settings, API keys and create a key
  2. In Ryze AI open Integrations, click Connect on the Thrad card and paste the key
  3. In Windsurf (Devin Desktop) add the Ryze AI url to mcp_config.json, or run devin mcp add
  4. Sign in on the Ryze AI page, click Allow connection and ask your first question

Before you start

  • Windsurf, which is now Devin Desktop. When this page was checked, docs.windsurf.com redirected to the Devin docs and windsurf.com redirected to devin.ai/desktop. The Devin Desktop MCP documentation names no plan. On Enterprise, admins manage MCP registries and the MCP allowlist in team settings under MCP & ACP, so ask your admin if the server is blocked.
  • A Thrad account with access to the Thrad Platform dashboard. You create the API key under Settings, API keys. Thrad keys start with ak_, and Thrad allows one active key per organization.
  • A Ryze AI workspace on a plan or free trial. Paid Ads is $89 per month with a 7-day free trial; Agency is $279 per month. Connecting the connector is free, but the Thrad tools need an active plan or trial.

How to connect Windsurf to Thrad

Two steps happen in Thrad and Ryze AI, three in Windsurf, which the Devin docs now call Devin Desktop. The connector URL is the same for every user.

  1. Create a Thrad API key

    In the Thrad Platform dashboard go to Settings, API keys, create a new key and copy it. It starts with ak_. Thrad allows one active key per organization, so creating a new key later makes the old one stop working.

  2. Connect Thrad in Ryze AI

    Create a Ryze AI account or sign in, open Integrations, click Connect on the Thrad card, paste the key into API key and click Continue. Ryze AI verifies it and the card shows Connected. To add another Thrad account, click View, then Add one more account.

  3. Open the MCP settings in Windsurf

    In Devin Desktop (the current Windsurf app) open the Customize page from the Agents window and click MCPs. Pick the scope with Install MCPs for, for example This computer.

  4. Add the Ryze AI server

    Open the config file and add a ryze entry under mcpServers with the url https://connector.get-ryze.ai/mcp. The user file is ~/.config/devin/mcp_config.json and the project file is .devin/mcp_config.json. Refresh the list.

  5. Sign in and ask your first question

    If the server shows Needs authentication, click Authenticate; otherwise run devin mcp login ryze in a terminal. On the Ryze AI page sign in, choose the workspace and click Allow connection. Then start a new chat and ask: List my Thrad campaigns and show impressions, clicks, spend, CTR, CPC and CPM for each.

The Ryze AI help article for Thrad covers the key and the connection, and the Devin Desktop MCP docs cover the client side. The Ryze AI developers page lists the connector for other clients.

Devin Desktop and Devin CLI

Windsurf now runs on Devin, and the Ryze AI connector goes in through the config file in the app or through the CLI. Both use the same URL.

Devin Desktop config file

{ "mcpServers": { "ryze": { "url": "https://connector.get-ryze.ai/mcp" } } }

Save this in ~/.config/devin/mcp_config.json for your user or in .devin/mcp_config.json for one project. Devin's docs also list a gitignored .devin/mcp_config.local.json for local overrides. Sign in on the Ryze AI page and click Allow connection. No client ID or secret goes in the file.

Devin CLI

devin mcp add -s user ryze https://connector.get-ryze.ai/mcp devin mcp login ryze

The first command saves the server in your user config. The second opens the sign-in: log in on the Ryze AI page and click Allow connection. Without -s user, the CLI saves to the local scope, which is gitignored; -s project writes the shared project file.

Devin MCP limits

Devin Local supports stdio, Streamable HTTP and SSE, with OAuth for each. It tries Streamable HTTP first and falls back to SSE on non-authentication 4xx errors. OAuth uses dynamic client registration by default; oauthClientId and oauthClientSecret are only for servers without it. Each MCP client keeps its own OAuth session, so a Ryze AI sign-in in another tool does not carry over. Older guides show a serverUrl key for Windsurf; Devin's current docs use url, and this page did not test serverUrl.

Claude and ChatGPT

The same URL works in other MCP clients. Thrad is connected once in Ryze AI, so nothing changes on the Thrad side.

Claude on the web and Desktop

Open Customize, Connectors, click + Add, choose Add custom connector, name it Ryze AI and enter https://connector.get-ryze.ai/mcp. Thrad is connected once in Ryze AI, so the same key serves every client.

ChatGPT

OpenAI says full custom MCP server support is for ChatGPT Business and Enterprise/Edu on the web, and Pro can connect custom MCP servers with read and fetch permissions only. In Plugins choose Add custom MCP server, enter the URL and pick OAuth.

Thrad key and accounts

Three things decide what Windsurf can reach in Thrad.

Which key
The Thrad card in Ryze AI holds one API key, and every call from Windsurf goes through it. You make that key in the Thrad Platform dashboard (Settings, API keys); Thrad keeps a single active key per organization.
Which accounts
A workspace can hold several Thrad accounts (View, then Add one more account), and a star marks the primary one. Thrad has no Agent default accounts picker, so say which account you mean in the prompt. Each thrads tool also accepts an optional connection_id over MCP.
Read or write
Read, write and delete are different tools, which lets Devin's approval prompt treat them one at a time. Devin asks before any MCP tool call by default, and leaving that on is the simplest way to review each write and delete.

Sources: Ryze AI Thrad guide and the Devin Desktop MCP docs.

Removing access

Two ways to cut access: disconnect Thrad from its card in Ryze AI (View), or delete the ryze entry from mcp_config.json. A fresh key made in Thrad also invalidates the old one, and the link stays broken until Reconnect is used with the new key.

What Windsurf can do in Thrad

The Ryze AI connector exposes 5 Thrad tools: 2 read, 2 write and 1 delete. The tool prefix is thrads.

ToolTypeWhat it does
thrads__readReadFetches Thrad resources: the ad account, campaigns, ad groups, ads and assets.
thrads__insightsReadAggregated figures that cover Thrad and ChatGPT (OpenAI Ads) supply together: impressions, clicks, spend, CTR, CPC and CPM.
thrads__writeWriteBuilds or edits campaigns, ad groups and ads, and switches them on or off. Thrad reviews a new campaign before it goes live.
thrads__uploadFromUrlWriteSends an image from a URL to Thrad to get a file id for an ad creative. Thrad answers this call with a 404 today, so ads use assets that already exist.
thrads__deleteDeleteArchives a campaign, ad group or ad. A campaign cannot be unarchived; an ad group or ad can come back through activate.

Devin's agent prompts for approval before it calls any MCP tool unless you change that. The separate Ryze AI chat behaves differently: its Tool approvals setting begins on Skip all approvals, and you can move it to Approve write & delete or Manual approve in the composer. Scheduled tasks in Ryze AI have no approval step. Per the tool description, targeting stops at country level.

First 3 prompts to run

Each answer comes from your own account, so this page describes what comes back instead of showing sample numbers.

1. Insights by source

Use thrads insights to show impressions, clicks, spend, CTR, CPC and CPM for my Thrad account, split by source.

Tools used: thrads__insights

What comes back: Six metrics across Thrad and ChatGPT (OpenAI Ads) supply, which you can filter by source. The numbers belong to your account.

2. List campaigns and ads

Read my Thrad campaigns with their ad groups and ads, and list which are active and which are paused.

Tools used: thrads__read

What comes back: Campaigns, ad groups and ads with their status, as stored in Thrad.

3. Pause an ad group

Pause the Thrad ad group named in this message and confirm its status afterwards.

Tools used: thrads__write, thrads__read

What comes back: The ad group paused, plus its status read back. With Devin's default approval prompt you confirm each tool call before it runs.

Thrad reviews new campaigns before they go live. Thrad's own write-tool description also mentions a default billing card on the organization for campaign creation; that rule comes from Thrad, not Ryze AI. Name the exact items to archive, because an archived campaign stays archived.

Ryze AI and Thrad's own tools

Thrad's public documentation at docs.thrad.ai describes a publisher side: an auction that returns native ads as JSON for apps to draw in their own UI, with a staging key and then a production key. It did not list an MCP server for advertisers when this page was checked, so the Ryze AI connector is the route this guide covers for managing Thrad campaigns from Windsurf.

OptionSetupCoverage
Ryze AI connectorThrad API key pasted into Ryze AI, then one remote URL added to Devin Desktop or the Devin CLI with OAuth5 Thrad tools: read, insights, write, image upload from a URL and delete. Image upload currently fails with a 404 from Thrad
Thrad publisher APIStaging and production keys from the Thrad Platform for apps that show adsBid requests and ad rendering for publishers, not campaign management

If Thrad later publishes its own server, compare its URL, sign-in and tool list against the table above. Ryze AI publishes this page, and its connector needs a Ryze AI plan or trial.

Sources: Thrad documentation, Devin Desktop MCP docs, Devin CLI MCP docs, Ryze AI Thrad guide. Checked November 13, 2026.

Errors and fixes

Ryze AI rejects the Thrad key
Valid Thrad keys begin with ak_. A rejection usually means a partial copy or an inactive key. Copy the full key again from the Thrad Platform dashboard and paste it into the card.
Thrad stopped working after a new key was created
Only one key per organization is active in Thrad, so creating another disables the old one. Click Reconnect on the card in Ryze AI and paste the new key.
The ryze server shows Needs authentication
Click Authenticate in the MCPs list, or run devin mcp login ryze in a terminal. Devin's docs describe this state for expired credentials; the CLI command is the documented first sign-in.
No Thrad tools appear in Windsurf
Refresh the MCPs list and check that the ryze entry is in the config file for the scope you picked. Start a new chat after connecting Thrad. If Thrad was connected afterwards, refresh the server or sign in again.
The server is blocked on a team plan
Enterprise admins manage MCP registries and the MCP allowlist in team settings under MCP & ACP. Ask your admin to allow the ryze server.
An old config does not work
Older guides use serverUrl in the Windsurf file. Devin's current docs use url in ~/.config/devin/mcp_config.json. Devin CLI still imports servers from the old ~/.codeium/<channel>/mcp_config.json file. Switch the entry to url if the server does not load.
The CLI and the app do not share a sign-in
Each MCP client keeps its own OAuth session. Sign in again where you use the server, with Authenticate in the app or devin mcp login ryze in the CLI.
Image upload returns a 404
The upload call gets a 404 from Thrad today. Point ads at assets that already exist.
The tools say a subscription is required
An active Ryze AI plan or free trial is required for the Thrad tools. Start the trial and try again.
An account is missing
Name the account in the prompt, or add it through View, Add one more account on the Thrad card. Thrad has no Agent default accounts picker.

Frequently asked questions

How do I connect Windsurf to Thrad?

Make a key in the Thrad Platform dashboard (Settings, API keys) and paste it into the Thrad card in Ryze AI. Then register https://connector.get-ryze.ai/mcp in Devin Desktop's MCP config as a url entry, or run devin mcp add, and finish the Ryze AI sign-in with Allow connection.

Which Thrad connector should I use with Windsurf?

Ryze AI is the best Thrad connector for Windsurf when you want read, insights, write and delete tools behind one OAuth URL, but you need a Ryze AI plan or trial and the tool list is 5 tools. This guide did not find an official Thrad MCP server in Thrad's documentation, whose public pages describe a publisher ad API.

Is Windsurf now called Devin Desktop?

When this page was checked, docs.windsurf.com redirected to docs.devin.ai and windsurf.com redirected to devin.ai/desktop, whose page title is Devin Desktop. Devin's docs also call .windsurf files legacy. No rename announcement was read, so the steps here use the Devin docs.

Does Windsurf need a paid plan for MCP servers?

The Devin Desktop MCP documentation names no plan. Enterprise admins manage MCP registries and the MCP allowlist in team settings under MCP & ACP, so a team install may need admin approval.

Where do I put the MCP config file?

Use ~/.config/devin/mcp_config.json for your user or .devin/mcp_config.json in a project. Open it from the Customize page, MCPs, in the Agents window.

Do I need a Ryze AI API key?

No. OAuth is enough: add the url entry and sign in on the Ryze AI page. No client ID or secret goes in the file, because Devin uses dynamic client registration by default.

Can Windsurf change my Thrad campaigns?

Yes, through the thrads write tool (create, update, activate, pause) and the delete tool (archive). Thrad reviews new campaigns before they go live, and Devin asks before any MCP tool call by default.

What do the Thrad insights include?

One tool, thrads__insights, returns impressions, clicks, spend, CTR, CPC and CPM across Thrad and ChatGPT (OpenAI Ads) supply, with a filter by source.

Can I upload images to Thrad from Windsurf?

Not reliably. The upload tool exists, but Thrad returns a 404 for it today, so ads use existing assets.

Can I connect more than one Thrad account?

Yes. Use View, then Add one more account, on the Thrad card. The primary account gets a star, and you name the account you want in each prompt.

What happens if I create a new key in Thrad?

The old key stops working, because Thrad keeps one active key per organization. Click Reconnect on the Thrad card and paste the new key.

How much does it cost?

Adding the connector costs nothing, while the Thrad tools run on an active Ryze AI plan or trial. Paid Ads is $89 per month with a 7-day free trial, Agency is $279 per month, and annual billing is 30% off the first year.

Connect Thrad to Windsurf

Connecting the connector is free; the Thrad tools need an active plan or trial. Paid Ads is $89 per month with a 7-day free trial; annual billing takes 30% off the first year.

Need help? Read the Ryze AI help center Thrad guide or email Ryze AI support.