Add PaidSync as a Model Context Protocol tool in Copilot Studio. Server URL https://mcp.paidsync.ai/mcp, authentication OAuth 2.0 with Dynamic discovery, transport Streamable HTTP. Sign in with your PaidSync login, which holds your Meta Ads connection. Copilot can then read Facebook and Instagram results, split them by placement, and propose budget, pause and campaign changes across 83 Meta tools. Every change is held for your approval before it runs. Copilot Studio needs a work or school account.
Instagram only? Fast path. The 2-minute version with the same Copilot Studio steps is at Connect Instagram Ads to Microsoft Copilot. This guide is the long form, with account selection, placement reporting and the approval flow.
Facebook and Instagram ads share one Meta ad account, one Ads Manager and one API. That is why this is one guide. Connect Meta Ads once in PaidSync and Copilot sees both, down to the placement.
Microsoft sells several products called Copilot. Only some of them can talk to a custom MCP server. Check yours before you start.
| Product | Custom MCP servers | What you need |
|---|---|---|
| Copilot Studio | Yes, through Tools, Add a tool, Model Context Protocol | A work or school account, included with Microsoft 365 Copilot licences or as a standalone Copilot Studio subscription or trial |
| Microsoft 365 Copilot (Teams, Word, Outlook) | Yes, through a published Copilot Studio agent | The agent published to the Microsoft 365 Copilot channel and, in most tenants, admin approval |
| Consumer Copilot app and copilot.com | No | Does not accept custom MCP servers |
| GitHub Copilot in VS Code | Yes, MCP: Add Server | A GitHub Copilot subscription. A different product, covered at the end |
The rest of this guide assumes Copilot Studio. If you only have the consumer app, the same PaidSync connection works in Claude and ChatGPT today.
About ten minutes, most of it waiting for the Facebook sign-in and the Copilot Studio publish. Step 4 follows Microsoft's own wizard, verified 2026-09-01.
Go to paidsync.ai/signup and sign up with Google or email. The Free plan is $0 and includes 15 tasks a month. No card.
In the PaidSync dashboard click Connect Meta Ads. Facebook asks you to sign in and to grant ads_management and ads_read. Pick the ad accounts you want PaidSync to see. Instagram campaigns live inside those same ad accounts, so there is no separate Instagram login.
If you manage several ad accounts, name the one you mean in the first prompt, or ask Copilot to set the active account. PaidSync stores the Meta token encrypted at rest with AES-256-GCM and never stores your Facebook password.
OAuth is the path for real work. It uses your PaidSync login, and it is required for any change to a campaign. An API key works for read-only use. Copy it from the dashboard and use https://mcp.paidsync.ai/mcp?api_key=ps_your_key_here. A key in a URL ends up in logs and history, so use it for reporting only.
Microsoft 365 Copilot reaches custom MCP servers through a Copilot Studio agent. In Copilot Studio open your agent, then Tools, Add a tool, New tool, Model Context Protocol.
Server name PaidSync, a short description, and the server URL:
https://mcp.paidsync.ai/mcpAuthentication: choose OAuth 2.0, then Dynamic discovery (PaidSync publishes the discovery metadata Copilot Studio looks for), or API key sent as a Query parameter named api_key with your ps_ key. Transport is Streamable HTTP. Click Create, then Add to agent.
Publish the agent to the Microsoft 365 Copilot channel. Most tenants need an admin to approve it before it appears in Teams and Microsoft 365 Copilot. Copilot Studio needs a work or school account, included with Microsoft 365 Copilot licences or as a standalone Copilot Studio subscription or trial. The consumer Copilot app does not accept custom MCP servers.
Open the agent and ask "Show my Meta Ads spend, purchases and ROAS for the last 7 days, split by placement." Real campaign names and numbers mean the connection works.
Next ask for a change, for example "Pause every ad set over $80 spend with zero purchases this week." Copilot shows the list. Nothing runs until you approve it. Add "preview only" to run it as a dry_run first.
Three things trip people up when the goal is Instagram rather than Facebook.
Instagram ads run inside a Meta ad account, not inside the Instagram app. When Facebook asks which ad accounts PaidSync may access, tick the account that holds your Instagram campaigns. If your Instagram professional account is linked to the Facebook Page in Meta Business settings, ads carry the Instagram handle. That link is a Meta setting, so make it there, not in PaidSync.
Copilot can list the placements an ad set is running on and change them. Ask "Which ad sets are running on Instagram Reels only?" or "Move the Spring Launch ad set to Instagram Feed, Stories and Reels, nothing on Facebook." The second one is a write, so it waits for your approval.
Ask for a placement breakdown and Copilot returns spend, results and cost per result for Instagram Feed, Stories, Reels and Explore beside the Facebook placements, for any date range. Reporting also breaks down by device, country, age and gender, and time. Reels usually wins on CPM and loses on conversion rate. Now you can see it in one table instead of four Ads Manager exports.
PaidSync exposes 83 Meta tools to Copilot. The split, from the current tool catalog:
| Group | Tools | Examples |
|---|---|---|
| Reads | 45 | Campaign, ad set and ad performance, placement and demographic breakdowns, audiences, pixels, billing transactions |
| Writes on existing objects | 33 | pause_fb_campaign, enable_fb_campaign, update_fb_campaign, budget and schedule changes, image and video uploads |
| Builds | 5 | create_fb_campaign and the ad set, creative and ad tools that go with it |
Reads return straight away. Every write is held for approval before it runs. Ask for a preview and the tool runs as a dry_run. Anything destructive, such as deleting a campaign, needs confirm_destructive as well. In the PaidSync workspace each approved change becomes a card with one-tap undo and a 7-day outcome check.
Meta runs its own server at mcp.facebook.com/ads. It has been in open beta since April 29, 2026, it reads and writes, and access is gated per ad account. Accounts outside the rollout see an is_ads_mcp_enabled error, with US and higher-spend accounts first. On July 16, 2026 Meta added developer-app connections and server rules. Our walkthrough of the official server covers the setup.
If your account is in and Meta is the only platform you run, try it. A team picks PaidSync for three reasons that do not change.
https://mcp.paidsync.ai/mcp. The same Copilot agent that reads Instagram Reels results reads Google Ads, TikTok, LinkedIn, GA4 and Merchant Center. "Compare Meta and Google CPA for the last 30 days" is one prompt.paidsync_workflows_save and run it again with one call. Five official ones ship, including account-audit and find-waste. Specialist agents such as ROAS Guardian and Creative Fatigue Watcher run in the workspace.GitHub Copilot in VS Code is a different product. Press Cmd+Shift+P (Ctrl+Shift+P on Windows), run MCP: Add Server, choose HTTP, paste the same URL, and sign in when prompted.
It uses the same endpoint, the same OAuth sign-in and the same approval step. Handy for a developer who wants to script a report, not a replacement for the Copilot Studio agent your marketing team will use in Teams.
No. Microsoft 365 Copilot reaches custom MCP servers through a Copilot Studio agent, and the consumer Copilot app does not accept custom MCP servers. GitHub Copilot in VS Code is a separate product that connects directly with MCP: Add Server, HTTP, and the same URL.
No. Instagram campaigns, ad sets and ads live inside your Meta ad account. One Facebook OAuth sign-in in the PaidSync dashboard covers Facebook and Instagram placements, including Feed, Stories, Reels and Explore.
Copilot Studio agents, and Microsoft 365 Copilot once the agent is published to the Microsoft 365 Copilot channel and, in most tenants, approved by an admin. GitHub Copilot in VS Code also works. The consumer Copilot app does not accept custom MCP servers.
Yes. Copilot Studio needs a work or school account, included with Microsoft 365 Copilot licences or as a standalone Copilot Studio subscription or trial. A personal Microsoft account does not open Copilot Studio.
Both. PaidSync exposes 83 Meta tools, 46 of them reads and 34 writes, including campaign creation. Every write is held for your approval before it runs, dry_run previews the change, and destructive operations need confirm_destructive.
Try it if your ad account is in the rollout. Meta's server at mcp.facebook.com/ads has been in open beta since April 29, 2026, reads and writes, and is gated per ad account. PaidSync adds the other 13 platforms on the same endpoint, an approval step on every write, and cross-platform prompts.
For reading, yes. Add ?api_key=ps_your_key_here to the endpoint, or send the key as a Query parameter named api_key in Copilot Studio. Applying any change requires the OAuth sign-in.
Yes. The Free plan is $0 with 15 tasks a month. Pro starts at $99 a month and Team at $249 a month. The billing unit is a task, not a tool call.
Ask for a placement breakdown. Copilot returns spend, results and cost per result for Instagram Feed, Stories, Reels and Explore next to the Facebook placements, for any date range you name.
Yes. The endpoint https://mcp.paidsync.ai/mcp is the same in every client. Connect Meta Ads once in PaidSync and reuse it from Claude, Claude Code, ChatGPT, Gemini CLI, Perplexity and Cursor.
Connect Facebook and Instagram Ads to Microsoft Copilot. Free plan, 15 tasks a month.
Start free Build this for our team