일일 account health check
Ads Manager를 열고 각 campaign에 들어가 Columns → Performance를 누른 뒤 table screenshot을 찍어 Slack thread에 붙여 넣습니다. 매일 아침 25분입니다.
Campaigns, ad sets, ads, audiences, Conversions API, automated rules - 24개 module 전반의 77개 도구를 내 Railway 또는 Docker 호스트에 배포합니다.
누군가 Facebook에 Meta MCP를 설정했다가 ban당했다는 사례를 정말 많이 들었습니다. 제 AM도 이런 일이 있었다고 확인해 주었습니다.
Ads Manager를 열고 각 campaign에 들어가 Columns → Performance를 누른 뒤 table screenshot을 찍어 Slack thread에 붙여 넣습니다. 매일 아침 25분입니다.
Meta Ads MCP works with Claude Desktop, Claude Code, Cursor, Codex, Gemini, Windsurf, OpenClaw, and Hermes — any MCP-compatible AI client. Get it running in seconds.
Pre-configured environment, OAuth handled for you. No command-line work.
Install on ElasticFlow →Managed auth · No laptop setup.
Managed auth
Copy a config snippet into your AI client and restart.
{
"mcpServers": {
"meta-mcp": {
"command": "npx",
"args": [
"mcp-remote",
"${META_MCP_URL}",
"--header",
"Authorization: Bearer ${MCP_API_KEY}",
"--header",
"X-Meta-Token: ${META_ACCESS_TOKEN}"
]
}
}
}권장 setup: meta-mcp는 내 Railway 또는 Docker 호스트에서 실행하고, Claude Code는 mcp-remote로 연결합니다.
developers.facebook.com → My Apps → Create App으로 이동하세요. 'Business' app type을 선택합니다. 다음 단계에서 System User access token을 발급하려면 이 app이 필요합니다.
Business Suite → Settings → Users → System Users. System User를 만들고 Admin role로 광고 계정에 배정한 뒤 long-lived token을 생성하세요. 최소한 ads_management와 ads_read를 부여합니다.
.env 파일에 META_ACCESS_TOKEN=<your system user token>, META_AD_ACCOUNT_ID=act_123456789(fallback default), MCP_API_KEY=<strong random string>(MCP server 자체 gate)을 설정하세요.
Local: npm install && npm run build && npm start. Cloud: repo를 fork하고 Railway에 연결한 뒤 env vars를 붙여 넣고 deploy하세요. Server는 http://localhost:3000 또는 Railway URL에서 시작됩니다. /health가 status:ok를 반환하는지 확인하세요.
install section의 .mcp.json block을 붙여 넣으세요. X-Meta-Token header가 session별로 Meta token을 전달합니다 - shared workspace bot token이 아니며 user별 scope입니다.
| Scope | Why this MCP needs it |
|---|---|
ads_management | 필수 - campaign, ad set, ad를 생성, 수정, pause하는 데 필요합니다. |
ads_read | 필수 - campaign performance, insights, account structure를 읽는 데 필요합니다. |
pages_read_engagement | 선택 - 기존 Facebook Page post를 광고로 promotion할 때만 필요합니다. |
leads_retrieval | 선택 - Lead Generation form submission을 가져올 때만 필요합니다. |
~7 min first time
OTHER · v1.0.0 · released today
내 모든 계정의 활성 캠페인에 대해 어제 ROAS와 지출을 보여주고, overspend 순으로 정렬해줘.
어제의 계정 상태
3개 계정의 활성 캠페인 12개. 4개가 daily cap 대비 15% 넘게 overspend. 최악: ZestPro Q4 Sale - $312 초과, ROAS는 2.4에서 1.1로 하락.
get_insights + get_account_insights를 통해 Meta Insights에서 live로 가져온 데이터.
유사한 일일 review flow에서 operator가 보고한 시간
Ads Manager에서는 3개 campaign에 걸친 15개 ad set을 선택해 한 번에 pause할 수 없습니다. 하나씩 처리하며 빠뜨리지 않기를 바랍니다.
7-day CPC가 $3 이상이고 frequency가 4를 넘는 모든 ad set을 pause해줘.
Bulk pause: 3개 campaign의 ad set 8개
rule에 맞는 ad set 8개. Paused: AS_103, AS_119, AS_201, AS_204, AS_207, AS_312, AS_318, AS_341. 확보된 combined daily budget: $640.
batch_request 사용 - call당 최대 50개 Graph API sub-request.
batch API cap은 50 sub-request
Notion에 brief를 쓰고 Ads Manager를 열어 campaign을 만든 다음 각 ad set, 각 ad를 만들고 IG 크리에이티브를 업로드하거나 첨부합니다. launch당 45-60분입니다.
Spring Sale campaign을 launch해줘: $50/day, US 25-45, shopping 관심사 타깃, 어제 올린 @brand IG Reel 사용.
Spring Sale 캠페인 생성됨
Campaign + ad set 1개 + ad 1개 live. Targeting: US, 25-45, Online Shopping interest. Creative: source_instagram_media_id 17841412345. Daily cap: $50.
create_campaign + create_adset + create_크리에이티브 + create_ad를 순서대로 사용.
create_크리에이티브는 source_instagram_media_id를 native로 받음
12개 client account 각각에서 insights를 가져와 Google Sheet에 복사하고 WoW comparison을 만듭니다. 매주 월요일 2시간입니다.
모든 client account의 WoW 지출, CPA, ROAS를 알려줘. CPA가 WoW 20% 넘게 증가한 account를 표시해줘.
주간 client snapshot - 12개 계정
9개 계정은 안정적. 3개 flag: Acme (CPA +34%), Helios (CPA +27%), Nymph (CPA +22%). 총 지출 $48,210(-6% WoW). 평균 ROAS 3.2.
account 전반으로 batch_request fan-out; date_preset=last_7d + last_14d로 get_account_insights.
batch API + 모든 계정에 대한 native pagination
24개 module 전반의 도구
README v1.0.0 - 전체 Meta Marketing API surface
batch API call당 최대 sub-request
README - Batch Operations
Meta API request 사이 최소 delay
README - BUC 기반 adaptive rate limiting
Meta Graph API version(configurable)
README - Configuration Reference
session TTL - token은 session별 cache
README - 엔터프라이즈-Ready
전체 77개 도구가 Meta Marketing API surface 전체를 다룹니다. 여기에 표시한 18개는 일상적인 Meta operator가 먼저 사용하는 도구입니다 - API namespace가 아니라 job 기준으로 묶었습니다.
campaign tree 전반의 full CRUD와 time-based budget schedule을 제공합니다.
status, objective, date range로 filter합니다. id, name, daily/lifetime budget, objective, bid strategy를 반환합니다.
objective(OUTCOME_SALES, OUTCOME_TRAFFIC 등), budget, bid strategy, special_ad_categories로 생성합니다.
campaign + ad set + ad를 clone합니다 - 처음부터 다시 만들지 않고 A/B 변형를 만듭니다.
list_campaigns · create_campaign · copy_campaign
자체 호스팅은 배포를 사용자가 통제한다는 뜻입니다 - Meta 액세스 토큰이 제3자 SaaS에 닿지 않습니다. 운영자들이 보고한 차단은 공유 인프라를 프록시로 쓰거나 속도 제한을 위반한 MCP에서 발생했습니다. meta-mcp는 BUC 인식 적응형 제한(최소 200ms 지연, 사용률 75%에서 백오프)을 갖추고 내 Railway 또는 Docker 호스트에서 실행되며, 내 시스템 사용자 토큰을 사용합니다. 이는 직접 통합한 내부 도구와 같은 설정 pattern이며 flag 대상이 아닙니다.
— X의 Eric Carlson - '누군가 ban당한 사례가 많다'get_ad_accounts에 limit=100을 전달하거나 after 커서로 모든 페이지를 순회하세요. 25개 제한 문제는 경쟁 MCP에서 문서화되어 있습니다(System User가 40개 이상 계정를 가진 brijr/meta-mcp#17, 100개 이상을 가진 brijr/meta-mcp#2). meta-mcp는 페이지네이션 매개변수를 Graph API에 직접 전달하므로 롱테일까지 도달합니다.
— Rafael de Sá - 40개 이상 계정를 가진 agency operator네. create_크리에이티브는 Meta Marketing API가 IG Reels/Feed/Stories promotion에 요구하는 source_instagram_media_id를 top level에서 받습니다. object_story_id(Facebook page post)만 받는 MCP에서 깨지고 Ads Manager로 돌아가야 하는 업무 흐름이 바로 이것입니다.
— Igor Andrade - Instagram-post-as-ad use case아닙니다. Serkan Haşlak의 open-source, ISC-licensed community implementation입니다. Meta는 2026년 4월 29일 29개 도구를 가진 공식 Meta Ads MCP를 출시했습니다. meta-mcp는 24개 module 전반의 77개 도구를 다루며, budget schedule, automated rule, custom conversion, batch API, lead-gen form 등 Meta Marketing API의 더 긴 tail을 포함합니다. read-only basics가 필요하면 공식 MCP를 선택하고, full surface가 필요하면 meta-mcp를 선택하세요.
필수: ads_management(campaign 생성/수정)와 ads_read(insights 가져오기). 선택: pages_read_engagement(기존 Facebook Page post를 광고로 promotion)와 leads_retrieval(Lead Gen form submission 읽기). 이 scope가 있는 시스템 사용자 토큰을 한 번 생성해 .env에 저장하세요.
네. .env에 APP_SECRET을 설정하면 서버가 각 Graph API call을 HMAC-SHA256(app_secret, access_token)으로 sign합니다. Meta App의 App Settings → Advanced에서 'Require App Secret Proof'가 enabled일 때 필요합니다. 대부분의 production-ready Meta app에는 이것이 필요합니다.
— Thomas Witt - 경쟁 MCP의 appsecret_proof workaround초기 public release. 24개 module 전반의 77개 도구. Dual MCP/REST interface. BUC 기반 adaptive rate limiting. Docker + Railway 배포ment. Conversions API + Pixel + Lead Gen forms + budget schedules + automated rules.