Skip to main content
Glama
Marketo MCP Server

Marketo MCP Server

by bagwanpankaj

Marketo MCP Server

Python MCP server for the Marketo REST API described in as per Marketo API Documentation

Environment

Set these environment variables before running:

  • MARKETO_BASE_URL - Marketo instance URL, for example https://<munchkin-id>.mktorest.com

  • MARKETO_CLIENT_ID - OAuth client id

  • MARKETO_CLIENT_SECRET - OAuth client secret

Optional:

  • MARKETO_TIMEOUT - Request timeout in seconds, default 30

  • MARKETO_ACCESS_TOKEN - Pre-fetched bearer token to skip OAuth token retrieval

Related MCP server: marketo-mcp-server

Run

cd marketo-mcp
python -m venv .venv
source .venv/bin/activate
pip install -e .
marketo-mcp

Tools

The server exposes tools for the Marketo operations in the OpenAPI spec, including:

  • authentication token retrieval

  • leads search, create/update, delete, and describe

  • list membership operations

  • campaign listing, triggering, and scheduling

  • activity queries

  • company and opportunity operations

  • asset listing and retrieval

  • usage and error stats

Available Tools

34 tools
add_leads_to_listD

Inputs: list_id (required), input (required). Returns: result

create_update_companiesD

Inputs: input (required), action, dedupe_by. Returns: result

create_update_leadsD

Inputs: input (required), action, lookup_field. Returns: result

create_update_opportunitiesD

Inputs: input (required), action, dedupe_by. Returns: result

delete_leadsD

Inputs: input (required). Returns: result

describe_companiesD

Inputs: no named parameters. Returns: result

describe_leadsD

Inputs: no named parameters. Returns: result

describe_opportunitiesD

Inputs: no named parameters. Returns: result

get_access_tokenC

Get an OAuth access token using client credentials.

Inputs: client_id (required), client_secret (required). Returns: result

get_activitiesD

Inputs: activity_type_ids (required), next_page_token (required), lead_ids, batch_size. Returns: result

get_activity_typesD

Inputs: no named parameters. Returns: result

get_campaignsD

Inputs: id, name, program_name, batch_size. Returns: result

get_daily_errorsD

Inputs: no named parameters. Returns: result

get_daily_usageD

Inputs: no named parameters. Returns: result

get_email_by_idD

Inputs: email_id (required). Returns: result

get_email_contentD

Inputs: email_id (required). Returns: result

get_emailsD

Inputs: max_return, offset, status, folder. Returns: result

get_foldersD

Inputs: root, max_depth, max_return, offset. Returns: result

get_formsD

Inputs: max_return, offset, status. Returns: result

get_landing_pagesD

Inputs: max_return, offset, status. Returns: result

get_lead_by_idD

Inputs: lead_id (required), fields. Returns: result

get_lead_changesD

Inputs: fields (required), next_page_token (required), batch_size. Returns: result

get_leads_by_listD

Inputs: list_id (required), fields, batch_size. Returns: result

get_listsD

Inputs: id, name, batch_size. Returns: result

get_paging_tokenD

Inputs: since_datetime (required). Returns: result

get_program_by_idD

Inputs: program_id (required). Returns: result

get_programsD

Inputs: max_return, offset, filter_type, filter_values. Returns: result

get_program_tokensD

Inputs: folder_id (required), folder_type (required). Returns: result

remove_leads_from_listD

Inputs: list_id (required), input (required). Returns: result

schedule_campaignD

Inputs: campaign_id (required), input (required). Returns: result

search_companiesD

Inputs: filter_type (required), filter_values (required), fields. Returns: result

search_leadsD

Inputs: filter_type (required), filter_values (required), fields, batch_size, +1 more. Returns: result

search_opportunitiesD

Inputs: filter_type (required), filter_values (required), fields. Returns: result

trigger_campaignD

Inputs: campaign_id (required), input (required). Returns: result

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

Loading tool schema changelog…

    TDQS

    D1.8/5.0

    Scored across 34 tools

    Disambiguation3/5

    Many tools have distinct names, but several pairs like describe_leads vs get_lead_by_id vs search_leads could cause ambiguity. The lack of descriptions exacerbates confusion, though the names are specific enough to differentiate with context.

    Naming Consistency5/5

    All tools follow a consistent snake_case verb_noun pattern, with verbs like get, create_update, delete, describe, search, add, remove, schedule, trigger. No mixing of conventions.

    Tool Count3/5

    34 tools is on the high side, but Marketo is a broad platform. The count could be trimmed, but it remains within a plausible range for a comprehensive integration.

    Completeness2/5

    While many entities are covered, significant operations are missing: no create/update/delete for emails, campaigns, programs, folders, forms, or landing pages. Update and delete for companies/opportunities are absent, leaving gaps in lifecycle management.

    Maintenance

    ActivityInactive
    ResponsivenessNo recent community issues

    Related MCP Connectors

    Related MCP Servers