Use AdChat with Any MCP Client (Windsurf, VS Code, n8n)
Connect AdChat to any app that supports remote MCP servers. How sign-in works, a generic JSON config, notes for Windsurf, VS Code and n8n.
Updated October 24, 2026
AdChat is a hosted MCP server for Meta ads. MCP (Model Context Protocol) is an open standard, so AdChat isn't tied to one AI app. If your tool can connect to a remote MCP server by URL, it can almost certainly use AdChat. This guide covers the general setup that works across apps, plus notes for a few popular ones.
We have step-by-step guides for Claude, ChatGPT, Claude Code, Cursor and Codex. Use this page for everything else.
The basics
- Server URL:
https://mcp.adchat.app - Type of server: remote, over HTTP (often labelled "HTTP", "Streamable HTTP" or "remote"). There's nothing to install or run on your computer.
- Before you start: sign up, click Connect Facebook in the dashboard, and choose your ad accounts.
How to sign in
1. Sign in with OAuth (recommended)
Paste only the URL:
https://mcp.adchat.appThe first time, a browser window opens. Sign in to AdChat, connect Facebook if you haven't yet, and click Allow. You only do this once. The app stays connected as long as you use AdChat at least once every 90 days. No key to copy.
2. Authorization header (for apps that can't sign in)
If your app can't sign in but lets you add custom headers, send your AdChat key as a header instead:
Authorization: Bearer adchat_...Your key starts with adchat_ and is shown in the API key section of the Claude & ChatGPT page in your dashboard. Anyone with your key can use your AdChat account, so keep it private. Never put it in the URL.
Generic JSON config
Many apps use the same mcpServers format. This is the config your dashboard shows:
{
"mcpServers": {
"adchat": {
"url": "https://mcp.adchat.app"
}
}
}The app asks you to sign in the first time. Only if it can't sign in, add "headers": { "Authorization": "Bearer adchat_..." } next to the URL.
If your app already has other servers, add the adchat block inside the existing mcpServers object rather than creating a second one. Some apps also want "type": "http" next to the URL.
Notes for specific apps
App settings change often, so check the app's own docs if a label doesn't match.
Windsurf
Windsurf reads MCP servers from an mcp_config.json file using the mcpServers format. For remote servers its docs use a serverUrl field (some versions also accept url):
{
"mcpServers": {
"adchat": {
"serverUrl": "https://mcp.adchat.app"
}
}
}VS Code
VS Code's own MCP file uses a top-level servers key instead of mcpServers, and remote servers are marked with "type": "http":
{
"servers": {
"adchat": {
"type": "http",
"url": "https://mcp.adchat.app"
}
}
}VS Code also has a guided "add server" flow. If it offers to use a portable mcpServers file, the generic config above works too.
n8n
In n8n, add an AI Agent node and attach an MCP Client Tool node to it. Then:
- Set the endpoint to
https://mcp.adchat.app. If your n8n version asks for a transport, choose HTTP Streamable. - Under Authentication, choose OAuth if your n8n version offers it and sign in. If it doesn't, choose Bearer and paste your AdChat key, or choose header auth with the name
Authorizationand the valueBearer adchat_.... - Under Tools to Include, pick All, or choose Selected to give the agent only read tools like
get_insightsandget_campaigns.
Limiting tools is a good idea in automations, since nobody is watching each step. AdChat's read-only default helps here too.
Test the connection
Once the app shows AdChat as connected, start with a question that only reads data:
List my Meta ad accounts using AdChat.
If you see your ad account names, everything works. Then try something useful:
Show spend, results and cost per result for each active campaign over the last 7 days.
For more ideas, see Your first 10 questions to ask.
Troubleshooting
The app can't connect at all. Check the URL is exactly https://mcp.adchat.app, with no trailing spaces. The old AdChat address no longer works. Remove AdChat, add it again with the new URL, and sign in. Make sure the app supports remote (HTTP) servers. Some older apps only run local servers started by a command.
"Unauthorized" or "Invalid API key" (header only). The key must start with adchat_. In a header, the value is Bearer (with a space) followed by the key. If you rolled your key in the dashboard, update every app that used the old one.
OAuth window doesn't appear. Your app may not support OAuth for remote servers. Use the Authorization header instead.
Connected, but no ad accounts. Reconnect Facebook in the AdChat dashboard and make sure at least one ad account is selected.
A tool says write access is off. That's the default. See Turn on write access.
FAQ
Is there a limit on how much I can use it? Use through your own AI apps is unlimited, with a rate limit of 30 requests per minute. You can connect up to 3 ad accounts.
Can I use AdChat in several apps at once? Yes. The same account and key work everywhere.
Does AdChat support Google or TikTok ads? No. AdChat is focused on Meta ads only: Facebook and Instagram.
Try it
Try it free for 7 days. No credit card needed. Questions? Email [email protected].
Try it on your own ad account
Connect your Meta ads to Claude, ChatGPT or our built-in chat in about a minute.
Questions? Email me at [email protected]
More in Get started
Use AdChat Without Claude or ChatGPT (Built-in Chat)
No AI subscription? Ask about your Facebook and Instagram ads in AdChat's own chat at adchat.app. Nothing to install, nothing to configure.
How to Connect Facebook Ads to Claude with AdChat
Add AdChat to Claude as a custom connector in about two minutes. Paste one URL, sign in, and ask Claude about your Meta ads in plain English.
How to Connect Facebook Ads to ChatGPT with AdChat
Add AdChat to ChatGPT as a custom MCP server so you can ask about your Meta ads in plain English. Covers plans, sign-in options and common errors.