MCP Hub
Back to servers

marketo-mcp-server

MCP server for Marketo marketing automation — 32 tools for leads, programs, emails, forms, smart lists, static lists, channels, landing pages, and bulk export. Auth via Client ID + Secret.

glama
Updated
Apr 25, 2026

marketo-mcp-server

License: MIT

A Model Context Protocol server for Marketo — give Claude and other AI assistants direct access to your Marketo instance.

Query leads, inspect programs, review emails and forms, manage static and smart lists, explore channels and landing pages, and kick off bulk exports — all through natural language.


Features

CategoryWhat you can do
LeadsGet by ID or email, create/update in batch, delete, retrieve activity log
ProgramsList, get by ID, clone, get members
EmailsList, get by ID, clone, send sample/test
FormsList, get by ID, clone, approve
Smart ListsList, get by ID with full filter definitions
Static ListsGet members, add leads, remove leads
ChannelsList, get by ID, create with progression statuses
Landing PagesList, get by ID, clone
Bulk ExportCreate job, enqueue, poll status, download file

Prerequisites

  • Node.js 20+
  • A Marketo instance with REST API access
  • A Marketo API-only user and LaunchPoint service with Client ID and Client Secret

Setup

1. Get your Marketo REST credentials

In Marketo Admin: Integration → LaunchPoint → create or select a service → copy Client ID and Secret. Your base URL is under Integration → Web Services (e.g. https://xxx-xxx-xxx.mktorest.com).

2. Set environment variables

MARKETO_CLIENT_ID=your_client_id
MARKETO_CLIENT_SECRET=your_client_secret
MARKETO_BASE_URL=https://xxx-xxx-xxx.mktorest.com

Usage

Claude Desktop

Add to ~/Library/Application Support/Claude/claude_desktop_config.json (macOS) or %APPDATA%\Claude\claude_desktop_config.json (Windows):

{
  "mcpServers": {
    "marketo": {
      "command": "npx",
      "args": ["marketo-mcp-server"],
      "env": {
        "MARKETO_CLIENT_ID": "your_client_id",
        "MARKETO_CLIENT_SECRET": "your_client_secret",
        "MARKETO_BASE_URL": "https://xxx-xxx-xxx.mktorest.com"
      }
    }
  }
}

Claude Code

claude mcp add marketo-mcp-server npx marketo-mcp-server \
  -e MARKETO_CLIENT_ID=your_client_id \
  -e MARKETO_CLIENT_SECRET=your_client_secret \
  -e MARKETO_BASE_URL=https://xxx-xxx-xxx.mktorest.com

Cursor

Add to .cursor/mcp.json in your project root (or ~/.cursor/mcp.json globally):

{
  "mcpServers": {
    "marketo": {
      "command": "npx",
      "args": ["marketo-mcp-server"],
      "env": {
        "MARKETO_CLIENT_ID": "your_client_id",
        "MARKETO_CLIENT_SECRET": "your_client_secret",
        "MARKETO_BASE_URL": "https://xxx-xxx-xxx.mktorest.com"
      }
    }
  }
}

Docker

docker build -t marketo-mcp-server .
docker run -e MARKETO_CLIENT_ID=... -e MARKETO_CLIENT_SECRET=... -e MARKETO_BASE_URL=... marketo-mcp-server

Tools reference

Leads (5 tools)

ToolDescription
marketo_get_lead_by_idGet a single lead by Marketo lead ID
marketo_get_lead_by_emailLook up a lead by email address
marketo_create_or_update_leadsBatch upsert up to 300 leads
marketo_delete_leadPermanently delete a lead by ID
marketo_get_lead_activitiesGet activity log for a lead (filterable by activity type)

Programs (4 tools)

ToolDescription
marketo_get_programsList programs with pagination and type/date filtering
marketo_get_program_by_idGet full program metadata by ID
marketo_clone_programClone a program with all local assets into a target folder
marketo_get_program_membersGet leads enrolled in a program

Emails (4 tools)

ToolDescription
marketo_get_emailsList email assets with status filtering
marketo_get_email_by_idGet full email metadata including HTML and module structure
marketo_clone_emailClone an email asset to a target folder
marketo_send_sampleSend a test/sample email, optionally rendered with a lead's tokens

Forms (4 tools)

ToolDescription
marketo_get_formsList forms with pagination and status filtering
marketo_get_form_by_idGet form metadata including fields and visibility rules
marketo_clone_formClone a form to a target folder
marketo_approve_formApprove a form draft to make it live

Smart Lists (2 tools)

ToolDescription
marketo_get_smart_listsList smart lists with pagination
marketo_get_smart_list_by_idGet a smart list with its full filter definitions

Static Lists (3 tools)

ToolDescription
marketo_get_lead_listsGet leads that are members of a static list
marketo_add_leads_to_listAdd up to 300 leads to a static list
marketo_remove_leads_from_listRemove up to 300 leads from a static list

Channels (3 tools)

ToolDescription
marketo_get_channelsList all channels and their progression statuses
marketo_get_channel_by_idGet a single channel by ID
marketo_create_channelCreate a channel with custom progression statuses

Landing Pages (3 tools)

ToolDescription
marketo_get_landing_pagesList landing pages with status filtering
marketo_get_landing_page_by_idGet full LP metadata including template and form embeds
marketo_clone_landing_pageClone a landing page to a target folder

Bulk Export (4 tools)

ToolDescription
marketo_create_bulk_export_leadsCreate a bulk lead export job with field list and date filter
marketo_enqueue_bulk_exportEnqueue a created export job for processing
marketo_get_bulk_export_statusPoll the status of a running export job
marketo_get_bulk_export_fileDownload the file from a completed export job

Example prompts

  • "Show me all leads created this week from the Webinar source"
  • "What programs are currently active and what channel is each one under?"
  • "Find all forms on the Contact Us landing page and show me their fields"
  • "Clone the Q1 Webinar program into the Q2 folder and name it Q2 Webinar"
  • "Export all leads updated in the last 30 days to CSV — email, firstName, lastName, company"
  • "Send a sample of email ID 1234 to test@example.com rendered with lead 5678's data"

Authentication

Marketo uses OAuth 2.0 client credentials. The server obtains and caches a token automatically, refreshing it 60 seconds before expiry. No manual token management required.


License

MIT — see LICENSE.

Reviews

No reviews yet

Sign in to write a review