Marketo MCP 服务器
用于与 Marketo API 交互的模型上下文协议服务器。该服务器提供用于管理 Marketo 表单的工具,包括列出、克隆和批准表单。
先决条件
- Node.js(v14 或更高版本)
- Marketo API 凭证(客户端 ID 和客户端密钥)
- 启用 API 访问的 Marketo 实例
- 已安装 Claude Desktop
入门
1.获取 Marketo API 凭证
- 登录您的 Marketo 管理面板
- 导航至**“管理”** > “集成” > “启动点”
- 单击新建>新服务
- 填写服务详情:
- 保存提供的客户端 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桌面配置
- 打开 Claude 桌面
- 前往开发者设置
- 粘贴构建过程中输出的配置设置
- 保存配置
- 重启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 和客户端密钥是否正确
- 检查您的 API 访问权限是否已在 Marketo 中启用
- 确保您的实例 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 文档
- 回顾上面常见的错误场景
- 在存储库中提交问题