Add Sprites to GitHub Copilot
Available on Copilot in VS Code, and Copilot CLI. Any Copilot plan that includes agent mode. You need a Sprites account with your channels already connected — the connector acts on that connection, so GitHub Copilot never handles a platform credential.
Open the MCP configuration
Run MCP: Add Server from the Command Palette and choose Workspace or Global. Workspace writes .vscode/mcp.json, which is worth committing so the team shares the same connector; Global keeps it to you across every project.
VS CodeCommand PaletteMCP: Add ServerWorkspaceAdd Sprites as an HTTP server
The top-level key is servers, not mcpServers, and a remote endpoint needs an explicit type of http. This is the shape VS Code and Copilot share.
.vscode/mcp.json{ "servers": { "sprites": { "type": "http", "url": "https://mcp.sprites.ai/mcp" } } }Authenticate
VS Code shows an Auth action above the server entry once the file is saved. Run it, sign in to Sprites in the browser window that opens, and approve the scopes.
Spriteswants access on behalf of Copilot- Read your connected ad accounts and site data
- Draft campaigns, creatives and pages for your approval
- Apply only the changes you approve
AllowCancelSwitch Copilot Chat to agent mode
MCP tools are only offered to the agent. Pick Agent from the mode dropdown in Copilot Chat, then open the tool picker and confirm Sprites is listed.
Agent modeCopilot Chat → mode dropdown
Which GitHub Copilot surface you are on
Only the surfaces below are documented here. Where we have not verified a path, the page says so rather than implying the setup is the same everywhere.
VS CodeVerified
MCP: Add Server from the Command Palette, writing .vscode/mcp.json or the user config. Agent mode required.
GitHub Copilot CLINot verified
Copilot CLI has its own MCP configuration. We have not verified the Sprites flow there yet.
What GitHub Copilot can reach
All 15 channels run through the one connector. Rows with a guide go deeper on that pairing; the rest are covered on the channel's own page.
| Channel | What Copilot does with it | Guide |
|---|---|---|
| Google Ads | Campaign structure available to a lint rule, so a naming convention can be enforced rather than requested. | Set up → |
| Meta | Creative fatigue per ad, learning-phase checks, new hooks previewed in the real placement. | Set up → |
| Cost per lead by job function, ABM account lists, sponsored content that converts. | Set up → | |
| TikTok | CPA and CTR for every ad, the next creative batch, and spend moved before the CPA drifts. | Set up → |
| Community targeting, subreddit-native copy, and the ad groups spending without converting. | Set up → | |
| GA4 | The event and the recorded result in the same window, which is where tracking bugs are cheapest to catch. | Set up → |
| PostHog | Funnels, retention and trends by campaign, read-only, beside the spend that bought them. | Set up → |
| SEO | Generated metadata checked against what Search Console reports is actually indexed. | Set up → |
| AEO | Who gets cited by ChatGPT and Perplexity for your prompts, and the pages that change it. | Set up → |
| Shopify | SEO titles across the whole catalogue, collection pages, and product copy that ships on approval. | Set up → |
| GBP | Performance per location, the listings missing fields, and posts that keep the map pack. | Set up → |
| WordPress | Researched posts, page edits and metadata written into WordPress as drafts you approve. | Set up → |
| Webflow | Researched CMS posts, page metadata and copy edits, each an approval before it applies. | Set up → |
| Framer | Researched posts and SEO fields written into your Framer CMS, added after you approve. | Set up → |
| Zoho CRM | Pipeline and lead-source reporting beside ad spend, with approved lead, deal and note writes. | Set up → |
Marketing workflows worth doing in GitHub Copilot
Marketing data inside the editor where the tracking code lives, so a conversion event can be checked against what GA4 actually recorded before the pull request is opened.
Marketing data QA in pull requests
Check a change against what the account actually reports before it merges, not after it ships.
Conversion-event implementation
Write the event, fire it, and confirm GA4 received what you meant in one loop.
Campaign naming linting
A rule that reads live campaign names and fails when one breaks the convention reporting depends on.
SEO metadata validation
Titles and descriptions the templates generate, checked against what Search Console shows is being served.
Dashboard maintenance
Keep an internal reporting view honest by developing it against the real account rather than a fixture.
Permissions, approvals and authentication
You sign in with OAuth and the connector acts on your workspace. No API keys in a config file, no shared service account, and revoking the grant kills the very next call.
| Action | When it happens | What that covers |
|---|---|---|
| Read an account | On request | Spend, performance, search terms, rankings, catalogue |
| Draft a change | On request | Campaigns, creative, budgets, pages and posts |
| Apply a change | Only on your approval | GitHub Copilot returns the change as text; the approval waits for you in Sprites |
| Spend money | Only on your approval | New campaigns start paused unless you say otherwise |
| Revoke access | Instantly | The next call after a revoke fails, not the one after that |
GitHub Copilot MCP questions
Why is the top-level key servers and not mcpServers?
That is the shape VS Code reads. mcpServers is what several other clients use, and VS Code ignores it — the config looks right and nothing appears.
Copilot is not using the tools.
Chat has to be in agent mode. Ask mode does not call MCP tools at all.
Is there a separate VS Code page?
No, on purpose. VS Code is the editor Copilot runs in and the setup is the same, so two pages would compete for one intent. If the two ever show genuinely different intent in Search Console, that changes.
Can it change my ad accounts on its own?
No. Reads happen on request; every write comes back as a change you approve first, and new campaigns start paused. Nothing is applied because a model decided it should be.
How do I share this with the team?
Add it to the Workspace rather than Globally and commit .vscode/mcp.json. Everyone gets the connector; everyone still signs in as themselves.
Background worth having first
What the protocol is, how the servers differ, and what separates an agent from an assistant with tools attached.
- What is MCPThe protocol in plain English: what a server is, and what the latest revision changed.
- MCP vs APIThey are layers, not rivals. The one property that separates them.
- Best MCP servers for marketersTwelve that do marketing work, sorted by job — remote or local, read or write.
- Best Claude connectors for marketersEvery endpoint called rather than copied from a directory.
- AI marketing agentsWhat they are, what they automate, and how to evaluate one.
- AI marketing agent vs ChatGPTFive things ChatGPT cannot do, and the one that changed recently.
- Connect Muse to your ad accountsMeta’s agent has no connector for any ad platform. What it takes to give it one.
Point GitHub Copilot at your ad accounts
One URL, one sign-in, and the next question you ask GitHub Copilot about your marketing gets answered from the live account.