Meta Ads MCP项目:使用自定义Meta开发者应用接入指南
2025-06-19 11:15:56作者:滑思眉Philip
项目概述
Meta Ads MCP是一个用于与Meta广告平台(原Facebook广告平台)进行交互的中间件工具。它提供了标准化的接口,使开发者能够更方便地调用Meta广告API。本文将重点介绍如何使用自定义的Meta开发者应用来配置和使用Meta Ads MCP。
为什么需要自定义Meta开发者应用
虽然Meta Ads MCP提供了默认的认证方式,但在某些情况下,开发者可能需要使用自己的Meta开发者应用来接入:
- 需要更高的API调用配额
- 企业级应用需要自定义权限范围
- 特定业务场景需要独立的应用配置
- 安全合规要求使用自有应用凭证
准备工作:创建Meta开发者应用
第一步:创建应用
- 访问Meta开发者门户
- 选择创建"商业"类型的应用
- 为应用命名并完成基础设置
第二步:添加Marketing API产品
- 在应用仪表板中找到"添加产品"选项
- 选择"Marketing API"产品
- 完成基础配置
第三步:配置OAuth重定向URI
- 进入应用设置
- 在"有效OAuth重定向URI"中添加:
http://localhost:8888/callback - 保存配置
第四步:记录应用ID
创建完成后,请记下应用的ID(Client ID),后续配置中需要使用。
安装与基础使用
通过uvx安装运行
uvx meta-ads-mcp --app-id 你的Meta应用ID
通过pip安装运行
python -m meta_ads_mcp --app-id 你的Meta应用ID
高级配置
与开发工具集成
可以将Meta Ads MCP集成到常用开发工具中,如Cursor或Claude Desktop。配置方法如下:
- 编辑配置文件(
claude_desktop_config.json或~/.cursor/mcp.json) - 添加以下配置段:
"mcpServers": {
"meta-ads": {
"command": "uvx",
"args": ["meta-ads-mcp", "--app-id", "你的Meta应用ID"]
}
}
认证流程详解
使用自定义Meta应用时,MCP采用标准的OAuth 2.0认证流程:
- 本地回调服务器启动:MCP会在本地8888端口启动一个临时服务器
- 浏览器认证:自动打开浏览器跳转到Meta认证页面
- 用户授权:用户需要登录并授权应用访问广告账户
- 令牌获取:认证成功后,Meta会将令牌通过回调URL传回本地服务器
- 令牌存储:获取的访问令牌会被安全地存储在本地
环境变量配置
除了命令行参数,还可以通过环境变量配置:
# 设置应用ID
export META_APP_ID=你的应用ID
uvx meta-ads-mcp
# 直接使用访问令牌(绕过本地缓存)
export META_ACCESS_TOKEN=你的访问令牌
uvx meta-ads-mcp
测试与验证
命令行测试
# 基础测试
python test_meta_ads_auth.py --app-id 你的应用ID
# 强制重新登录
python test_meta_ads_auth.py --app-id 你的应用ID --force-login
API接口测试
- 测试认证链接获取:
mcp_meta_ads_get_login_link - 验证账户访问权限:
mcp_meta_ads_get_ad_accounts - 检查账户详情:
mcp_meta_ads_get_account_info
常见问题排查
认证问题
应用ID错误
- 症状:收到
(#200) Provide valid app ID错误 - 解决方案:
- 确认应用ID是否正确
- 检查是否已完成所有应用设置步骤
- 确认已添加Marketing API产品
OAuth流程问题
- 解决方案:
- 使用
--force-login参数获取新令牌 - 确保终端有权限打开浏览器窗口
- 检查8888端口是否可用
- 使用
直接使用令牌
- 如果有有效的访问令牌,可以绕过OAuth流程:
export META_ACCESS_TOKEN=你的访问令牌
API错误
- 确认应用已添加Marketing API产品
- 检查用户对广告账户的权限设置
- 查看应用是否有速率限制或其他限制
最佳实践建议
- 令牌管理:定期轮换访问令牌,确保安全性
- 错误处理:实现完善的错误处理机制,特别是针对API速率限制
- 日志记录:详细记录API调用情况,便于问题排查
- 权限最小化:只申请应用实际需要的权限范围
- 本地开发:建议在开发环境使用localhost回调配置
通过以上配置和使用指南,开发者可以灵活地将Meta Ads MCP与自定义Meta开发者应用集成,构建更符合业务需求的广告管理解决方案。
登录后查看全文
热门项目推荐
atomcodeClaude Code 的开源替代方案。连接任意大模型,编辑代码,运行命令,自动验证 — 全自动执行。用 Rust 构建,极致性能。 | An open-source alternative to Claude Code. Connect any LLM, edit code, run commands, and verify changes — autonomously. Built in Rust for speed. Get StartedRust0214
cann-learning-hubCANN 学习中心仓,支持在线互动运行、边学边练,提供教程、示例与优化方案,一站式助力昇腾开发者快速上手。Jupyter Notebook0138
uni-appA cross-platform framework using Vue.jsJavaScript08
GLM-5.2智谱开源 GLM-5.2,这是针对长文本任务的最新旗舰模型。相较于前代产品 GLM-5.1,它在长文本任务处理能力上实现了显著飞跃,并且首次在稳定的 100 万 token 上下文中提供这一能力。Jinja00
SwanLab⚡️SwanLab - an open-source, modern-design AI training tracking and visualization tool. Supports Cloud / Self-hosted use. Integrated with PyTorch / Transformers / LLaMA Factory / veRL/ Swift / Ultralytics / MMEngine / Keras etc.Python00
tiny-universe《大模型白盒子构建指南》:一个全手搓的Tiny-UniverseJupyter Notebook03
项目优选
收起
deepin linux kernel
C
32
16
openEuler内核是openEuler操作系统的核心,既是系统性能与稳定性的基石,也是连接处理器、设备与服务的桥梁。
C
469
465
暂无描述
Dockerfile
778
5.08 K
本项目是CANN提供的transformer类大模型算子库,实现网络在NPU上加速计算。
C++
877
2.03 K
Ascend Extension for PyTorch
Python
758
968
本项目是CANN提供的神经网络类计算算子库,实现网络在NPU上加速计算。
C++
697
1.4 K
昇腾LLM分布式训练框架
Python
185
231
本项目是CANN提供的数学类基础计算算子库,实现网络在NPU上加速计算。
C++
1.1 K
1.14 K
本仓库是 Flutter SDK 与 Flutter Engine 的 OpenHarmony 适配版本,由 CPF-Flutter 团队维护。开发者可使用熟悉的 Flutter 技术栈开发 OpenHarmony 应用,3.35.7 及以后的适配版本可基于本仓库源码构建支持 OpenHarmony 的 Flutter Engine。
Dart
1.04 K
271
JiuwenSwarm 是一款基于openJiuwen开发的智能AI Agent,它能够将大语言模型的强大能力,通过你日常使用的各类通讯应用,直接延伸至你的指尖。
Python
2.25 K
677