mailmodo-mcp
这是一个 TypeScript 项目,它实现了一个消息控制协议 (MCP) 服务器,用于 Mailmodo 与 Claude Desktop 和其他 MCP 支持的客户端的集成。
先决条件
- Node.js(建议使用 v20 或更高版本)
- npm(Node.js 附带)
安装
- 克隆存储库:
git clone https://github.com/mailmodo/mailmodo-mcp.git
cd mailmodo-mcp
- 安装依赖项:
构建项目
要将 TypeScript 代码编译为 JavaScript,请运行:
这将创建一个包含已编译的 JavaScript 文件的dist
目录。
运行项目
构建完成后,您可以使用以下命令运行项目:
或者使用 npm 脚本:
Claude桌面配置
从代码本地运行
要使用 Claude Desktop 配置此项目,请将以下配置添加到您的 Claude Desktop 设置中:
{
"mcpServers": {
"mailmodo": {
"command": "node",
"args": [
"/path/to/your/mailmodo-mcp/dist/index.js"
]
}
}
}
从 docker 镜像运行
{
"mcpServers": {
"mailmodo": {
"command": "docker",
"args": [
"run",
"--platform",
"linux/amd64",
"-i",
"--rm",
"-e",
"MAILMODO_API_KEY",
"avneesh001/mailmodo-mcp"
],
"env": {
"MAILMODO_API_KEY": "<GET MAILMODO KEY from https://manage.mailmodo.com/app/settings/apikey and insert here>"
}
}
}
}
从 npx 运行
{
"mcpServers": {
"mailmodo": {
"command": "npx",
"args": [
"-y",
"@mailmodo/mcp"
],
"env": {
"MAILMODO_API_KEY": "<GET MAILMODO KEY from https://manage.mailmodo.com/app/settings/apikey and insert here>"
}
}
}
}
通过远程服务器连接
{
"mcpServers": {
"mailmodo": {
"command": "npx",
"args": [
"-y",
"mcp-remote",
"https://mcp.app.mailmodo.com/mcp",
"--header",
"mmApiKey:${MAILMODO_API_KEY}"
],
"env": {
"MAILMODO_API_KEY": "<GET MAILMODO KEY from https://manage.mailmodo.com/app/settings/apikey and insert here>"
}
}
}
}
确保调整args
数组中的文件路径以匹配您的本地项目目录。
发展
要在开发模式下运行自动重新编译的项目:
- 安装
ts-node
和nodemon
作为开发依赖项:
npm install --save-dev ts-node nodemon
- 将 dev 脚本添加到你的 package.json 中:
{
"scripts": {
"dev": "nodemon src/index.ts",
"build": "tsc",
"start": "node dist/index.js"
}
}
- 运行开发服务器:
项目结构
mailmodo-mcp/
├── src/ # TypeScript source files
├── dist/ # Compiled JavaScript files
├── package.json # Project dependencies and scripts
└── tsconfig.json # TypeScript configuration
工具和资源
Mailmodo MCP 服务器提供了多种工具和资源,用于与 Mailmodo 的功能进行交互。以下是完整列表:
资源
- Mailmodo 模板(
mailmodo://templates
)- 以 JSON 格式返回所有可用电子邮件模板的列表
- MIME 类型:application/json
- Mailmodo 营销活动(
mailmodo://campaigns
)- 以 JSON 格式返回所有活动的列表
- MIME 类型:application/json
- Mailmodo 联系人列表(
mailmodo://contact-lists
)- 以 JSON 格式返回所有联系人列表
- MIME 类型:application/json
工具
- 用户详细信息
- 名称:
userDetails
- 描述:获取联系人的所有详细信息
- 参数:
- 活动报告工具
- 名称:
MailmodoCampainReportTool
- 描述:获取活动报告,包括打开、点击和提交计数
- 参数:
campaignId
(UUID):营销活动的 IDfromDate
(YYYY-MM-DD):报告的开始日期toDate
(YYYY-MM-DD):报告的结束日期
- 当前日期时间
- 名称:
currentDateTime
- 描述:获取当前日期和时间
- 参数:无
- 发送事件
- 名称:
sendEvent
- 描述:使用电子邮件和事件属性发送自定义事件
- 参数:
email
(字符串):联系人的电子邮件地址event_name
(字符串):事件的名称ts
(数字,可选):时间戳event_properties
(对象,可选):附加事件属性
- 联系人列表管理
- 将联系人添加到列表
- 名称:
addContactToList
- 描述:将单个联系人添加到列表
- 参数:
email
(字符串):联系人的电子邮件listName
(字符串):列表的名称data
(对象,可选):联系人属性- 联系人元数据的各种可选字段
- 批量添加联系人
- 名称:
addBulkContactToList
- 描述:通过一次操作将多个联系人添加到列表中
- 参数:
listName
(字符串):列表的名称values
(数组):联系人对象数组
- 从列表中删除联系人
- 名称:
removeContactFromList
- 描述:从特定列表中删除联系人
- 参数:
email
(字符串):联系人的电子邮件listName
(字符串):列表的名称
- 联系状态管理
- 取消订阅联系方式
- 名称:
unsubscribeContact
- 描述:取消订阅或隐藏联系人
- 参数:
- 重新订阅联系方式
- 名称:
resubscribeContact
- 描述:重新订阅之前取消订阅的联系人
- 参数:
- 存档联系方式
- 名称:
archiveContact
- 描述:永久存档联系人
- 参数:
- 营销活动管理
- 发送电子邮件活动
- 名称:
sendEmailToCampaign
- 描述:触发个性化电子邮件活动
- 参数:
campaignId
(字符串):广告系列 IDemail
(字符串):收件人的电子邮件- 多种可选参数可供定制
- 广播活动
- 名称:
broadcastCampaignToList
- 描述:向整个联系人列表触发活动
- 参数:
campaignId
(字符串):广告系列 IDlistId
(string): 目标列表ID- 广告系列定制的可选参数
执照
MIT 许可证