Meta MCP Connector
Meta MCP Connector
MCP-сервер на простом языке для Meta / Facebook Ads через Graph API.
Спрашивайте об аккаунтах, кампаниях, группах объявлений, расходах и эффективности на естественном языке — без необходимости знать имена таблиц или пути к API.
Возможности
Живые данные из Facebook Marketing API (Graph API)
Список рекламных аккаунтов с родительским Business Manager
Эффективность кампаний / групп объявлений / объявлений (расходы, показы, клики, покупки)
Панель расходов на уровне аккаунта (
account-spend.html)OAuth для Claude.ai при развертывании на Cloud Run (
MCP_PUBLIC_URL)
Related MCP server: Instagram Ads MCP Server
Структура проекта
meta-mcp-connector/
├── meta_mcp_server.py # MCP server + HTTP routes + tools
├── meta_graph.py # Facebook Graph API client
├── meta_oauth.py # Claude-compatible OAuth provider
├── account-spend.html # Spend-by-account dashboard
├── test-accounts.html # Ad account list test page
├── get-token.html # Helper to obtain FACEBOOK_ACCESS_TOKEN
├── requirements.txt
├── Dockerfile
├── deploy-cloudrun.ps1 # Deploy to Google Cloud Run
├── .env.example
└── .cursor/mcp.json # Local Cursor MCP config (example)Настройка (локально)
1. Клонирование и установка
git clone https://github.com/YOUR_USERNAME/meta-mcp-connector.git
cd meta-mcp-connector
python -m venv .venv
# Windows
.venv\Scripts\activate
pip install -r requirements.txt
copy .env.example .env2. Настройка .env
FACEBOOK_APP_ID=your_app_id
FACEBOOK_APP_SECRET=your_app_secret
FACEBOOK_ACCESS_TOKEN=your_user_token_with_ads_read
FACEBOOK_AD_ACCOUNT_ID=114810198697538Требования к токену
Должен быть пользовательским токеном (
EAA…), а не токеном приложения (app_id|secret)Создается в Graph API Explorer для вашего
FACEBOOK_APP_IDРазрешения:
ads_read,ads_management,business_management
Используйте get-token.html или запустите сервер и откройте http://127.0.0.1:8001/get-token.
3. Запуск сервера
python meta_mcp_server.py --httpКонечная точка | URL |
MCP |
|
Интерфейс расходов |
|
API списка аккаунтов |
|
API расходов аккаунта |
|
4. Конфигурация MCP для Cursor
.cursor/mcp.json:
{
"mcpServers": {
"meta": {
"url": "http://127.0.0.1:8001/mcp"
}
}
}Перезагрузите MCP в настройках Cursor после запуска сервера.
Инструменты MCP
Инструмент | Назначение |
| Что можно спросить |
| Рекламные аккаунты + родительский Business Manager |
| Кампании в рекламном аккаунте |
| Группы объявлений в рекламном аккаунте |
| Проверка работоспособности токена / приложения |
| Итоговые KPI за период |
| Расходы и метрики по дням |
| Разбивка по кампании / группе объявлений / размещению |
| Лучшие объявления по расходам или другой метрике |
Примеры запросов
"Список моих рекламных аккаунтов Meta"
"Сводка по рекламе Meta с 2026-08-01 по 2026-08-15"
"Ежедневные расходы за последние 7 дней для WOW Ad Account"
"Лучшие объявления по расходам за вчера"
"Разбивка расходов по кампаниям за прошлую неделю"
Google Cloud Run
Разместите тот же HTTP MCP-эндпоинт на Cloud Run (та же схема, что и vdp-connector). Docker-образ не включает .env или секреты.
Предварительные требования
Установленный и авторизованный Google Cloud SDK (
gcloud) (gcloud auth login)Проект GCP с включенным биллингом
Ваш Project ID в GCP
Учетные данные Facebook в локальном
.env(см..env.example)
Развертывание
Из папки репозитория:
# App secret read from .env
.\deploy-cloudrun.ps1 -ProjectId "YOUR_GCP_PROJECT_ID"
# Optional overrides
.\deploy-cloudrun.ps1 -ProjectId "YOUR_GCP_PROJECT_ID" -Region "us-central1" -Service "meta-mcp"
# App secret from a one-line file (gitignored)
.\deploy-cloudrun.ps1 -ProjectId "YOUR_GCP_PROJECT_ID" -SecretFile ".\facebook-app-secret.key"Что делает скрипт:
Включает Cloud Run, Cloud Build, Secret Manager, Artifact Registry
Загружает
FACEBOOK_APP_SECRET→ Secret Manager (meta-facebook-app-secret)Загружает
FACEBOOK_ACCESS_TOKEN→ Secret Manager (meta-facebook-access-token), если он задан в.envРазвертывает с
--source .(Dockerfile), переменными окружения и внедрением секретовУстанавливает
MCP_PUBLIC_URLв URL сервиса (требуется для OAuth Claude)Выводит URL коннектора:
https://SERVICE-URL/mcp
Флаги развертывания:
--set-env-vars MCP_TRANSPORT=http,HOST=0.0.0.0,FACEBOOK_APP_ID=…,FACEBOOK_AD_ACCOUNT_ID=…--set-secrets FACEBOOK_APP_SECRET=meta-facebook-app-secret:latest,FACEBOOK_ACCESS_TOKEN=meta-facebook-access-token:latest--allow-unauthenticated(необходимо для рабочего MCP URL при первом развертывании)--session-affinity,--max-instances 1,--timeout 300,--port 8080
Cursor (Cloud Run)
После развертывания вставьте выведенный URL в .cursor/mcp.json:
"meta": {
"url": "https://YOUR-CLOUD-RUN-URL/mcp"
}При использовании Cloud Run не нужен локальный процесс python meta_mcp_server.py.
Пользовательский коннектор Claude
Claude.ai требует OAuth для удаленных пользовательских коннекторов. Этот сервер включает встроенный OAuth-провайдер, совместимый с Claude (Dynamic Client Registration), когда задан MCP_PUBLIC_URL (скрипт развертывания устанавливает его автоматически).
Разверните с помощью
.\deploy-cloudrun.ps1 -ProjectId "YOUR_GCP_PROJECT_ID"Удалите старый неработающий коннектор
Settings → Connectors → Add custom connector
Вставьте точно:
https://YOUR-CLOUD-RUN-URL/mcp(обязательно с/mcp)Оставьте OAuth Client ID пустым в дополнительных настройках (DCR включен)
Нажмите Connect — Claude зарегистрируется и кратко авторизуется
Если вы видите "Couldn't register with … sign-in service" (ofid_…):
Убедитесь, что URL заканчивается на
/mcp(не просто хост Cloud Run)Убедитесь, что сервис работает: откройте
https://YOUR-CLOUD-RUN-URL/.well-known/oauth-authorization-server— вы должны увидеть JSON сregistration_endpointУбедитесь, что
MCP_PUBLIC_URLсоответствует источнику сервиса (повторно разверните, если изменили URL)Не вставляйте случайный OAuth Client ID, если вы не настроили внешний IdP
Проверка развертывания
Проверка | URL |
MCP-эндпоинт |
|
OAuth discovery |
|
Интерфейс расходов |
|
Локально vs Cloud
Локально | Cloud Run | |
Запуск |
|
|
URL |
|
|
Секреты | файл | Secret Manager → внедрение в env |
Хост / порт |
|
|
OAuth Claude | Выкл (нет | Вкл ( |
Инструменты | Те же | Те же |
Примечание по безопасности
--allow-unauthenticated делает URL Cloud Run публично доступным. OAuth означает, что Claude должен завершить регистрацию/авторизацию, прежде чем инструменты заработают; случайные вызывающие без токена получают 401. Тем не менее относитесь к URL как к чувствительному и добавьте более строгую аутентификацию перед широким распространением.
Частые проблемы
В URL Claude отсутствует
/mcp→ "Couldn't connect to the server"MCP_PUBLIC_URLне задан → OAuth 404 → "Couldn't register with sign-in service"Коммит
.envили файлов с секретамиЗабыли повторно развернуть после изменений в коде OAuth
Развертывание без
FACEBOOK_ACCESS_TOKEN→ Graph API возвращает ошибки разрешений
Публикация на GitHub
# Sign in to your new GitHub account first
git credential-manager github login --force
# Create repo on GitHub (browser or gh), then:
git remote add origin https://github.com/YOUR_USERNAME/meta-mcp-connector.git
git add .
git commit -m "Initial commit: Meta MCP connector"
git push -u origin mainБезопасность
Никогда не коммитьте
.env— он в gitignoreFACEBOOK_ACCESS_TOKEN— секрет; ротируйте при утечкеРазвертывание Cloud Run использует
--allow-unauthenticatedдля доступности MCP URL; OAuth защищает доступ к инструментам, когда заданMCP_PUBLIC_URL
This server cannot be installed
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Servers
- FlicenseNot gradedqualityDmaintenanceConnects AI assistants to Facebook's Ads API to enable natural language queries for campaign data, insights, and performance metrics. It allows users to manage ad accounts and retrieve detailed analytics like impressions, clicks, and spend through MCP-compatible interfaces.
- AlicenseNot gradedqualityCmaintenanceWraps the Meta Marketing API to enable creating, modifying, viewing, and deleting Instagram ads via natural language.15MIT
- AlicenseNot gradedqualityDmaintenanceEnables management and analysis of Meta (Facebook/Instagram) ads through natural language conversations, with 30 tools for reading and writing ad data.MIT
- AlicenseNot gradedqualityDmaintenanceEnables full read/write management of Facebook ad campaigns, ad sets, ads, and creatives via the Meta Marketing API through natural language, with AI creative generation, performance analytics, and PDF reporting.MIT
Related MCP Connectors
Ask AI about your ads — query Meta, TikTok, and Google Ads performance in natural language.
60+ Meta Ads tools for AI agents: audits, campaign management, audiences and CAPI tracking.
Run Google, Meta, Microsoft, TikTok and LinkedIn Ads from Claude or ChatGPT. Writes need approval.
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/devopsbrandmirchi/meta-mcp-connector'
If you have feedback or need assistance with the MCP directory API, please join our Discord server