Skip to main content
Glama
alexleventer

Marketo MCP Server

by alexleventer

Marketo MCP Server

Adobe Marketo Engage 用の Model Context Protocol サーバーです。 Claude Desktop、Cursor、その他のMCP互換クライアントから、Marketo REST APIへの直接的かつ認証されたアクセスを提供します。自然言語を使用して、フォーム、スマートリスト、チャネル、リード、アクティビティ、リストの読み書きが可能です。

npm version License: ISC

目的

マーケティング運用、グロース、RevOpsチームは、フォームの複製、アセットの承認、リードの検索、スマートリストの監査などのために、Marketo UIを何時間もクリックして操作しています。Marketo MCP Serverは、それらのREST API操作をLLMエージェントに接続するため、以下のように指示するだけで済みます。

  • 「フォーム1234をQ2 Webinarsフォルダに複製して承認して。」

  • alex@example.comの最近のアクティビティを見せて。」

  • 「'Lifecycle Nurture'という新しいメールチャネルを作成して。」

…すると、モデルがあなたに代わって実際のMarketo API呼び出しを実行します。

Related MCP server: Xero MCP Server

目次

機能

  • フォーム管理 — Marketo Asset APIを介したフォームのリスト表示、検査、複製、承認

  • スマートリスト操作 — スマートリストのリスト表示と検査

  • チャネルCRUD — チャネルの作成、読み取り、更新、削除

  • リードデータベース — IDまたはメールアドレスによるリードの取得、リードの一括作成または更新、リードの削除

  • アクティビティと変更ログ — リードのアクティビティとフィールド変更の取得

  • リストメンバーシップ — 静的リストへのリードの追加または削除

  • 自動認証 — トークンキャッシュと更新機能を備えたOAuth 2.0クライアント資格情報フロー

  • Stdioトランスポート — Claude Desktop、Cursor、およびstdioをサポートするあらゆるMCPクライアントでそのまま動作

クイックスタート

オプションA — Smithery (推奨)

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

プロンプトに従って、MarketoのベースURL、クライアントID、クライアントシークレットを入力してください。

オプションB — npx (インストール不要)

MCPクライアントの設定(例: 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"
      }
    }
  }
}

オプションC — ソースからビルド

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

ビルドによって出力された設定ブロックを、MCPクライアントにコピーしてください。

前提条件

  • Node.js 18以上

  • Marketo API資格情報 (LaunchPointサービスからのクライアントIDとクライアントシークレット)

  • REST APIアクセスが有効なMarketoインスタンス

  • MCP互換クライアントClaude DesktopCursorCline など

Marketo API資格情報の取得

  1. Marketo管理画面にログイン

  2. 管理 → インテグレーション → LaunchPoint

  3. 新規 → 新規サービス、サービスタイプをカスタムに設定し、表示名(例: MCP Server)を選択

  4. 必要な権限(アセットの読み取り専用、リードの読み書きなど)を持つAPI専用ユーザーを割り当て

  5. クライアントIDクライアントシークレットを保存

  6. ベースURLは、管理 → インテグレーション → Webサービス → REST APIエンドポイントにあります(/rest/v1/* を取り除き、https://<munchkin>.mktorest.com/rest のみを使用してください)

設定

すべての設定は環境変数を通じて行います。

変数

必須

説明

MARKETO_BASE_URL

はい

RESTエンドポイント(例: https://123-ABC-456.mktorest.com/rest

MARKETO_CLIENT_ID

はい

LaunchPointサービスのクライアントID

MARKETO_CLIENT_SECRET

はい

LaunchPointサービスのクライアントシークレット

ローカル開発用に .env.example.env にコピーしてください。

利用可能なツール

ツール

説明

marketo_get_forms

フォームのリスト表示 (`status: draft

approved でフィルタリング、maxReturn/offset` でページネーション)

marketo_get_form_by_id

IDによる単一フォームの取得

marketo_clone_form

宛先フォルダへのフォームの複製

marketo_approve_form

ドラフトフォームの承認

marketo_get_smart_lists

スマートリストのリスト表示

marketo_get_smart_list_by_id

IDによるスマートリストの取得

marketo_get_channels

チャネルのリスト表示

marketo_get_channel_by_id

IDによるチャネルの取得

marketo_create_channel

新しいチャネルの作成

marketo_update_channel

既存チャネルの更新

marketo_delete_channel

チャネルの削除

marketo_get_lead_by_id

数値IDによるリードの取得

marketo_get_lead_by_email

メールアドレスによるリードの取得

marketo_create_or_update_lead

リードの一括作成または更新

marketo_delete_lead

リードの削除

marketo_get_lead_activities

リードのアクティビティ取得 (ページネーション対応)

marketo_get_lead_changes

リードのフィールド変更履歴の取得

marketo_get_lead_lists

リードが所属するリストの取得

marketo_add_lead_to_list

静的リストへのリード追加

marketo_remove_lead_from_list

静的リストからのリード削除

各ツールは zod で検証された型付き引数を受け取り、生のMarketo JSONレスポンスを返します。フィールドレベルの詳細については、Adobe Marketo REST APIリファレンスを参照してください。

Claude Desktopでの使用方法

  1. Claude Desktopをインストール

  2. ~/Library/Application Support/Claude/claude_desktop_config.json (macOS) または %APPDATA%\Claude\claude_desktop_config.json (Windows) の設定を開く

  3. クイックスタート から mcpServers ブロックを貼り付け

  4. Claude Desktopを再起動

Cursor / その他のMCPクライアントでの使用方法

stdioサーバーをサポートするあらゆるMCPクライアントが使用可能です。ビルドされたバイナリを指定してください。

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

トラブルシューティング

症状

考えられる原因

Failed to authenticate with Marketo

クライアントID/シークレットが誤っている、またはLaunchPointユーザーでREST APIが有効になっていない

403 Access Denied

API専用ユーザーにそのエンドポイントのロールがない (例: Asset API vs Lead Database API)

606 Max rate limit reached

Marketoは1インスタンスあたり100回/20秒の制限がある — 呼び出しをバッチ処理し、遅延を追加する

610 Requested resource not found

フォルダ/フォーム/リードIDが存在しない、または別のワークスペースにある

認証は成功するがリクエストがハングする

MARKETO_BASE_URL の末尾にスラッシュがなく、/rest で終わっているか再確認する

MCPインスペクターを使用して、ツール呼び出しをローカルで検査できます。

npm run inspector

開発

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/

貢献

問題やプルリクエストは github.com/alexleventer/marketo-mcp で歓迎します。

  1. リポジトリをフォーク

  2. フィーチャーブランチを作成

  3. npm run lint && npm run typecheck を実行

  4. PRを開く

ライセンス

ISC — LICENSE を参照してください。


キーワード: marketo mcp server, marketo model context protocol, marketo claude, marketo ai, adobe marketo mcp, marketo api claude desktop, marketo automation llm, marketo engage mcp

Install Server
F
license - not found
C
quality
-
maintenance - not tested

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

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