a

alexleventer

marketingapp-automationdeveloper-tools

316 查看 · 2026-07-07 更新

Marketo MCP 服务器

一个用于与Marketo API交互的Model Context Protocol服务器。该服务器提供了管理Marketo表单的工具,包括列出、克隆和审批表单等功能。

smithery 徽章

前提条件

  • Node.js (v14 或更高版本)
  • Marketo API 凭证(客户端ID和客户端密钥)
  • 启用了API访问权限的Marketo实例
  • 安装了Claude Desktop

开始使用

1. 获取Marketo API凭证

  1. 登录到您的Marketo管理员面板
  2. 导航至 Admin > Integration > LaunchPoint
  3. 点击 New > New Service
  4. 填写服务详情:
    • 服务:自定义
    • 显示名称:例如,“MCP 服务器”
  5. 保存提供的客户端ID客户端密钥

2. 配置环境变量

  1. 在根目录下创建一个.env文件:

env

您的Marketo实例URL(必需)

示例: https://123-ABC-456.mktorest.com/rest

MARKETO_BASE_URL=your-marketo-instance-url

您的API凭证(必需)

MARKETO_CLIENT_ID=your-client-id MARKETO_CLIENT_SECRET=your-client-secret

3. 安装与设置

bash

安装依赖

npm install

构建项目

npm run build

构建过程将在控制台输出配置设置

将这些设置复制到您的Claude Desktop开发者配置中

4. Claude Desktop 配置

  1. 打开Claude Desktop
  2. 转到开发者设置
  3. 粘贴在构建过程中输出的配置设置
  4. 保存配置
  5. 重启Claude Desktop

可用工具

获取表单列表

typescript marketo_get_forms({ maxReturn: 200, // 可选,默认值: 200 offset: 0, // 可选,默认值: 0 status: 'draft' // 可选,'draft' 或 'approved' })

根据ID获取表单

typescript marketo_get_form_by_id({ formId: 1234 })

克隆表单

typescript marketo_clone_form({ formId: 1234, // 要克隆的表单ID name: "新表单名称", // 克隆表单的名称 description: "表单描述", // 可选 folderId: 5678 // 可选,目标文件夹ID })

审批表单

typescript marketo_approve_form({ formId: 1234, comment: "由MCP服务器批准" // 可选 })

错误处理

常见的错误场景及解决方案:

  1. 认证错误

    • 确认您的客户端ID和客户端密钥正确无误
    • 检查您的Marketo中的API访问是否已启用
    • 确保您的实例URL正确
  2. 权限错误

    • 确认您的API用户具有足够的权限
    • 检查表单操作的文件夹访问权限
  3. 速率限制

    • 服务器自动处理令牌刷新
    • 对于受速率限制的请求,考虑实现重试逻辑

最佳实践

  1. 环境管理

    • 不要将.env文件提交到版本控制系统
    • 使用不同的凭据进行开发和生产
    • 定期轮换您的API凭据
  2. 安全性

    • 安全地存储凭据
    • 使用环境变量来存放敏感数据
    • 监控API访问日志
  3. 性能

    • 在适当的情况下缓存表单数据
    • 对大型表单列表使用分页
    • 适当地处理速率限制

开发

项目结构

├── src/ │ ├── index.ts # 服务器入口点 │ ├── auth.ts # 令牌管理 │ └── constants.ts # 配置 ├── .env # 环境变量(不在git中) ├── .env.example # 示例环境文件 └── .gitignore # Git忽略规则

您可以使用以下命令针对此服务器运行MCP检查器:npx @modelcontextprotocol/inspector node build/index.js

贡献

  1. 分叉仓库2. 创建特性分支
  2. 进行你的修改
  3. 提交一个拉取请求

支持

对于问题和疑问:

  1. 查看 Marketo REST API 文档
  2. 回顾上述常见错误场景
  3. 在仓库中提交一个问题

来源