linkedin-campaign-manager-mcp
LinkedIn Campaign Manager MCP
MCP-сервер для LinkedIn Marketing API — запрашивайте данные о кампаниях, эффективности и формах генерации лидов (Lead Gen Forms) у Claude на обычном английском языке.
19 инструментов «только для чтения», охватывающих рекламные аккаунты, кампании, креативы, аналитику эффективности, демографию, видеоаналитику, темпы расходования бюджета, сравнение периодов, конверсии, формы генерации лидов, аудитории и параметры таргетинга. Создано для команд B2B-маркетинга, запускающих спонсируемый контент, формы генерации лидов и кампании на основе аккаунтов (ABM) в LinkedIn.
Зачем это нужно
С LinkedIn Marketing API работать крайне сложно: ежемесячное версионирование Rosetta, недокументированные соответствия полей, вложенные параметры запросов в стиле Rest.li для аналитики и 60-дневные токены доступа, которые молча истекают. Этот сервер берет все это на себя, чтобы вы могли задавать вопросы на обычном английском языке, а не писать вручную dateRange=(start:(year:...)).
Ни один другой MCP-сервер с открытым исходным кодом для LinkedIn Ads не обладает такой глубиной. Большинство ограничиваются лишь «списком кампаний». Этот сервер включает демографию, воронку досмотров видео, темпы расходования бюджета, сравнение периодов и ответы из форм генерации лидов с персональными данными (PII), чтобы вы могли сверять лиды с Marketo или Salesforce.
Примеры запросов
После установки спрашивайте Claude о чем-то вроде:
"Каков тренд наших расходов на LinkedIn Ads за последние 28 дней в разбивке по группам кампаний?"
"Сравни CPL в кампаниях по захвату конкурентов в этом месяце и в прошлом — какие креативы повлияли на результат?"
"Выгрузи демографию для нашей самой затратной кампании — какие должности и отрасли конвертируются?"
"Какие формы генерации лидов имели самый высокий коэффициент отправки в прошлом месяце и какова была стоимость одного лида?"
"Покажи воронку досмотров видео для нашей кампании по повышению узнаваемости — на каком этапе люди отсеиваются?"
"Есть ли кампании с риском перерасхода? Покажи темпы расходования бюджета по всем активным кампаниям."
"Выгрузи вчерашние ответы из форм генерации лидов, чтобы я мог сверить их с Marketo."
Демо
🎥 Видео-обзор скоро появится — запрос эффективности кампаний LinkedIn из Claude Code менее чем за 60 секунд.
Инструменты
Инструмент | Что он делает |
| Все рекламные аккаунты, к которым у пользователя есть доступ, со статусом и валютой. |
| Детали одного аккаунта: валюта, статус, тип, платежная информация. |
| Кампании в аккаунте; фильтрация по статусу или группе кампаний. |
| Полные детали кампании: критерии таргетинга, ставка, бюджет, цель. |
| Группы кампаний (контейнеры с общим бюджетом/целью). |
| Рекламные креативы; фильтрация по кампании или статусу. |
| Полные детали креатива: заголовок, текст, URL, URN изображения/видео. |
| Показы/клики/расходы/конверсии/лиды за указанный период. Гранулярность: DAILY/MONTHLY/YEARLY/ALL. |
| Эффективность по компании / размеру компании / отрасли / функции должности / названию должности / уровню ответственности / региону / стране. |
| Сравнение WoW/MoM/YoY с вычисляемыми на стороне сервера столбцами _current/_prior/_delta/_pct_change для каждой сущности. |
| Воронка досмотров видео для каждого креатива: начало → 25% → 50% → 75% → завершения + коэффициент завершения. |
| Расходы против % использования бюджета для активных кампаний за настраиваемый период. |
| Определения событий конверсии Insight Tag: тип, окна атрибуции, статус включения. |
| Эффективность по событию конверсии (сводка CONVERSION): разбивка по кликам и просмотрам. |
| Сегменты DMP: подобранные аудитории, списки компаний, комбинированные/похожие сегменты + размеры. |
| Поиск по мере ввода для значений таргетинга (должности, навыки, компании, отрасли, локации, уровни ответственности). |
| Формы генерации лидов + конфигурация вопросов + состояние. |
| Фактические отправки форм с PII (имя, email, компания, должность). |
| Метрики LGF для каждого креатива: коэффициент открытия формы, коэффициент отправки, стоимость лида. |
Настройка
1. Установка
npm install -g linkedin-campaign-manager-mcpИли клонируйте и соберите локально:
git clone https://github.com/ZLeventer/linkedin-campaign-manager-mcp
cd linkedin-campaign-manager-mcp
npm install
npm run build2. Создание приложения LinkedIn Developer
Marketing API ограничен. Вам нужно приложение LinkedIn Developer с одобрением определенных продуктов:
Перейдите на developer.linkedin.com → Create App (свяжите с вашей страницей компании).
Вкладка Products — запросите доступ к:
Marketing Developer Platform(покрываетr_ads,r_ads_reporting)Lead Gen FormsилиCommunity Management API(покрываетr_ads_leadgen_automation)
LinkedIn проверяет доступ к приложению вручную — обычно это занимает 2–6 недель.
Вкладка Auth → Authorized Redirect URLs — добавьте:
http://127.0.0.1:53123(измените53123, если вы установили другойLINKEDIN_OAUTH_PORT).Скопируйте Client ID и Client Secret с вкладки Auth.
Без одобрения продукта каждый вызов API возвращает 403. Сервер компилируется и запускается нормально — ошибка 403 является проблемой прав на уровне приложения, а не кода.
3. Настройка окружения
cp .env.example .env
# edit .env with your LINKEDIN_CLIENT_ID, LINKEDIN_CLIENT_SECRET,
# LINKEDIN_DEFAULT_AD_ACCOUNT (numeric ID from Campaign Manager URL)4. Авторизация (однократный поток OAuth)
npm run authЭто открывает локальный HTTP-сервер на порту 53123 (или LINKEDIN_OAUTH_PORT), выводит URL авторизации в ваш терминал и ожидает обратный вызов OAuth. После того как вы подтвердите его в браузере, он обменяет код на токен доступа + 365-дневный токен обновления и сохранит их в token.json (режим 0600).
Вам нужно повторно запускать npm run auth только в том случае, если токен обновления истечет (через 365 дней).
5. Подключение к Claude Code (или любому MCP-клиенту)
Добавьте в ~/.claude.json в раздел mcpServers:
{
"mcpServers": {
"linkedin": {
"command": "linkedin-campaign-manager-mcp",
"env": {
"LINKEDIN_CLIENT_ID": "your_client_id",
"LINKEDIN_CLIENT_SECRET": "your_client_secret",
"LINKEDIN_TOKEN_PATH": "/absolute/path/to/token.json",
"LINKEDIN_DEFAULT_AD_ACCOUNT": "123456789",
"LINKEDIN_API_VERSION": "202504"
}
}
}
}Или при запуске из исходного кода:
{
"mcpServers": {
"linkedin": {
"command": "node",
"args": ["/path/to/linkedin-campaign-manager-mcp/dist/index.js"],
"env": {
"LINKEDIN_CLIENT_ID": "...",
"LINKEDIN_CLIENT_SECRET": "...",
"LINKEDIN_TOKEN_PATH": "/path/to/token.json",
"LINKEDIN_DEFAULT_AD_ACCOUNT": "123456789"
}
}
}
}Перезапустите Claude Code. 19 инструментов появятся под сервером linkedin.
Переменные окружения
Переменная | Обязательно | По умолчанию | Описание |
| Да | — | Client ID приложения OAuth |
| Да | — | Client Secret приложения OAuth |
| Нет |
| Путь для чтения/записи файла токена |
| Рекомендуется | — | Числовой ID аккаунта; инструменты используют его, если |
| Нет |
| Порт обратной связи для редиректа OAuth |
| Нет |
| Версия LinkedIn Rosetta API (ГГГГММ) |
Обработка URN
Ресурсы LinkedIn идентифицируются URN: urn:li:sponsoredAccount:123, urn:li:sponsoredCampaign:456 и т.д.
Все входные данные инструментов принимают либо простой числовой ID, либо полный URN — клиент автоматически оборачивает простые ID. Числовые ID отображаются в URL-адресах Campaign Manager (/accounts/<id>/, /campaigns/<id>/).
Ввод дат
Все параметры даты принимают:
Ввод | Значение |
| Буквальная ISO-дата |
| Самоочевидно |
| N календарных дней до сегодня |
Диапазон по умолчанию: 28daysAgo → yesterday.
Особенности LinkedIn
Изменения версий API
LinkedIn Rosetta использует ежемесячные версии (202504 = апрель 2025). Версии устаревают примерно через 12 месяцев после выпуска — в этом случае вы получите ошибки 410 Gone. Обновляйте LINKEDIN_API_VERSION ежеквартально. См. документацию по версионированию.
Форма запроса аналитики
/adAnalytics использует вложенные параметры в стиле Rest.li, а не обычные строки ISO:
dateRange=(start:(year:2024,month:10,day:1),end:(year:2024,month:10,day:31))
campaigns=List(urn:li:sponsoredCampaign:123,urn:li:sponsoredCampaign:456)Это обрабатывается внутри dateRangeParam() и liGetRaw(). Если вы расширяете сервер, направляйте вызовы аналитики через liGetRaw() с вручную сформированным URL — не используйте liGet() для эндпоинтов аналитики, так как URLSearchParams исказит вложенные скобки.
Задержка данных аналитики
Аналитика LinkedIn обычно запаздывает на 2–6 часов для большинства метрик и до 24 часов для данных о конверсиях. Вчерашние цифры обычно полные; сегодняшние — частичные.
60-дневные токены доступа, 365-дневные токены обновления
Токены доступа истекают через 60 дней; токены обновления — через 365 дней. Клиент автоматически обновляет токен доступа при каждом запросе, когда это необходимо. Если токен обновления истек, снова запустите npm run auth.
PII в ответах Lead Gen
li_get_leadgen_responses возвращает фактические PII лида — имя, email, компанию, должность. Обращайтесь с выводом как с конфиденциальной информацией: не записывайте в общие журналы, незашифрованные хранилища или публичные каналы. Политика использования данных LinkedIn требует удаления ответов лидов в течение 90 дней с момента получения, если лид не дал активного согласия. Этот инструмент предназначен для авторизованной сверки с CRM (Marketo/SFDC).
Ограничения скорости (Rate limits)
LinkedIn не публикует точные цифры ограничений скорости. На практике ожидайте троттлинг около 100 аналитических вызовов в минуту на приложение. Повтор при ошибке 429 не встроен — если вы достигли лимитов, уменьшите частоту вызовов или кэшируйте результаты на стороне клиента.
Когда НЕ использовать этот сервер
Создание или редактирование кампаний, бюджетов или креативов — сервер предназначен только для чтения. Создание кампаний имеет слишком много режимов сбоя для безопасной автоматизации; используйте интерфейс Campaign Manager.
Данные о показах в реальном времени — используйте LinkedIn Insight Tag + GA4 для данных, близких к реальному времени.
Оценка размера аудитории для произвольных критериев таргетинга — используйте конструктор аудиторий в интерфейсе Campaign Manager для разовой оценки.
li_get_audience_insightsвозвращает только размеры сохраненных/загруженных сегментов.
Лицензия
MIT © 2026 Zach Leventer
Maintenance
Related MCP Connectors
Managed LinkedIn MCP server for AI agents: search, connect, message and enrich on accounts you own.
233 tools for Google, Microsoft, TikTok, LinkedIn Ads in Claude or ChatGPT. Writes need approval.
Search Meta, Google Ads, LinkedIn, and TikTok ad libraries plus creative analysis via MCP.
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/ZLeventer/linkedin-campaign-manager-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server