Facebook Ads Agent
Create, manage, and optimize Facebook/Meta Ads campaigns with full control over campaigns, ad sets, targeting, and creatives. Powered by AdAgent.
Security & Data Handling
- - MCP link is a credential: Your MCP Server URL (
https://adagent.10xboost.org/api/mcp/fb-ads/{user_id}/mcp) contains your user ID for credential lookup. Treat it like a password — do not share it publicly. - Token scope: The service uses your Facebook OAuth token to access your ad accounts. It can create/modify campaigns, ad sets, and ads, manage budgets, and read performance data.
- Token storage: Your Facebook tokens are encrypted with Fernet (AES-128-CBC + HMAC) and stored in MongoDB. They are never exposed in API responses.
- Token expiry: Facebook long-lived tokens expire after ~60 days. Use
refresh_token to extend when needed. - Multi-tenant isolation: Each request is scoped to your user credentials via ASGI middleware. You can only access your own ad accounts.
- No local credentials: No local API keys, environment variables, or secrets are needed. All auth is embedded in the MCP link.
- Third-party service: This skill relies on AdAgent, an AI-powered ad management platform.
Prerequisites
- 1. Sign up at adagent.10xboost.org with Google
- Connect Facebook Ads — authorize AdAgent to access your Facebook Ad accounts
- Get your MCP link: Copy your Facebook Ads MCP Server URL from the dashboard
- Add to Claude: Paste the MCP link as a Connector — no install, no API key needed
Available Tools (22 tools)
Account & Token
| Tool | Description |
|---|
| INLINECODE2 | List all accessible ad accounts |
| INLINECODE3 |
Get account details (currency, timezone, status) |
|
check_token_status | Check token validity and expiry |
|
refresh_token | Exchange short-lived token for long-lived token (60 days) |
Campaign Management
| Tool | Description |
|---|
| INLINECODE6 | List campaigns (filter by status) |
| INLINECODE7 |
Get campaign details |
|
create_campaign | Create campaign (PAUSED by default) |
|
enable_campaign | Activate a campaign |
|
pause_campaign | Pause a campaign |
Ad Set Management
| Tool | Description |
|---|
| INLINECODE11 | List ad sets (filter by campaign/status) |
| INLINECODE12 |
Get ad set details with full targeting |
|
create_ad_set | Create ad set with audience targeting |
|
enable_ad_set | Activate an ad set |
|
pause_ad_set | Pause an ad set |
Ad Management
| Tool | Description |
|---|
| INLINECODE16 | List ads (filter by ad set/status) |
| INLINECODE17 |
Create ad (upload image + creative + ad) |
|
enable_ad | Activate an ad |
|
pause_ad | Pause an ad |
Performance & Insights
| Tool | Description |
|---|
| INLINECODE20 | Account-level performance data |
| INLINECODE21 |
Campaign daily performance |
|
get_ad_set_insights | Ad set performance |
Targeting Research
| Tool | Description |
|---|
| INLINECODE23 | Search interest targeting (e.g. "baseball", "cooking") |
| INLINECODE24 |
Search geographic targeting (country, city, zip) |
|
search_targeting_categories | Browse targeting categories (interests, behaviors, demographics) |
Compliance
| Tool | Description |
|---|
| INLINECODE26 | Check Taiwan ad regulation compliance |
Workflow
Creating a Full Ad (3-Layer Structure)
Facebook Ads uses a 3-layer hierarchy: Campaign → Ad Set → Ad
Step 1: Create Campaign
CODEBLOCK0
Objectives: OUTCOME_AWARENESS, OUTCOME_ENGAGEMENT, OUTCOME_LEADS, OUTCOME_SALES, OUTCOME_TRAFFIC, INLINECODE32
Budget rule: Set budget at Campaign OR Ad Set level, not both.
Step 2: Research Targeting
CODEBLOCK1
Step 3: Create Ad Set (with targeting)
CODEBLOCK2
If Campaign has budget set, do NOT set daily_budget_usd on Ad Set.
Step 4: Create Ad
CODEBLOCK3
CTA types: LEARN_MORE, SHOP_NOW, SIGN_UP, DOWNLOAD, BOOK_TRAVEL, INLINECODE39
Step 5: Enable (Campaign is PAUSED by default)
CODEBLOCK4
Checking Performance
| User Request | Tool |
|---|
| "How are my ads doing?" | INLINECODE40 |
| "Campaign X performance" |
get_campaign_insights |
| "Ad set performance" |
get_ad_set_insights |
| "List all campaigns" |
list_campaigns |
CODEBLOCK5
Present Results
- - Performance: Show metrics table (impressions, clicks, CTR, CPC, CPM, spend, reach, frequency)
- Campaign list: Show status, objective, budget, and delivery status
- Targeting: Show audience size estimates when researching interests
Targeting Tips
- - Use
search_interests to find interest IDs before creating ad sets - Use
search_locations with location_type (country, city, zip, region) for geo-targeting - INLINECODE47 items use OR within each element, AND between elements
- INLINECODE48 enables Meta's Advantage+ automatic audience (recommended for beginners)
Error Handling
| Error | Solution |
|---|
| Token expired | Use refresh_token or reconnect at adagent.10xboost.org |
| Invalid account ID |
Run
list_ad_accounts to get valid IDs |
| Budget conflict | Budget must be at Campaign OR Ad Set level, not both |
| Missing Page ID | Some objectives require
page_id — get it from account info |
| Taiwan regulation | Run
get_taiwan_regulation_status to check compliance |
| Ad rejected | Check Facebook ad policies — image text ratio, prohibited content |
Documentation
Product website: adagent.10xboost.org
Facebook 广告代理
全面掌控 Facebook/Meta 广告活动的创建、管理和优化,涵盖广告系列、广告组、定向和创意。由 AdAgent 提供技术支持。
安全与数据处理
- - MCP 链接即凭证:您的 MCP 服务器 URL(https://adagent.10xboost.org/api/mcp/fb-ads/{userid}/mcp)包含用于凭证查找的用户 ID。请像对待密码一样对待它——不要公开分享。
- 令牌范围:该服务使用您的 Facebook OAuth 令牌来访问您的广告账户。它可以创建/修改广告系列、广告组和广告,管理预算,以及读取效果数据。
- 令牌存储:您的 Facebook 令牌使用 Fernet(AES-128-CBC + HMAC)加密并存储在 MongoDB 中。它们绝不会在 API 响应中暴露。
- 令牌有效期:Facebook 长期令牌约 60 天后过期。需要时使用 refreshtoken 进行续期。
- 多租户隔离:通过 ASGI 中间件,每个请求都限定在您的用户凭证范围内。您只能访问自己的广告账户。
- 无需本地凭证:无需本地 API 密钥、环境变量或机密信息。所有认证都嵌入在 MCP 链接中。
- 第三方服务:此技能依赖于 AdAgent,一个 AI 驱动的广告管理平台。
前提条件
- 1. 注册 adagent.10xboost.org(使用 Google 账号)
- 连接 Facebook 广告 — 授权 AdAgent 访问您的 Facebook 广告账户
- 获取您的 MCP 链接:从控制面板复制您的 Facebook 广告 MCP 服务器 URL
- 添加到 Claude:将 MCP 链接粘贴为连接器 — 无需安装,无需 API 密钥
可用工具(22 个工具)
账户与令牌
| 工具 | 描述 |
|---|
| listadaccounts | 列出所有可访问的广告账户 |
| getaccountinfo |
获取账户详情(货币、时区、状态) |
| check
tokenstatus | 检查令牌有效性和过期时间 |
| refresh_token | 将短期令牌兑换为长期令牌(60 天) |
广告系列管理
| 工具 | 描述 |
|---|
| listcampaigns | 列出广告系列(按状态筛选) |
| getcampaign |
获取广告系列详情 |
| create_campaign | 创建广告系列(默认暂停) |
| enable_campaign | 启用广告系列 |
| pause_campaign | 暂停广告系列 |
广告组管理
| 工具 | 描述 |
|---|
| listadsets | 列出广告组(按广告系列/状态筛选) |
| getadset |
获取广告组详情及完整定向信息 |
| create
adset | 创建广告组并设置受众定向 |
| enable
adset | 启用广告组 |
| pause
adset | 暂停广告组 |
广告管理
| 工具 | 描述 |
|---|
| listads | 列出广告(按广告组/状态筛选) |
| createad |
创建广告(上传图片 + 创意 + 广告) |
| enable_ad | 启用广告 |
| pause_ad | 暂停广告 |
效果与洞察
| 工具 | 描述 |
|---|
| getaccountinsights | 账户级效果数据 |
| getcampaigninsights |
广告系列每日效果 |
| get
adset_insights | 广告组效果 |
定向研究
| 工具 | 描述 |
|---|
| searchinterests | 搜索兴趣定向(例如棒球、烹饪) |
| searchlocations |
搜索地理位置定向(国家、城市、邮编) |
| search
targetingcategories | 浏览定向类别(兴趣、行为、人口统计) |
合规性
| 工具 | 描述 |
|---|
| gettaiwanregulation_status | 检查台湾广告法规合规性 |
工作流程
创建完整广告(三层结构)
Facebook 广告使用三层层级结构:广告系列 → 广告组 → 广告
第 1 步:创建广告系列
create_campaign(
name=2026年夏季促销,
objective=OUTCOME_TRAFFIC,
dailybudgetusd=20.0
)
目标类型:OUTCOMEAWARENESS、OUTCOMEENGAGEMENT、OUTCOMELEADS、OUTCOMESALES、OUTCOMETRAFFIC、OUTCOMEAPP_PROMOTION
预算规则:在广告系列或广告组级别设置预算,不能同时设置。
第 2 步:研究定向
search_interests(query=AI)
searchlocations(query=台湾, locationtype=country)
第 3 步:创建广告组(含定向)
createadset(
name=AI爱好者 - 台湾,
campaignid=id>,
optimizationgoal=LINKCLICKS,
billing_event=IMPRESSIONS,
destination_type=WEBSITE,
countries=[TW],
age_min=25,
age_max=55,
flexible_spec=[
{interests: [{id: 6003087413192, name: AI}]}
]
)
如果广告系列已设置预算,则不要在广告组上设置 dailybudgetusd。
第 4 步:创建广告
create_ad(
name=夏季促销广告1,
adsetid=setid>,
image_url=https://example.com/ad-image.jpg,
message=夏季大促!所有AI工具五折优惠。,
link=https://example.com/sale,
calltoactiontype=SHOPNOW
)
CTA 类型:LEARNMORE、SHOPNOW、SIGNUP、DOWNLOAD、BOOKTRAVEL、CONTACT_US
第 5 步:启用(广告系列默认暂停)
enablecampaign(campaignid=)
enableadset(adsetid=setid>)
enablead(adid=)
检查效果
| 用户请求 | 工具 |
|---|
| 我的广告效果如何? | getaccountinsights |
| 广告系列X的效果 |
get
campaigninsights |
| 广告组效果 | get
adset_insights |
| 列出所有广告系列 | list_campaigns |
getaccountinsights(
start_date=2026-03-01,
end_date=2026-03-30,
timeincrement=1 // 1=每日, 7=每周, alldays=汇总
)
呈现结果
- - 效果:显示指标表格(展示次数、点击次数、CTR、CPC、CPM、花费、覆盖人数、频次)
- 广告系列列表:显示状态、目标、预算和投放状态
- 定向:研究兴趣时显示受众规模估算
定向技巧
- - 创建广告组前使用 searchinterests 查找兴趣 ID
- 使用带 locationtype(国家、城市、邮编、地区)的 searchlocations 进行地理定向
- flexiblespec 中的项目在同一元素内使用 OR 逻辑,不同元素间使用 AND 逻辑
- advantage_audience=1 启用 Meta 的 Advantage+ 自动受众(推荐初学者使用)
错误处理
| 错误 | 解决方案 |
|---|
| 令牌过期 | 使用 refreshtoken 或在 adagent.10xboost.org 重新连接 |
| 无效账户 ID |
运行 listad_accounts 获取有效 ID |
| 预算冲突 | 预算必须在广告系列或广告组级别设置,不能同时设置 |
| 缺少主页 ID | 某些目标需要 page_id — 从账户信息中获取 |
| 台湾法规 | 运行 get
taiwanregulation_status 检查合规性 |
| 广告被拒 | 检查 Facebook 广告政策 — 图片文字比例、禁止内容 |
文档
产品网站:adagent.10xboost.org