Skip to main content
Glama
alexleventer

Marketo MCP Server

by alexleventer

Marketo MCP Server

Сервер Model Context Protocol для Adobe Marketo Engage. Предоставьте Claude Desktop, Cursor и другим MCP-совместимым клиентам прямой, аутентифицированный доступ к REST API Marketo — читайте и изменяйте формы, смарт-списки, каналы, лиды, активности и списки с помощью естественного языка.

npm version License: ISC

Зачем это нужно

Команды маркетинговых операций, роста и RevOps тратят часы на клики по интерфейсу Marketo, чтобы клонировать форму, утвердить активы, найти лид или проверить смарт-список. Marketo MCP Server подключает те же операции REST API к LLM-агенту, чтобы вы могли сказать:

  • "Клонируй форму 1234 в папку Q2 Webinars и утверди её."

  • "Покажи мне недавние активности для лида alex@example.com."

  • "Создай новый email-канал под названием 'Lifecycle Nurture'."

…и модель выполнит реальные вызовы API Marketo от вашего имени.

Related MCP server: Xero MCP Server

Содержание

Возможности

  • Управление формами — перечисление, просмотр, клонирование и утверждение форм через Asset API Marketo

  • Операции со смарт-списками — перечисление и просмотр смарт-списков

  • CRUD каналов — создание, чтение, обновление и удаление каналов

  • База данных лидов — получение лидов по ID или email, массовое создание или обновление лидов, удаление лидов

  • Журналы активностей и изменений — получение активностей и истории изменений полей для любого лида

  • Членство в списках — добавление или удаление лидов из статических списков

  • Автоматическая аутентификация — поток OAuth 2.0 client-credentials с кэшированием и обновлением токенов

  • Транспорт Stdio — работает «из коробки» с Claude Desktop, Cursor и любым MCP-клиентом, поддерживающим stdio

Быстрый старт

Вариант А — Smithery (рекомендуется)

npx -y @smithery/cli install @alexleventer/marketo-mcp --client claude

Следуйте инструкциям, чтобы вставить ваш базовый URL Marketo, ID клиента и секрет клиента.

Вариант Б — npx (без установки)

Добавьте следующее в конфигурацию вашего MCP-клиента (например, claude_desktop_config.json):

{
  "mcpServers": {
    "marketo": {
      "command": "npx",
      "args": ["-y", "marketo-mcp"],
      "env": {
        "MARKETO_BASE_URL": "https://123-ABC-456.mktorest.com/rest",
        "MARKETO_CLIENT_ID": "your-client-id",
        "MARKETO_CLIENT_SECRET": "your-client-secret"
      }
    }
  }
}

Вариант В — из исходного кода

git clone https://github.com/alexleventer/marketo-mcp.git
cd marketo-mcp
npm install
npm run build

Скопируйте блок конфигурации, выведенный сборкой, в ваш MCP-клиент.

Предварительные требования

  • Node.js 18 или выше

  • Учетные данные API Marketo (ID клиента и секрет клиента из сервиса LaunchPoint)

  • Экземпляр Marketo с включенным доступом к REST API

  • MCP-совместимый клиентClaude Desktop, Cursor, Cline или любой другой

Получение учетных данных API Marketo

  1. Войдите в панель администратора Marketo

  2. Admin → Integration → LaunchPoint

  3. New → New Service, установите тип сервиса Custom и выберите отображаемое имя (например, MCP Server)

  4. Назначьте пользователя только для API с необходимыми правами (Read-Only Assets, Read-Write Lead и т.д.)

  5. Сохраните Client ID и Client Secret

  6. Ваш базовый URL находится в разделе Admin → Integration → Web Services → REST API Endpoint (удалите /rest/v1/* — оставьте только https://<munchkin>.mktorest.com/rest)

Конфигурация

Вся конфигурация осуществляется через переменные окружения:

Переменная

Обязательно

Описание

MARKETO_BASE_URL

да

Ваш REST endpoint, например https://123-ABC-456.mktorest.com/rest

MARKETO_CLIENT_ID

да

ID клиента сервиса LaunchPoint

MARKETO_CLIENT_SECRET

да

Секрет клиента сервиса LaunchPoint

Скопируйте .env.example в .env для локальной разработки.

Доступные инструменты

Инструмент

Описание

marketo_get_forms

Перечисление форм (фильтрация по `status: draft

approved, пагинация через maxReturn/offset`)

marketo_get_form_by_id

Получение одной формы по ID

marketo_clone_form

Клонирование формы в целевую папку

marketo_approve_form

Утверждение черновика формы

marketo_get_smart_lists

Перечисление смарт-списков

marketo_get_smart_list_by_id

Получение смарт-списка по ID

marketo_get_channels

Перечисление каналов

marketo_get_channel_by_id

Получение канала по ID

marketo_create_channel

Создание нового канала

marketo_update_channel

Обновление существующего канала

marketo_delete_channel

Удаление канала

marketo_get_lead_by_id

Получение лида по числовому ID

marketo_get_lead_by_email

Получение лида по email-адресу

marketo_create_or_update_lead

Массовое создание или обновление лидов

marketo_delete_lead

Удаление лида

marketo_get_lead_activities

Получение активностей для лида (с пагинацией)

marketo_get_lead_changes

Получение истории изменений полей для лида

marketo_get_lead_lists

Получение списков, к которым принадлежит лид

marketo_add_lead_to_list

Добавление лидов в статический список

marketo_remove_lead_from_list

Удаление лидов из статического списка

Каждый инструмент принимает типизированные аргументы, проверяемые с помощью zod, и возвращает необработанный JSON-ответ Marketo. Подробности на уровне полей см. в справочнике Adobe Marketo REST API.

Использование с Claude Desktop

  1. Установите Claude Desktop

  2. Откройте конфигурацию по пути ~/Library/Application Support/Claude/claude_desktop_config.json (macOS) или %APPDATA%\Claude\claude_desktop_config.json (Windows)

  3. Вставьте блок mcpServers из раздела Быстрый старт

  4. Перезапустите Claude Desktop

Использование с Cursor / другими MCP-клиентами

Любой MCP-клиент, поддерживающий stdio-серверы, будет работать. Укажите путь к собранному бинарному файлу:

{
  "mcpServers": {
    "marketo": {
      "command": "npx",
      "args": ["-y", "marketo-mcp"],
      "env": { "MARKETO_BASE_URL": "...", "MARKETO_CLIENT_ID": "...", "MARKETO_CLIENT_SECRET": "..." }
    }
  }
}

Устранение неполадок

Симптом

Вероятная причина

Failed to authenticate with Marketo

Неверный ID/секрет клиента или REST API не включен для пользователя LaunchPoint

403 Access Denied

У пользователя только для API нет роли для этого endpoint (например, Asset API vs Lead Database API)

606 Max rate limit reached

Marketo ограничивает до 100 вызовов / 20с / экземпляр — используйте пакетные вызовы и добавляйте задержки

610 Requested resource not found

ID папки/формы/лида не существует или находится в другом рабочем пространстве

Аутентификация работает, но запросы зависают

Проверьте, что MARKETO_BASE_URL не имеет косой черты в конце и заканчивается на /rest

Вы можете проверить вызовы инструментов локально с помощью инспектора MCP:

npm run inspector

Разработка

src/
├── index.ts       # MCP server + all tool registrations
├── auth.ts        # OAuth token manager (caches until expiry)
└── constants.ts   # Env var bindings
npm run dev          # Run with ts-node + .env
npm run typecheck    # Type-check without emit
npm run lint         # ESLint
npm run format       # Prettier
npm run build        # Compile to build/

Участие в проекте

Сообщения об ошибках и pull-запросы приветствуются на github.com/alexleventer/marketo-mcp.

  1. Сделайте форк репозитория

  2. Создайте ветку для функции

  3. npm run lint && npm run typecheck

  4. Откройте PR

Лицензия

ISC — см. LICENSE.


Ключевые слова: marketo mcp server, marketo model context protocol, marketo claude, marketo ai, adobe marketo mcp, marketo api claude desktop, marketo automation llm, marketo engage mcp

Install Server
F
license - not found
C
quality
-
maintenance - not tested

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Latest Blog Posts

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/alexleventer/marketo-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server