使用说明
MCP写入服务器
A. 非官方的 官方Braze MCP服务器的支持写入的扩展,专为解决方案工程师创建演示、触发活动和管理测试环境而设计。
⚠️ 重要安全须知
此服务器启用 写入操作 前往您的Braze工作区。它包括多种安全机制:
- 工作区验证:默认情况下仅适用于演示/POC/测试工作区
- 速率限制:防止意外垃圾邮件
- 干运行模式:不进行更改的测试操作
- 确认要求:破坏性操作需要明确确认
- 生产受阻:除非明确启用,否则禁止写入生产工作区
特性
写入操作
- ✅ 用户配置文件管理(属性、事件、购买)
- ✅ 活动触发和管理
- ✅ 画布触发和管理
- ✅ 目录项管理
- ✅ 内容块管理
- ✅ 用户删除和识别
安全功能
- ✅ 基于环境的工作空间验证
- ✅ 每种操作类型的速率限制
- ✅ 所有操作均采用干运行模式
- ✅ 破坏性操作的确认要求
- ✅ 全面的日志记录和审计跟踪
安装
pip install -e .
或者使用紫外线:
uv pip install -e .
配置
环境变量
# Required
BRAZE_API_KEY=your-api-key-here
BRAZE_BASE_URL=https://rest.iad-01.braze.com
# Safety Configuration
BRAZE_WRITE_ENABLED=true # Enable write operations
BRAZE_ALLOW_PRODUCTION=false # Block production workspaces
BRAZE_ALLOWED_WORKSPACES=demo-,poc-,test- # Allowed workspace patterns
BRAZE_DRY_RUN_DEFAULT=false # Default dry run mode
# Rate Limits
BRAZE_MAX_SENDS_PER_HOUR=1000 # Max campaign/canvas sends per hour
BRAZE_MAX_CATALOG_UPDATES_PER_MIN=100 # Max catalog updates per minute
MCP客户端配置
添加到您的MCP客户端配置中(例如,Claude Desktop):
{
"mcpServers": {
"braze-write": {
"command": "python",
"args": ["-m", "braze_mcp_write.main"],
"env": {
"BRAZE_API_KEY": "your-api-key",
"BRAZE_BASE_URL": "https://rest.iad-01.braze.com",
"BRAZE_WRITE_ENABLED": "true",
"BRAZE_ALLOWED_WORKSPACES": "demo-,poc-,test-"
}
}
}
}
使用示例
更新用户属性
await update_user_attributes(
ctx,
external_id="user_12345",
attributes={
"first_name": "John",
"last_name": "Doe",
"email": "[email protected]",
"subscription_tier": "premium"
}
)
跟踪自定义事件
await track_event(
ctx,
event_name="completed_tutorial",
external_id="user_12345",
properties={
"tutorial_name": "Getting Started",
"completion_time_seconds": 180
}
)
发送活动
await send_campaign(
ctx,
campaign_id="your-campaign-id",
recipients=[{
"external_user_id": "user_12345"
}]
)
触发器画布
await trigger_canvas(
ctx,
canvas_id="your-canvas-id",
recipients=[{
"external_user_id": "user_12345"
}],
canvas_entry_properties={
"promo_code": "DEMO2024"
}
)
干运行模式
在不进行更改的情况下测试任何操作:
result = await update_user_attributes(
ctx,
external_id="user_12345",
attributes={"test_field": "test_value"},
dry_run=True # No actual API call made
)
建筑
braze_mcp_write/
├── models/ # Pydantic models for validation
│ ├── errors.py
│ └── responses.py
├── tools/ # MCP tool implementations
│ ├── users_write.py # User tracking operations
│ ├── campaigns_write.py
│ ├── canvas_write.py
│ ├── catalogs_write.py
│ └── content_blocks_write.py
├── utils/ # Utilities
│ ├── context.py # Context management
│ ├── http.py # HTTP client
│ ├── logging.py # Logging setup
│ └── safety.py # Safety mechanisms
├── registry_builder.py # Auto-discovery system
├── server.py # FastMCP server
└── main.py # Entry point
发展
运行测试
pytest
代码格式化
black .
ruff check .
安全最佳实践
- 始终使用演示工作区:在URL中使用“demo-”、“poc-”或“test-”前缀设置专用的演示工作区
- 先进行干运行测试:使用
dry_run=True在执行之前验证操作 - 监控速率限制:注意您工作场所的Braze API费率限制
- 对破坏性行动进行确认:操作如
delete_user需要confirm=True - 查看日志:定期检查日志以查看意外行为
与官方Braze MCP的差异
此服务器扩展了官方只读Braze MCP服务器:
- 为活动、画布、用户、目录和内容块编写操作
- 全面的安全机制,防止意外生产写入
- 限制价格以防止API滥用
- 测试的干运行模式
- 增强的日志记录和审计跟踪
许可证
MIT许可证-有关详细信息,请参阅许可证文件
免责声明
这是一个用于创建演示和POC的开发工具。请谨慎使用,并在启用写入操作之前始终验证您的工作区配置。
