广告数据分析服务

Meta Ads MCP Server是一个提供广告账户数据访问的服务,包括活动性能、创意分析、受众细分和预算跟踪等功能。

  • by jonathanposovatz
  • TypeScript
  • 本地部署
  • 1 星标
  • 更新于
在 GitHub 查看 jonathanposovatz/meta-ads-mcp-server

使用说明

元广告MCP服务器

用于元营销API的MCP服务器。让Claude Desktop直接访问您的广告帐户数据——广告活动绩效、创意分析、受众细分和预算节奏。

工具

工具 说明
get_campaigns 列出包含状态、目标和预算信息的活动
get_campaign_performance 核心KPI:支出、印象、CTR、CPC、CPM、CPA、ROAS
get_creative_performance 创意水平指标,包括视频挂机率和直通率
get_ad_creatives 内联渲染广告创意图像(默认为全分辨率, image_size: "thumbnail" 64×64预览)
get_audience_breakdown 按年龄和/或性别分列的业绩
get_budget_status 活动活动的预算节奏和每日支出状态
get_ad_accounts 列出令牌有权访问的所有广告帐户
get_adsets / get_ads 列出具有可选过滤功能的广告集/广告
debug_* 用于排除现场/故障问题的诊断助手

设置

1.安装和构建

git clone https://github.com/YOUR_USERNAME/meta-ads-mcp-server.git
cd meta-ads-mcp-server
npm install
npm run build

2.配置环境

cp .env.example .env

编辑 .env 使用您的凭据:

META_ACCESS_TOKEN=your_meta_api_token
META_AD_ACCOUNT_ID=act_123456789

获取您的凭据:

  • 广告帐户ID:发现于 元广告管理器 URL或帐户下拉列表。前缀为 act_.
  • 访问令牌:生成时间 Meta Graph API资源管理器 随着 ads_read 许可。短期代币(约2小时)可以通过以下方式兑换为60天的长期代币 GET /oauth/access_token?grant_type=fb_exchange_token&client_id={APP_ID}&client_secret={APP_SECRET}&fb_exchange_token={SHORT_TOKEN}.

这 .env 文件 优先 Claude Desktop传递的环境变量。如果克劳德桌面 claude_desktop_config.json 包含陈旧的 META_ACCESS_TOKEN,价值在 .env 获胜。更新 .env 在不接触Claude Desktop配置的情况下旋转令牌。

3.添加到克劳德桌面

添加到您的Claude桌面配置(~/Library/Application Support/Claude/claude_desktop_config.json):

{
  "mcpServers": {
    "meta-ads": {
      "command": "node",
      "args": ["/absolute/path/to/meta-ads-mcp-server/dist/index.js"]
    }
  }
}

在带有Homebrew Node的macOS上,使用 /opt/homebrew/bin/node 作为命令。

重新启动克劳德桌面。工具将自动可用。

使用示例

问克劳德这样的问题:

  • “显示我的活动广告系列”
  • “120210001活动在过去7天的表现如何?”
  • “比较我夏季促销活动的创意表现”
  • “按年龄和性别细分我的竞选受众”
  • “今天有任何竞选活动超支吗?”

建筑

src/
├── index.ts             → MCP server setup, tool registration
├── types.ts             → Shared interfaces (MetaInsight, MetaAction, etc.)
├── fields.ts            → Reusable Meta API field selections
├── formatters.ts        → KPI calculations, number formatting
├── meta-client.ts       → Meta API client (loads .env with override:true)
└── tools/
    ├── campaigns.ts     → get_campaigns
    ├── performance.ts   → get_campaign_performance
    ├── creatives.ts     → get_creative_performance
    ├── ad-creatives.ts  → get_ad_creatives (inline image rendering)
    ├── audience.ts      → get_audience_breakdown
    ├── budget.ts        → get_budget_status
    ├── accounts.ts      → get_ad_accounts
    ├── adsets.ts        → get_adsets
    ├── ads.ts           → get_ads
    └── debug.ts         → debug helpers

Meta API注释

  • 预算以美分为单位。 daily_budget: "5000" = €50.00
  • 动作是数组。 始终解析为 extractAction(),从不直接访问
  • 细分会增加行数。 age,gender 每个活动提供约14行(7个年龄组×2个性别)
  • 视频字段可能缺失。 非视频广告不会有 video_thruplay_watched_actions
  • 日期_重置与时间_范围:永远不要同时发送这两个消息——Meta抛出错误

许可证

麻省理工学院