Marketo MCP サーバー
Marketo APIと連携するためのモデルコンテキストプロトコルサーバー。このサーバーは、フォームの一覧表示、複製、承認など、Marketoフォームを管理するためのツールを提供します。
前提条件
- Node.js (v14以上)
- Marketo API 資格情報 (クライアント ID とクライアント シークレット)
- APIアクセスが有効になっているMarketoインスタンス
- クロードデスクトップがインストール済み
はじめる
1. Marketo API認証情報を取得する
- Marketo管理パネルにログインする
- 管理>統合> LaunchPointに移動します
- 新規>新規サービスをクリック
- サービスの詳細を入力してください:
- サービス: カスタム
- 表示名: (例:「MCP サーバー」)
- 提供されたクライアントIDとクライアントシークレットを保存します
2. 環境変数を設定する
- ルート ディレクトリに
.env
ファイルを作成します。
# 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. インストールとセットアップ
# 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デスクトップを再起動します
利用可能なツール
フォームリストを取得
marketo_get_forms({
maxReturn: 200, // optional, default: 200
offset: 0, // optional, default: 0
status: 'draft' // optional, 'draft' or 'approved'
})
IDでフォームを取得
marketo_get_form_by_id({
formId: 1234
})
クローンフォーム
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
})
承認フォーム
marketo_approve_form({
formId: 1234,
comment: "Approved by MCP server" // optional
})
エラー処理
一般的なエラーのシナリオと解決策:
- 認証エラー
- クライアントIDとクライアントシークレットが正しいことを確認してください
- MarketoでAPIアクセスが有効になっていることを確認してください
- インスタンスURLが正しいことを確認してください
- 権限エラー
- APIユーザーに十分な権限があることを確認する
- フォーム操作のフォルダアクセス権限を確認する
- レート制限
- サーバーはトークンの更新を自動的に処理します
- レート制限のあるリクエストに対して再試行ロジックを実装することを検討する
ベストプラクティス
- 環境管理
.env
ファイルをバージョン管理にコミットしないでください- 開発と本番で異なる認証情報を使用する
- API認証情報を定期的にローテーションする
- 安全
- 資格情報を安全に保存する
- 機密データには環境変数を使用する
- APIアクセスログを監視する
- パフォーマンス
- 適切な場合にフォームデータをキャッシュする
- 大きなフォームリストにはページ区切りを使用する
- レート制限を適切に処理する
発達
プロジェクト構造
├── 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
次のコマンドを使用して、このサーバーに対して MCP インスペクターを実行できます: npx @modelcontextprotocol/inspector node build/index.js
貢献
- リポジトリをフォークする
- 機能ブランチを作成する
- 変更を加える
- プルリクエストを送信する
サポート
問題や質問については:
- Marketo REST APIドキュメントを確認する
- 上記の一般的なエラーシナリオを確認してください
- リポジトリに問題を提出する