AdChat Meta Ads MCP Errors and How to Fix Them
Fixes for common AdChat messages: write access not enabled, trial ended, invalid key, expired Facebook connection, wrong ad account, rate limit and chat cap.
Updated October 24, 2026
Most AdChat problems come down to a handful of messages, and each one has a quick fix. This page lists them in the order people usually run into them, with the wording you'll see in Claude, ChatGPT or AdChat's own chat. If you're using Meta's official server at mcp.facebook.com/ads instead, see Meta Ads MCP not working?.
"Write access is not enabled"
What it means: you asked the AI to create, change or delete something, but your connection is still read-only. That's the default. The AI gets a message telling it write access is off, with a link to your dashboard, and usually passes that on to you.
What to do: open your AdChat dashboard, find Write Access in your MCP settings, and switch it on. Then ask again. You don't need to reconnect your AI app.
Fourteen tools need write access: creating or updating campaigns, ad sets, ads and creatives, uploading images, budget schedules, and creating or deleting custom audiences. See the full tool list. Even with it on, new campaigns, ad sets and ads start paused.
"Your AdChat free trial has ended"
The exact message is:
Your AdChat free trial has ended. Subscribe for $19/month to keep using AdChat: https://adchat.app/pricingWhat it means: your 7-day trial is over and there's no active subscription. Your account and Facebook connection are still there; the tools are just paused.
What to do: subscribe on the pricing page ($19 a month or $190 a year). Everything starts working again straight away, with no need to reconnect anything.
"Invalid API key"
The exact message is:
Invalid API key. Get your key at https://adchat.app/dashboardWhat it means: your app is sending an AdChat API key that doesn't match an account, for example after you rolled the key. Old setups that use the old AdChat address or a URL with a key in it don't work anymore either.
What to do: remove AdChat from your AI app and add it again with https://mcp.adchat.app. Then sign in when the browser window opens and click Allow.
If your app can't sign in and sends your key as an Authorization: Bearer header instead, copy the key again from your dashboard. It starts with adchat_. Then restart or refresh your AI app.
"Sign in to AdChat to continue" or "Your AdChat sign-in expired"
What it means: your AI app isn't signed in to AdChat, or its sign-in was ended. That happens when you click Disconnect on the Claude & ChatGPT page of your dashboard, or when the app hasn't been used for 90 days. Apps normally renew their sign-in on their own, so you won't see this day to day.
What to do: in your AI app, reconnect AdChat (or remove it and add https://mcp.adchat.app again). Sign in when the browser window opens and click Allow.
Facebook connection expired
What it means: Facebook logins don't last forever. When yours expires, or Facebook ends the session (for example after a password change), AdChat can't reach your ad account and the AI's requests to Meta fail.
What to do: open your dashboard. Next to your Facebook connection you'll see when it's valid until. If it shows as expired or expiring soon, click Reconnect and log in with Facebook again. You don't need to change anything in your AI app.
If AdChat's built-in chat says No API key. Connect your Facebook Ads account first., you haven't connected Facebook yet, or the connection was removed. Connect it from the dashboard.
Wrong ad account
What it means: you have more than one ad account connected, and the AI looked at a different one than you meant.
What to do:
- Name the account in your prompt, using its name from Ads Manager:
In my "Coastal Candles" account, show last week's spend by campaign.
- Set a Default ad account in your dashboard so prompts without a name go to the right place.
- If an account is missing completely, it may not be connected. The plan includes up to 3 ad accounts, and AdChat only sees accounts your Facebook profile can manage. See using multiple ad accounts.
"Rate limit exceeded"
The message looks like this, with the number of seconds filled in:
Rate limit exceeded. Try again in 12 seconds.What it means: AdChat allows 30 requests per minute through your own AI app. A big report across many campaigns can make the AI call lots of tools quickly and hit that limit.
What to do: wait the number of seconds shown and ask again, or tell the AI to continue. For large jobs, ask for one account or a shorter date range at a time.
Monthly chat limit reached
In AdChat's built-in chat, you may see:
You've used this month's 300 AdChat chat messages. It resets on the 1st. You can keep going without limits through AdChat inside your own Claude or ChatGPT.What it means: the built-in chat includes 300 messages a month. This limit doesn't apply when you use AdChat through your own AI app.
What to do: wait until the 1st of the month, or connect AdChat to Claude, ChatGPT or another MCP app, where only the 30-per-minute rate limit applies.
FAQ
Do I need to reconnect my AI app after turning on write access?
No. The change applies to your existing connection. Just ask again.
I subscribed but it still says my trial ended. What now?
Start a new chat and try again. If it still fails after a minute or two, email [email protected].
Will rolling my key break my setup?
Only in apps that send your key as a header. Update the header in each of those apps with the new key. Apps where you signed in aren't affected.
Why does the AI say it can't find my campaign?
It might be in a different ad account. Name the account, or ask the AI to list your ad accounts and campaigns first.
Something else is broken. Who do I contact?
Email [email protected] with the message you see and the AI app you're using.
Not a customer yet? Try it free for 7 days. Sign up. 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]