MCP ExplorerExplorer

Marketo Mcp

@alexleventeron 10 months ago
2 MIT
FreeCommunity
AI Systems
An MCP server for Marketo

Overview

What is Marketo Mcp

Marketo MCP is a Model Context Protocol server designed for interacting with the Marketo API, providing tools for managing Marketo forms such as listing, cloning, and approving them.

Use cases

Use cases for Marketo MCP include automating form management tasks, integrating Marketo forms with other applications, and simplifying the process of managing multiple forms across marketing campaigns.

How to use

To use Marketo MCP, obtain your Marketo API credentials, configure environment variables, install dependencies, and set up Claude Desktop with the provided configuration settings.

Key features

Key features of Marketo MCP include form management tools like retrieving a list of forms, getting a form by ID, and cloning forms, all designed to streamline interactions with the Marketo API.

Where to use

Marketo MCP can be used in marketing automation, lead management, and form management within organizations that utilize Marketo for their marketing efforts.

Content

Marketo MCP Server

A Model Context Protocol server for interacting with the Marketo API. This server provides tools for managing Marketo forms, including listing, cloning, and approving forms.

smithery badge

Prerequisites

  • Node.js (v14 or higher)
  • Marketo API credentials (Client ID and Client Secret)
  • A Marketo instance with API access enabled
  • Claude Desktop installed

Getting Started

1. Obtain Marketo API Credentials

  1. Log into your Marketo admin panel
  2. Navigate to Admin > Integration > LaunchPoint
  3. Click New > New Service
  4. Fill in the service details:
    • Service: Custom
    • Display Name: (e.g., “MCP Server”)
  5. Save the provided Client ID and Client Secret

2. Configure Environment Variables

  1. Create a .env file in the root directory:
# Your Marketo instance URL (required)
# Example: https://123-ABC-456.mktorest.com/rest
MARKETO_BASE_URL=your-marketo-instance-url

# Your API credentials (required)
MARKETO_CLIENT_ID=your-client-id
MARKETO_CLIENT_SECRET=your-client-secret

3. Installation and Setup

# Install dependencies
npm install

# Build the project
npm run build

# The build process will output configuration settings in your console
# Copy these settings into your Claude Desktop developer configuration

4. Claude Desktop Configuration

  1. Open Claude Desktop
  2. Go to Developer Settings
  3. Paste the configuration settings that were output during the build process
  4. Save the configuration
  5. Restart Claude Desktop

Available Tools

Get Forms List

marketo_get_forms({
  maxReturn: 200,  // optional, default: 200
  offset: 0,       // optional, default: 0
  status: 'draft'  // optional, 'draft' or 'approved'
})

Get Form by ID

marketo_get_form_by_id({
  formId: 1234
})

Clone Form

marketo_clone_form({
  formId: 1234,           // ID of form to clone
  name: "New Form Name",  // Name for the cloned form
  description: "Form description",  // optional
  folderId: 5678         // optional, destination folder ID
})

Approve Form

marketo_approve_form({
  formId: 1234,
  comment: "Approved by MCP server"  // optional
})

Error Handling

Common error scenarios and solutions:

  1. Authentication Errors

    • Verify your Client ID and Client Secret are correct
    • Check that your API access is enabled in Marketo
    • Ensure your instance URL is correct
  2. Permission Errors

    • Verify your API user has sufficient permissions
    • Check folder access permissions for form operations
  3. Rate Limiting

    • The server automatically handles token refresh
    • Consider implementing retry logic for rate-limited requests

Best Practices

  1. Environment Management

    • Never commit .env files to version control
    • Use different credentials for development and production
    • Regularly rotate your API credentials
  2. Security

    • Store credentials securely
    • Use environment variables for sensitive data
    • Monitor API access logs
  3. Performance

    • Cache form data when appropriate
    • Use pagination for large form lists
    • Handle rate limits appropriately

Development

Project Structure

├── src/
│   ├── index.ts        # Server entry point
│   ├── auth.ts         # Token management
│   └── constants.ts    # Configuration
├── .env                # Environment variables (not in git)
├── .env.example        # Example environment file
└── .gitignore         # Git ignore rules

You can run MCP inspector against this server with the following command: npx @modelcontextprotocol/inspector node build/index.js

Contributing

  1. Fork the repository
  2. Create a feature branch
  3. Make your changes
  4. Submit a pull request

Support

For issues and questions:

  1. Check the Marketo REST API documentation
  2. Review common error scenarios above
  3. Submit an issue in the repository

Tools

No tools

Comments

Recommend MCP Servers

View All MCP Servers