Meta Muse
Connect Meta Muse to your own Adwarp endpoint with 1 bearer token, then check that it works.
On this page
Meta Muse runs on a computer in Meta's cloud, so it can't start Adwarp on your machine or reach a server there. It connects over the internet to your own copy of the hosted endpoint instead, and gets the LinkedIn tools that endpoint serves. The Google Ads tools need the local server, so they don't run in Muse yet.
Create a LinkedIn app and authenticate first.
Deploy your endpoint
Muse adds a custom MCP server with 1 secret, a bearer token. The shared endpoint at mcp.adwarp.dev takes 3 credential headers, so deploy your own, which takes 1 MCP_AUTH_TOKEN.
- Print your LinkedIn values:
npx -y adwarp auth export. - Make a token:
openssl rand -hex 32. - Click Deploy to Vercel. It copies this repo into your GitHub account, sets the Root Directory to
apps/weband asks for these 4 values:
| Variable | Value |
|---|---|
ADWARP_LINKEDIN_CLIENT_ID | from auth export |
ADWARP_LINKEDIN_CLIENT_SECRET | from auth export |
ADWARP_LINKEDIN_REFRESH_TOKEN | from auth export |
MCP_AUTH_TOKEN | the token you made |
Your endpoint is https://<your-app>.vercel.app/api/mcp. If Vercel Authentication covers production in your team's Deployment Protection settings, turn it off for production, or Muse can't reach the endpoint. To set the project up by hand instead, follow Self-host on Vercel.
Add it in Muse
Send Muse this message with your endpoint's URL:
Add a custom MCP server called adwarp at https://<your-app>.vercel.app/api/mcpThen answer its questions:
| Muse asks | Answer |
|---|---|
| Transport | HTTP |
| Auth | Bearer token |
| Key | your MCP_AUTH_TOKEN |
Type the token into Muse's secure prompt, never into the chat, where it would stay in your history. Muse keeps it in its credential store, and your LinkedIn client secret stays in your Vercel project.
Check that it works
Ask Muse something read-only: "List my LinkedIn ad accounts" or "How did my LinkedIn account do in the last 30 days?"
Writes stay in your hands. Adwarp creates campaigns and ads as drafts, and sets a campaign or an ad ACTIVE only when you explicitly ask. Muse's own settings can also make it ask before every action.
What runs in Muse
Every LinkedIn tool your endpoint serves: accounts, targeting and audience sizing, conversions, campaigns and ads, reporting and Ad Library search. CSV uploads, Salesforce and HubSpot audiences, the change journal and lift tools, and every Google Ads tool need your machine, so run those in Claude Code, Codex, Cursor or the CLI. See Hosted limitations.