What the content calendar does
MCP Ads has a content calendar in the dashboard at /manage. A post on it has a channel, text, optional media and a time. When the time comes, MCP Ads publishes it automatically, and published posts show a link. The calendar is the same whether you schedule from the dashboard yourself or ask an AI agent to do it.
Three tools give an agent access to it. One puts posts on the calendar, one lists what is waiting (plus posts published recently and any that failed), and one cancels scheduled posts before they go out. That is enough for a Bot to plan a week, check it, and clean it up.
The channels are Facebook Pages, Instagram, Threads, LinkedIn, TikTok and WordPress. Each needs its connection in MCP Ads first; the Bot cannot post anywhere you have not connected.
| Channel | What a post needs | Watch out for |
|---|---|---|
| Text, a link or media | With several Pages connected, name the Page or the Bot will be asked which one | |
| An image (public URL) and a caption | A text-only Instagram post is refused | |
| Threads | Text, optional media | Keep to one idea per post |
| Text, optional media | Profile and company page are separate connections | |
| TikTok | A video (public URL) and a caption | A post without a video is refused |
| WordPress | A title and the body | Without a title the post is not useful as an article |
Connect it in a minute
Before you paste it, open the MCP Ads dashboard, go to Connect MCP → API keys and create a key. It is shown once, so copy it then. Make one key per Bot, so you can revoke one without breaking the others. Grok Bot's sign-in flow for custom servers does not complete today, which is why the Bot uses the key header; in Grok chat or Grok Build you can instead add a custom connector at grok.com/connectors with the same URL and sign in with the browser.
Then paste this into Grok Bot:
Connectors in Grok are account-wide, so once MCP Ads is added every Bot you make can use it. The Bot sees only the platforms and ad accounts you connected in MCP Ads, under the same workspace scope as the web app. MCP Ads is a free trial, then $49/month flat; Grok bills its own usage separately. The full setup is on the Grok Bot page and in the quickstart.
- Add a custom MCP connector:
- - Name: MCP Ads
- - URL: https://mcp-ads.com/mcp-slim
- - Header: Authorization: Bearer <paste your mcp_live_ key>
- Then show me what is on my content calendar for the next 14 days, and anything that failed to publish.
How times and repeats work
Every post is scheduled at a local time written as YYYY-MM-DD HH:MM, and each time becomes its own post. "Every weekday next week at 9:00" is five times and therefore five posts, each of which you can move or cancel on its own. One request can schedule up to 60 posts.
Times are read in your workspace time zone unless the Bot passes another one by name, such as Europe/London. If your audience is in a different time zone from you, say so in the Bot’s instructions once rather than converting times in your head each week.
A time in the past is refused, and when that happens nothing in the request is scheduled, not even the valid times. Posts are also checked against each channel’s rules when they are scheduled, so a TikTok post with no video fails at once rather than at its minute.
A Friday planning Bot, and why approval matters here
The content calendar does not write posts on its own. What you can build is a Bot that does the planning: every Friday it looks at what went out this week, drafts next week, and brings the drafts to you. That is a workflow you set up in Grok, not a built-in feature of MCP Ads.
One detail changes how you should word it. When a post is scheduled through MCP Ads, it is recorded as approved by the account holder, exactly as if you had scheduled it in the calendar yourself, because the request came through your key. So a Bot told to "schedule next week" will schedule it. If you want to read drafts first, tell the Bot to message you the drafts and not to schedule anything until you reply.
The safety net is the calendar itself. Everything the Bot schedules shows there, and cancelling a post turns it back into a draft, so nothing written is lost.
- “Every Friday at 10, draft five posts for next week: three for LinkedIn, two for Instagram using images from this folder of public URLs. Message me the drafts with proposed times. Do not schedule anything until I reply ‘go’.”
- “Schedule this post on Threads every weekday next week at 8:30, Europe/London time.”
- “Every morning at 7, list posts on the content calendar that failed in the last day and tell me the error for each. Say nothing if none failed.”
- “Every Monday at 8, list what is scheduled this week by channel and flag any day with nothing going out.”
- “Cancel every Instagram post scheduled for Thursday; we are moving the launch.”
- “Which posts published in the last 14 days, and what are their links?”
What it will not do without you
The Bot cannot connect a new channel; that happens in the MCP Ads dashboard with the platform’s own sign-in. It cannot publish to an account you have not connected, and it sees only the workspace your key belongs to.
Ad changes are a different matter from organic posts. Anything that changes a campaign, a budget or a live post goes through the approval controls in MCP Ads. Scheduling a new organic post counts as your own request, which is why the draft-first wording above is worth using.
Honest limits
Media has to be reachable at a public URL: the calendar fetches it at publishing time. An image link that expires or sits behind a login will fail. Instagram needs an image and TikTok needs a video, with no workaround.
The calendar publishes; it does not judge. A Bot drafting posts writes in whatever voice you describe, and the first week of drafts is usually the weakest. Give it two or three past posts you liked as examples, and read what it proposes before you reply ‘go’.
Rescheduling is easiest on the Content calendar in the dashboard. From the Bot, the reliable pattern is to cancel a post and schedule it again at the new time.