Marketo MCP server
Prebuilt SnapLogic agentic-tool pipelines that let an LLM read from and act on Marketo, callable as MCP tools via Pipeline Execute. Published in the SnapLogic pattern catalog.
Overview
This tool pack gives an agent access to Adobe Marketo Engage through four pipelines covering the Lead Database (people, activities, list membership) and the Asset API (emails, forms, landing pages, programs, folders). The agent names the operation with a command parameter and supplies query parameters for reads or a payload for writes.
For setup instructions, see SnapLogic MCP Server quickstart.
Example Prompts
- Create a Marketo form called 'Contact Us' in folder 123 with the description 'Main contact form'
- Set up a new landing page in Marketo for the autumn webinar
- Create a folder in Marketo called 'Q4 Campaigns' to organise the new assets
- Add a new email asset to our welcome program in Marketo
- Rename the 'Contact Us' form in Marketo and update its description
- List the first 10 emails in our Marketo instance
- What forms do we have in Marketo?
- Show me the landing pages in the 'Product Launch' folder
- Get our Marketo programs so I can see what campaigns exist
- Find the Marketo email asset called 'Welcome Series - Day 1'
Tools
| Tool Name | Functions |
|---|---|
| MarketoAssetAction | Create or update Marketo assets — forms, emails, landing pages, folders — via the Asset API. |
| MarketoAssetActionChild | Marketo Asset Action Child |
| MarketoAssetQuery | Browse Marketo assets — emails, forms, landing pages, programs, folders — via the Asset API. |
| MarketoLeadAction | Create, update or otherwise write lead records in the Marketo Lead Database. |
| MarketoLeadActionChild | Marketo Lead Action Child |
| MarketoLeadQuery | Read leads, lead fields and lead activities from the Marketo Lead Database by command and query parameters. |
Set up the MCP Server tools
- Download marketo_tools.zip.
- In SnapLogic Designer, open the target project space (or create one), then choose Import Project / Import Pipelines and select the downloaded marketo_tools.zip. Designer unpacks each pipeline into the project.
- Attach the required account to the connectivity snaps (see Connection Setup).
- Expose the project as an MCP server — each pipeline becomes a tool named after its label. New to this? Start with the MCP quickstart, then use the MCP Server Pipeline Builder to generate the server from the imported pipelines.
Configure account
Attach a Marketo REST account to the Marketo snaps in Designer after import.
These pipelines ship without credentials by design — attach a valid account in Designer before the tools will execute.
See the SnapLogic account documentation for this connector: Configuring Marketo Account.
MarketoAssetAction
Creates or updates Marketo assets, such as forms, emails, landing pages, and folders, via the Asset API. Specify the operation in the command parameter and supply the asset definition in the payload.
| Parameter | Type | Default | Description |
|---|---|---|---|
| command* | string | — | Marketo asset-write operation to run, e.g. 'Create Form', 'Create Email', 'Create Folder'. |
| payload* | object | — | Asset definition in Marketo's expected shape, e.g. {"name": "Contact Us", "folder": {"id": 123, "type": "Folder"}, "description": "Main contact form"}. |
* Required parameter.
Try asking:
- Create a Marketo form called 'Contact Us' in folder 123 with the description 'Main contact form'
- Set up a new landing page in Marketo for the autumn webinar
- Create a folder in Marketo called 'Q4 Campaigns' to organise the new assets
- Add a new email asset to our welcome program in Marketo
- Rename the 'Contact Us' form in Marketo and update its description
MarketoAssetActionChild
Lets the LLM marketo asset action child, exposed as an MCP tool callable via Pipeline Execute.
| Parameter | Type | Default | Description |
|---|---|---|---|
| command | string | — | — |
MarketoAssetQuery
Browses Marketo assets, such as emails, forms, landing pages, programs, and folders, via the Asset API. Use it to inventory or locate campaign collateral before acting on it.
| Parameter | Type | Default | Description |
|---|---|---|---|
| command* | string | — | Marketo asset-read operation to run, e.g. 'Get Emails', 'Get Forms', 'Get Landing Pages'. |
| query_1_name | string | — | Name of the first Marketo query parameter, e.g. maxReturn. |
| query_1_value | string | — | Value for the first query parameter, e.g. 10. |
| query_2_name | string | — | Name of the second Marketo query parameter, e.g. offset or folder. |
| query_2_value | string | — | Value for the second query parameter. |
| query_3_name | string | — | Name of the third Marketo query parameter, e.g. status. |
| query_3_value | string | — | Value for the third query parameter. |
* Required parameter.
Try asking:
- List the first 10 emails in our Marketo instance
- What forms do we have in Marketo?
- Show me the landing pages in the 'Product Launch' folder
- Get our Marketo programs so I can see what campaigns exist
- Find the Marketo email asset called 'Welcome Series - Day 1'
MarketoLeadAction
Creates, updates, or otherwise writes lead records in the Marketo Lead Database, covering operations such as syncing leads and managing static list membership. Specify the operation in the command parameter and provide the lead data in the payload.
| Parameter | Type | Default | Description |
|---|---|---|---|
| command* | string | — | Marketo lead-write operation to run, e.g. 'Sync Leads'. Selects the endpoint on the Lead Database API. |
| payload* | object | — | Request body in Marketo's expected shape, e.g. {"input": [{"email": "[email protected]", "firstName": "John", "lastName": "Doe"}]}. |
* Required parameter.
Try asking:
- Sync this new lead into Marketo: [email protected], John Doe
- Update the Marketo record for [email protected] with her new job title and phone number
- Push these five webinar registrants into Marketo as leads
- Add this lead to our 'Q3 Nurture' static list in Marketo
- Create a Marketo lead for the contact we just spoke to and set their lead source to 'Partner Referral'
MarketoLeadActionChild
Lets the LLM marketo lead action child, exposed as an MCP tool callable via Pipeline Execute.
| Parameter | Type | Default | Description |
|---|---|---|---|
| command | string | — | — |
MarketoLeadQuery
Reads leads, lead fields, and activity history from the Marketo Lead Database by naming the operation in the command parameter and supplying up to three query parameters. Use it for people-focused questions, such as who a lead is, what fields they hold, or what they have done.
| Parameter | Type | Default | Description |
|---|---|---|---|
| command* | string | — | Marketo lead-read operation to run, e.g. 'Get Leads by Filter Type', 'Get Lead by Id'. Selects the endpoint on the Lead Database API. |
| query_1_name | string | — | Name of the first Marketo query parameter, e.g. filterType. |
| query_1_value | string | — | Value for the first query parameter, e.g. email. |
| query_2_name | string | — | Name of the second Marketo query parameter, e.g. filterValues. |
| query_2_value | string | — | Value for the second query parameter, e.g. a comma-separated list of emails. |
| query_3_name | string | — | Name of the third Marketo query parameter, e.g. fields or batchSize. |
| query_3_value | string | — | Value for the third query parameter. |
* Required parameter.
Try asking:
- Look up the Marketo lead with email [email protected]
- Get leads filtered by email for these three addresses and include their firstName, lastName and company fields
- Find the Marketo lead record for lead ID 1042 and show me everything on it
- Which leads match filter type 'company' with value 'Acme Corp'?
- Pull the recent activity history for this lead out of Marketo