Run Meta Music Ads with Claude: The song.so Connector Explained

The song.so connector lets Claude work directly with your song.so account: it reads smartlink analytics, researches targeting from your sound, builds Meta release and tour campaigns, runs optimization rounds and produces creative videos. You add one URL in Claude settings and sign in. Anything that spends money starts with a dry run that returns the exact plan, and campaigns are created paused.

By the song.so team

What the connector is

The song.so connector is a remote server built on the Model Context Protocol, the open standard that lets an AI assistant call tools in other products. You add it to Claude as a custom connector. After you sign in with your song.so account, Claude can use the same functions the song.so dashboard uses, on your own data. It does not replace the dashboard, it adds a second way to operate it by describing what you want in plain language. The protocol itself is documented at modelcontextprotocol.io.

The connector is meant for the people who run campaigns weekly: artists, managers and labels who would rather say build the campaign for this release, check yesterday, and pause what does not work than click through ten screens. It is also useful when you manage several artists, because a question such as which of my campaigns are covered by automation takes one sentence instead of a tour through the dashboard.

Any song.so account works with the connector tools. You do not need a particular song.so plan to call them, although some capabilities behind them, such as server-side tracking, depend on your plan in the dashboard. The connector works only through its tools. It does not click around the website for you, and when something is not covered by a tool, Claude is designed to tell you and let you do it in the dashboard.

How to connect it

StepWhat to do
1In Claude, open Settings, then Connectors, then Add custom connector
2Paste the connector URL https://mcp.song.so/mcp and confirm
3Sign in on the song.so consent screen and click Authorize
4Connect your Meta account on the song.so connection page, so the Meta tools can run
5Optional: download the song.so skills or the plugin from app.song.so/mcp

Claude needs a plan that supports custom connectors (Pro, Max, Team or Enterprise), and you need a song.so account. Everything the connector reads or writes is scoped to the signed-in song.so user on the server, so you never pass a user id and Claude never has to ask for one. If calls start failing with a message about a refresh token, the sign-in session has broken, which can happen after a connector update. Reconnect the connector rather than retrying, and the tools work again.

What Claude can do: the tool groups

The connector lists more than 100 tools on its documentation page, grouped by job. The names below are the real tool names, which helps when you want to ask for something specific.

GroupExamplesWhat it covers
Smartlinkslist_smartlinks, find_smartlink_for_track, create_smartlink, edit_smartlinkCheck if a release already has a link before creating one, then create or edit it with cover art and platforms
Analytics and conversionsget_smartlink_analytics, get_platform_clicks, get_track_popularityViews, click-outs, paid versus organic, clicks per ad through the ad id in utm_content, and the Spotify popularity history of your smartlinks
Artists and pixelslist_artists, list_pixels, add_pixel, edit_pixelSee which pixel covers which artist before running ads
Meta accounts and assetslist_meta_ad_accounts, list_meta_pages, validate_meta_assets, upload_meta_ad_videoConnect and validate assets, manage audiences, upload videos, read ad-level performance
Targeting researchresearch_release_targeting, search_meta_targetingFree sound analysis and a Broad, Genre and Artists draft with resolved interest ids
Release campaignscreate_release_campaign, import_meta_campaign, list_song_campaignsBuild a release campaign, register an existing one, see what automation covers
Optimizationset_campaign_optimization, run_campaign_optimization, get_optimization_logSwitch automation on or off, set a target, run a round, explain decisions
Tour campaignscreate_tour_campaign, add_tour_dates, generate_tour_creativesTour dates, city-specific videos and tour campaigns
Creativesstart_bulk_job, export_bulk_job, list_batch_videosThe creative generator, step by step or in bulk

You do not have to remember any of these. Claude picks the tools from what you ask. The names are useful when you want to check what was done, because the audit trail refers to them.

Smartlinks and pixels: the foundation

Every campaign needs a smartlink and a pixel, and the connector is careful with both. Before it creates a smartlink, Claude is designed to look for an existing one for the same track, so you do not end up with duplicates. When it creates one, it can fetch the cover art and streaming links from a Spotify link on its own, and it uses the release type presave for unreleased tracks.

Pixels are assigned to artists, not to individual smartlinks. A pixel with no artist assigned is global and fires for all your smartlinks. Before ads run, Claude checks that a pixel covers the artist of the smartlink, and it never changes which artists a pixel belongs to without your explicit confirmation. Pixel tokens are never returned by any tool, including right after you set them. That separation matters because a wrong pixel assignment is one of the quietest ways to ruin a campaign.

Building a release campaign with Claude

A typical conversation follows the same order as the dashboard builder. Claude finds or creates the smartlink for the track, checks that the ad account, Facebook Page, Instagram account and pixel exist and belong together, and runs a free sound analysis that returns genres, language, similar artists and a draft of the broad, genre and artist ad sets with resolved Meta interest ids. Names Meta does not know are listed, never guessed.

Then comes the part that matters for safety. The campaign tool is a dry run by default. It validates everything and returns the exact plan, with every ad set, budget and ad, plus a confirmation code. Only a second call with the same arguments and that code builds the campaign, so what you approved is what gets created. Changing any argument invalidates the code. Everything is created paused unless you explicitly ask for it to go live. If a step fails midway, the tool reports the step and every id already created on Meta, and it deletes nothing. The structure it builds is explained in release campaign structure.

StageWhat happensYour role
BriefClaude collects artist, song, release date, genre, budget and target marketAnswer the questions, correct anything wrong
AssetsAd account, Page, Instagram and pixel are listed and validated togetherConfirm the right ones
ResearchThe sound is analyzed and the three ad set drafts appearEdit interests and geography
Dry runThe exact plan and a confirmation code are returnedRead the plan and approve
BuildThe campaign is created paused and registered in song.soReview in Ads Manager and activate

The campaign is registered in song.so as it is created, so the hourly optimizer and real cost per result tracking cover it from the start. Campaigns that already exist in your Meta account can be imported into song.so the same way, and nothing changes on Meta when you do that. A campaign built only through the official Meta Ads connector is not visible to the automation until it is imported, and Claude is designed to tell you so.

Checking and optimizing campaigns

Once campaigns run, Claude can list the campaigns registered in song.so and show which are covered by automation, read the optimization log to explain what the hourly optimizer decided and why, switch automation on or off for a campaign, set a cost target for it, and run one optimization round immediately with a dry run option. It can also read ad-level insights and the click-outs attributed to each ad. The rules behind those decisions are in automation rules explained and real cost per result for music ads.

The hourly optimization runs inside song.so itself. You do not need a scheduled task in Claude for it, and creating one would duplicate the work. What Claude does instead is explain and review: when you ask how your ads are doing, it evaluates them per ad with the same rule the automation uses, tells you which target the number came from, and does not pause ads the automation will handle anyway. A daily summary is fine as a read-only report. Anything that pauses or activates needs your confirmation.

The optimization log is where this pays off. Asking why was this ad paused returns the entry with the metrics the optimizer used, the target and the threshold, instead of Claude guessing. That keeps the explanation honest.

Checking clicks against Meta numbers

One of the most useful things to ask Claude is whether your Meta numbers and your own click data agree. The connector can return landing page clicks per Meta campaign, ad set and ad, and Claude can put them next to the results Meta reports for the same ids. A match of 60 to 100 percent is normal, because of attribution windows and browser gaps. A much lower match on a recent campaign usually points to missing tracking tags or pixel drop-off. A much higher one can point to organic traffic or misattribution. Large gaps can also indicate bot traffic or click fraud.

A few details keep the comparison fair. Compare the same date range on both sides. For a new campaign, use the maximum range on the Meta side and no start date on the song.so side. For an old one, pass the launch date so earlier organic traffic does not inflate the numbers. And be aware that some analytics totals are lifetime values that ignore a date filter, while others are filtered, which Claude is designed to keep straight when it builds a report.

Creatives from a conversation

The creative tools cover the same pipeline as the generator: import a Spotify preview, a YouTube video or a TikTok sound, research images, animate them, build cinematic scenes, add text hooks and lyrics, set fonts, sync styles and video effects, and download the video with or without text. Bulk tools turn one finished batch into many variants, let you select the ones to keep, and export them as hook, lyrics-only, overlay-only and combined videos. Claude is told to state the arithmetic before it starts, for example ten variants times twelve recipes makes 120 videos.

The finished videos can then be listed per smartlink, grouped for flexible ads, uploaded to Meta and used in a campaign, which closes the loop between production and launch. See the creative generator overview, bulk ad creative variations and from creative generator to live campaign. Creative generation uses creative credits, so a good assistant checks your balance and warns before it runs a large batch.

Tour campaigns

For tours Claude can add and update tour dates, manage tour video templates and base clips, preview the exact text that will be burned into each video, render city videos as server-side jobs that finish without anyone watching, and create or import a tour campaign. Tour dates added through the connector get their ticket links generated from the tour link and the city, with the city name transliterated, so a city such as Munich with an umlaut becomes a clean link.

Two safeguards are specific to tours. Importing an existing tour campaign pairs each ad set with a tour date by the city in its name, and Claude is designed to show you that pairing before confirming, because the tour optimizer pauses the ad sets of sold-out and past dates and a wrong pairing would pause the wrong one. And artist video templates are shared across song.so users, so an existing template is never overwritten unless you confirm that it is yours. The logic behind the per-city ad sets is in tour ad campaigns.

Skills and the plugin

The connector gives Claude hands. The skills give it the playbook. song.so publishes two skills: meta-music-ads for planning, launching and optimizing Meta campaigns for releases, and edit-generation for the creative pipeline. Both are thin loaders. When a conversation starts, the skill tells Claude to fetch the current playbook from the connector, so strategy, benchmarks and workflows stay up to date without you downloading anything new. Only when the skill package itself changes are you asked to download it again.

You can install the skills as files from the song.so connector page, or install the song.so plugin, which bundles the connector and both skills for Claude Cowork and claude.ai. The playbook also works alongside the official Meta Ads connector, for tasks where you want to use both. In that setup, the song.so tools build and register campaigns so the automation covers them, while the Meta connector is useful for reading and editing things the song.so tools do not cover.

Safety: what protects your account and budget

SafeguardHow it works
Dry run firstCampaign builds and imports preview the exact plan and return a confirmation code
Code tied to the argumentsChanging any argument invalidates the confirmation code
Paused by defaultCampaigns are created paused unless you explicitly ask to activate them
Scoped to youEvery read and write is limited to the signed-in song.so user on the server
No shared admin keyThe connector uses your own session, never a shared service key
Audit trailEvery tool call is logged, and calls that change data keep their arguments
Nothing deletedAds are paused, not deleted, so performance history stays available
Failures keep a recordIf a build fails midway, every id created so far is reported and nothing is deleted
Secrets stay secretPixel and API tokens are never returned by any tool

Two limits are worth knowing. Meta limits how fast an app can call its API, so large uploads go through a queue instead of firing hundreds of calls at once. And Claude is an assistant, not an autopilot: it is designed to show you the plan and wait for a go before anything spends money.

Example requests

You can ask in plain language. These examples show the kind of request the connector handles well.

You sayWhat Claude does
Do I already have a smartlink for this track?Searches your smartlinks by title and Spotify link and reports matches
Build a release campaign for this song in the DACH regionGathers the brief, validates assets, researches targeting, shows a dry run and waits for your approval
Which of my campaigns are on automation?Lists registered campaigns with their automation status and targets
Why was that ad paused yesterday?Reads the optimization log entry and explains it with the numbers
Compare my song.so clicks with Meta results for this campaignFetches clicks per ad and matches them with Meta results over the same range
Make 40 variations of my best clip with these five hooksStates the arithmetic, checks your credits, starts a bulk job and reports when it is done
Set up the Berlin and Hamburg tour dates and adsAdds the dates, previews the video text, builds the tour campaign as a dry run and waits for your go

Who this is for

If you build a campaign once a year, the dashboard is enough. If you manage several artists, run weekly checks or produce many creatives, the connector removes repeated clicking. It is also a good fit if you already work in Claude for planning and writing, because campaign operations then happen in the same place as the rest of your work. For a comparison with other ways to automate Meta campaigns, see Intellijend alternatives and how automated Meta campaigns for music work.

FAQ

What do I need to use the song.so connector with Claude?

A song.so account and a Claude plan that supports custom connectors (Pro, Max, Team or Enterprise). To use the Meta tools you also connect your Meta account to song.so.

What is the connector URL?

https://mcp.song.so/mcp. In Claude open Settings, Connectors, Add custom connector, paste the URL and sign in on the song.so consent screen.

Can Claude launch ads without my approval?

No. Building a campaign starts with a dry run that returns the exact plan and a confirmation code, and campaigns are created paused unless you explicitly ask to activate them.

Can Claude optimize my existing Meta campaigns?

Yes. Existing campaigns can be imported into song.so, which registers them for the hourly optimizer without changing anything on Meta. Claude can then read the optimization log and run an optimization round.

What are the song.so skills?

Two skills, meta-music-ads for campaigns and edit-generation for creatives. They load the current playbook from the connector, so they stay up to date without a new download.

Does Claude see other users data?

No. All reads and writes are scoped server-side to the signed-in song.so user, and the connector works with your own session.

Do I need a Claude scheduled task for the hourly optimization?

No. The hourly optimization runs inside song.so itself. A scheduled task in Claude would only duplicate work, and it should be limited to read-only reporting.

What if the connector stops working after an update?

If calls fail with a refresh token error, the sign-in session is broken. Reconnect the connector and sign in again.