Skip to main content
Glama
alexleventer

Marketo MCP Server

by alexleventer

Marketo MCP-Server

Ein Model Context Protocol-Server für Adobe Marketo Engage. Geben Sie Claude Desktop, Cursor und anderen MCP-kompatiblen Clients direkten, authentifizierten Zugriff auf die Marketo REST-API — lesen und schreiben Sie Formulare, Smart Lists, Kanäle, Leads, Aktivitäten und Listen mit natürlicher Sprache.

npm version License: ISC

Warum

Marketing-Ops-, Growth- und RevOps-Teams verbringen Stunden damit, sich durch die Marketo-Benutzeroberfläche zu klicken, um ein Formular zu klonen, Assets zu genehmigen, einen Lead nachzuschlagen oder eine Smart List zu prüfen. Der Marketo MCP-Server verbindet genau diese REST-API-Operationen mit einem LLM-Agenten, sodass Sie sagen können:

  • „Klone Formular 1234 in den Ordner Q2 Webinars und genehmige es.“

  • „Zeige mir die letzten Aktivitäten für den Lead alex@example.com.“

  • „Erstelle einen neuen E-Mail-Kanal namens 'Lifecycle Nurture'.“

…und das Modell führt die tatsächlichen Marketo-API-Aufrufe in Ihrem Namen aus.

Related MCP server: Dynamic Form MCP

Inhaltsverzeichnis

Funktionen

  • Formularverwaltung — Auflisten, Inspizieren, Klonen und Genehmigen von Formularen über die Marketo Asset-API

  • Smart List-Operationen — Auflisten und Inspizieren von Smart Lists

  • Kanal-CRUD — Erstellen, Lesen, Aktualisieren und Löschen von Kanälen

  • Lead-Datenbank — Abrufen von Leads nach ID oder E-Mail, massenhaftes Erstellen oder Aktualisieren von Leads, Löschen von Leads

  • Aktivitäts- & Änderungsprotokolle — Abrufen von Aktivitäten und Feldänderungen für jeden Lead

  • Listenmitgliedschaft — Hinzufügen oder Entfernen von Leads aus statischen Listen

  • Programmverwaltung — Auflisten, Inspizieren, Klonen von Programmen und Abrufen von Programmmitgliedern

  • E-Mail-Operationen — Auflisten, Inspizieren und Senden von Beispiel-E-Mails für die Qualitätssicherung

  • Automatische Authentifizierung — OAuth 2.0 Client-Credentials-Flow mit Token-Caching & Refresh

  • Stdio-Transport — Funktioniert sofort mit Claude Desktop, Cursor und jedem MCP-Client, der Stdio unterstützt

Schnellstart

Option A — Smithery (empfohlen)

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

Folgen Sie den Anweisungen, um Ihre Marketo-Basis-URL, Client-ID und Client-Secret einzugeben.

Option B — npx (keine Installation)

Fügen Sie Folgendes zur Konfiguration Ihres MCP-Clients hinzu (z. B. 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"
      }
    }
  }
}

Option C — aus dem Quellcode

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

Kopieren Sie den vom Build ausgegebenen Konfigurationsblock in Ihren MCP-Client.

Voraussetzungen

  • Node.js 18 oder höher

  • Marketo-API-Zugangsdaten (Client-ID & Client-Secret von einem LaunchPoint-Dienst)

  • Eine Marketo-Instanz mit aktiviertem REST-API-Zugriff

  • Ein MCP-kompatibler ClientClaude Desktop, Cursor, Cline oder ein anderer

Erhalt von Marketo-API-Zugangsdaten

  1. Melden Sie sich bei der Marketo-Administration an

  2. Admin → Integration → LaunchPoint

  3. Neu → Neuer Dienst, setzen Sie den Diensttyp auf Benutzerdefiniert und wählen Sie einen Anzeigenamen (z. B. MCP Server)

  4. Weisen Sie einen API-only-Benutzer mit den benötigten Berechtigungen zu (Read-Only Assets, Read-Write Lead, etc.)

  5. Speichern Sie die Client-ID und das Client-Secret

  6. Ihre Basis-URL finden Sie unter Admin → Integration → Web Services → REST API Endpoint (entfernen Sie /rest/v1/* — behalten Sie nur https://<munchkin>.mktorest.com/rest)

Konfiguration

Die gesamte Konfiguration erfolgt über Umgebungsvariablen:

Variable

Erforderlich

Beschreibung

MARKETO_BASE_URL

ja

Ihr REST-Endpunkt, z. B. https://123-ABC-456.mktorest.com/rest

MARKETO_CLIENT_ID

ja

Client-ID des LaunchPoint-Dienstes

MARKETO_CLIENT_SECRET

ja

Client-Secret des LaunchPoint-Dienstes

Kopieren Sie .env.example nach .env für die lokale Entwicklung.

Verfügbare Tools

Tool

Beschreibung

marketo_get_forms

Formulare auflisten (filtern nach `status: draft

approved, paginieren mit maxReturn/offset`)

marketo_get_form_by_id

Ein einzelnes Formular nach ID abrufen

marketo_clone_form

Ein Formular in einen Zielordner klonen

marketo_approve_form

Ein Entwurfsformular genehmigen

marketo_get_smart_lists

Smart Lists auflisten

marketo_get_smart_list_by_id

Eine Smart List nach ID abrufen

marketo_get_channels

Kanäle auflisten

marketo_get_channel_by_id

Einen Kanal nach ID abrufen

marketo_create_channel

Einen neuen Kanal erstellen

marketo_update_channel

Einen bestehenden Kanal aktualisieren

marketo_delete_channel

Einen Kanal löschen

marketo_get_lead_by_id

Einen Lead nach numerischer ID abrufen

marketo_get_lead_by_email

Einen Lead nach E-Mail-Adresse suchen (Filter-API)

marketo_create_or_update_lead

Leads massenhaft erstellen oder aktualisieren (max. 300 pro Aufruf)

marketo_delete_lead

Einen Lead löschen

marketo_get_lead_activities

Aktivitäten für einen Lead abrufen (paginiert)

marketo_get_lead_changes

Feldänderungshistorie für einen Lead abrufen

marketo_get_lead_lists

Listen abrufen, zu denen ein Lead gehört

marketo_add_lead_to_list

Leads zu einer statischen Liste hinzufügen

marketo_remove_lead_from_list

Leads aus einer statischen Liste entfernen

marketo_get_programs

Programme auflisten (filtern nach Typ, Ordner, Tag oder Datumsbereich)

marketo_get_program_by_id

Ein Programm nach ID abrufen

marketo_clone_program

Ein Programm und alle seine lokalen Assets in einen Ordner klonen

marketo_get_program_members

Leads abrufen, die Mitglieder eines Programms sind

marketo_get_emails

E-Mails auflisten (nach Status filtern)

marketo_get_email_by_id

Eine E-Mail nach ID abrufen

marketo_send_sample_email

Eine Beispiel-/Vorschau-E-Mail für die Qualitätssicherung senden

Jedes Tool akzeptiert typisierte Argumente, die mit zod validiert werden, und gibt die rohe Marketo-JSON-Antwort zurück. Siehe die Adobe Marketo REST API-Referenz für Details auf Feldebene.

Verwendung mit Claude Desktop

  1. Installieren Sie Claude Desktop

  2. Öffnen Sie die Konfiguration unter ~/Library/Application Support/Claude/claude_desktop_config.json (macOS) oder %APPDATA%\Claude\claude_desktop_config.json (Windows)

  3. Fügen Sie den mcpServers-Block aus Schnellstart ein

  4. Starten Sie Claude Desktop neu

Verwendung mit Cursor / anderen MCP-Clients

Jeder MCP-Client, der Stdio-Server unterstützt, funktioniert. Verweisen Sie auf die erstellte Binärdatei:

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

Ratenbegrenzungen

Marketo erzwingt mehrere API-Ratenbegrenzungen. Beachten Sie diese bei der Durchführung von Batch-Operationen:

Limit

Wert

Kurzfristig

100 Aufrufe pro 20 Sekunden pro Instanz

Täglich

50.000 Aufrufe pro Tag

Gleichzeitig

10 gleichzeitige Verbindungen

Bulk-Import

10 MB pro Datei, 10 gleichzeitige Jobs

Bulk-Export

500 MB pro Tag, 2 gleichzeitige Jobs

Wenn Sie 606 Max rate limit reached erhalten, warten Sie 20 Sekunden, bevor Sie es erneut versuchen. Die Marketo REST-API gibt in einigen Fällen einen Retry-After-Header zurück.

Fehlerbehebung

Symptom

Wahrscheinliche Ursache

Failed to authenticate with Marketo

Falsche Client-ID/Secret oder REST-API für den LaunchPoint-Benutzer nicht aktiviert

403 Access Denied

Der API-only-Benutzer hat nicht die Rolle für diesen Endpunkt (z. B. Asset-API vs. Lead-Datenbank-API)

606 Max rate limit reached

Marketo begrenzt auf 100 Aufrufe / 20s / Instanz — Batch-Aufrufe und Verzögerungen hinzufügen

610 Requested resource not found

Die Ordner-/Formular-/Lead-ID existiert nicht oder befindet sich in einem anderen Arbeitsbereich

Authentifizierung funktioniert, aber Anfragen hängen

Überprüfen Sie, ob MARKETO_BASE_URL keinen nachgestellten Schrägstrich hat und mit /rest endet

Sie können Tool-Aufrufe lokal mit dem MCP-Inspektor untersuchen:

npm run inspector

Entwicklung

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/

Mitwirken

Probleme und Pull Requests sind willkommen unter github.com/alexleventer/marketo-mcp.

  1. Forken Sie das Repo

  2. Erstellen Sie einen Feature-Branch

  3. npm run lint && npm run typecheck

  4. Öffnen Sie einen PR

Lizenz

ISC — siehe LICENSE.


Schlüsselwörter: marketo mcp server, marketo model context protocol, marketo claude, marketo ai, adobe marketo mcp, marketo api claude desktop, marketo automation llm, marketo engage mcp

F
license - not found
A
quality
C
maintenance

Maintenance

Maintainers
Response time
Release cycle
1Releases (12mo)
Commit activity

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

  • A
    license
    Not graded
    quality
    D
    maintenance
    A Model Context Protocol server that enables interaction with the Tradovate API for managing trading contracts, positions, orders, and accounts.
    1
    MIT
  • F
    license
    A
    quality
    D
    maintenance
    A server that implements the Model Context Protocol for managing dynamic forms, allowing users to create, retrieve, and handle responses for web forms via the @dynamicfrm/js library.
    4

View all related MCP servers

Related MCP Connectors

  • A Model Context Protocol server for Wix AI tools

  • A comprehensive Model Context Protocol (MCP) server that enables AI assistants to interact with yo…

  • MCP Spec Compliance MCP — audits any MCP server.json against the official Model Context Protocol

View all MCP Connectors

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