Connect to AI agents
Wire AdCrunch into Claude, Cursor, and ChatGPT via the MCP server. Tool reference and recipes.
Overview
- What is MCP
How the Model Context Protocol lets AI agents query AdCrunch in natural language. - Bring your own creative
Upload images and video you own, then register them into an advertiser's provider-side library — from your AI agent, over MCP.
Auth & scopes
- Auth & scopes
How OAuth works for the MCP server, what each scope grants, what an agent can and cannot change, and how access is revoked.
Recipes
- Top campaigns yesterday
A one-line prompt to surface the best-spending campaigns of the previous day. - Meta vs TikTok ROAS
Side-by-side ROAS comparison across two providers for the same window. - Drill into one ad group
Find the underperforming creative inside a campaign. - Save and run a Skill
Teach the agent a workflow once, save it as a Skill, then run it by name on any future session. - Upload and register a creative
Hand the agent a file, and it uploads it, adds it to your library, and places it in an ad account — end to end.
Set up your AI client
- Claude Desktop
Install the AdCrunch MCP server in Claude Desktop and authorize your organization. - Claude Code
Install the AdCrunch MCP server in Claude Code and authorize your organization. - Cursor
Install the AdCrunch MCP server in Cursor and authorize your organization. - ChatGPT
Install AdCrunch as a custom MCP connector in ChatGPT.
Tool reference
- list_advertisers
List the advertisers (ad accounts) in your organization, optionally filtered by provider. - list_entities
List ad entities (campaigns, ad sets, ad groups, ads, creatives, …) under one advertiser, filtered by type or parent. - get_entity
Fetch the full raw provider payload for one ad entity by provider, type, and id. - query_insights
Aggregate spend / impressions / clicks / conversions over a date range, by entity. - meta_list_pages
List the Facebook Pages a Meta ad account can advertise from. - meta_list_pixels
List the Meta Pixels installed on a Meta ad account. - meta_create_campaign
Create a Meta campaign from a conversation. It always arrives PAUSED. - meta_create_adset
Create a Meta ad set under a campaign — budget, audience, and optimization goal. - meta_create_creative
Build a Meta ad creative from media you uploaded to AdCrunch. Image and video both work. - meta_create_ad
Create a Meta ad under an ad set, using a creative that already exists. Always paused. - meta_set_status
Pause, resume or archive a Meta campaign, ad set or ad on a live account. Runs asynchronously and returns a workflowId to poll. - meta_update_budget
Change a Meta campaign or ad set's daily or lifetime budget, with a safety cap and a level guardrail. - get_mutation_status
Poll a change started by a write tool and find out whether it succeeded, failed, or is still running. - skill_list
List your organization's ad-ops playbooks (Skills) by slug, name, and description. - skill_get
Fetch one ad-ops playbook (Skill) by slug, including its full instructions and current revision. - skill_create
Create a new ad-ops playbook (Skill) in your organization from an agent session. - skill_update
Update an ad-ops playbook (Skill), guarded by base_revision so concurrent edits aren't clobbered. - skill_delete
Delete an ad-ops playbook (Skill), guarded by base_revision. - asset_list
List the source media (images and video) your organization owns, each with where it has been registered. - asset_get
Fetch one Asset with its Registrations — where it has been placed, and how each placement went. Also how you poll a running registration. - asset_create_upload
Reserve an Asset and get a short-lived URL to upload the file to. Step one of bringing your own creative in. - asset_finalize
Complete an upload after the bytes have been PUT, validate the file, and add the Asset to your library — optionally registering it in the same call. - asset_register
Place an Asset in one advertiser's provider-side library so ads in that account can use it. Returns immediately; poll asset_get for readiness. - brand_list
List your organization's brands as slug + name + description, so an agent can pick one before loading its context. - brand_get
Fetch one brand by slug — its identity, voice, guidelines and messaging — so an agent knows who it is acting for. - brand_resolve
Given an ad account, find which brands' context applies to it. - brand_create
Create a brand in your organization. Every context section is optional — start with a name and fill it in over time. - brand_update
Edit a brand's context, guarded by base_revision so a concurrent change can't be silently overwritten. - brand_attach_advertiser
Attach an ad account to a brand, so agents can resolve brand context from the account. - brand_detach_advertiser
Remove the link between an ad account and a brand, leaving the brand and its context untouched. - brand_delete
Delete a brand and the context authored on it, guarded by base_revision. - document_create_upload
Reserve a file against a brand and get a short-lived URL to upload the bytes to. - document_finalize
Complete a document upload once the bytes have landed — size and type are read from the stored file, not from what you declared. - document_get
Fetch one brand document — images come back as an image the assistant can actually look at. - document_list
List the files attached to a brand, each with a URL you can fetch. - document_delete
Delete a file attached to a brand, along with its stored bytes.