316 查看 · 2026-07-07 更新
Marketo MCP 服务器
一个用于与Marketo API交互的Model Context Protocol服务器。该服务器提供了管理Marketo表单的工具,包括列出、克隆和审批表单等功能。
前提条件
- Node.js (v14 或更高版本)
- Marketo API 凭证(客户端ID和客户端密钥)
- 启用了API访问权限的Marketo实例
- 安装了Claude Desktop
开始使用
1. 获取Marketo API凭证
- 登录到您的Marketo管理员面板
- 导航至 Admin > Integration > LaunchPoint
- 点击 New > New Service
- 填写服务详情:
- 服务:自定义
- 显示名称:例如,“MCP 服务器”
- 保存提供的客户端ID和客户端密钥
2. 配置环境变量
- 在根目录下创建一个
.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 配置
- 打开Claude Desktop
- 转到开发者设置
- 粘贴在构建过程中输出的配置设置
- 保存配置
- 重启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服务器批准" // 可选 })
错误处理
常见的错误场景及解决方案:
-
认证错误
- 确认您的客户端ID和客户端密钥正确无误
- 检查您的Marketo中的API访问是否已启用
- 确保您的实例URL正确
-
权限错误
- 确认您的API用户具有足够的权限
- 检查表单操作的文件夹访问权限
-
速率限制
- 服务器自动处理令牌刷新
- 对于受速率限制的请求,考虑实现重试逻辑
最佳实践
-
环境管理
- 不要将
.env文件提交到版本控制系统 - 使用不同的凭据进行开发和生产
- 定期轮换您的API凭据
- 不要将
-
安全性
- 安全地存储凭据
- 使用环境变量来存放敏感数据
- 监控API访问日志
-
性能
- 在适当的情况下缓存表单数据
- 对大型表单列表使用分页
- 适当地处理速率限制
开发
项目结构
├── src/ │ ├── index.ts # 服务器入口点 │ ├── auth.ts # 令牌管理 │ └── constants.ts # 配置 ├── .env # 环境变量(不在git中) ├── .env.example # 示例环境文件 └── .gitignore # Git忽略规则
您可以使用以下命令针对此服务器运行MCP检查器:npx @modelcontextprotocol/inspector node build/index.js
贡献
- 分叉仓库2. 创建特性分支
- 进行你的修改
- 提交一个拉取请求
支持
对于问题和疑问:
- 查看 Marketo REST API 文档
- 回顾上述常见错误场景
- 在仓库中提交一个问题
来源
- 来源:github
- 链接:https://github.com/alexleventer/marketo-mcp