Information
mailmodo-mcp
这是一个 TypeScript 项目,实现了用于 Mailmodo 与 Claude Desktop 及其他支持 MCP 的客户端集成的消息控制协议 (MCP) 服务器。
前提条件
Node.js(建议 v20 或更高版本)
npm(随 Node.js 一起提供)
安装
通过 Smithery 安装
要通过 Smithery 自动安装适用于 Claude Desktop 的 Mailmodo 集成服务器:
bash
npx -y @smithery/cli install @mailmodo/mailmodo-mcp --client claude
手动安装
克隆仓库:
bash
git clone https://github.com/mailmodo/mailmodo-mcp.git
cd mailmodo-mcp
安装依赖项:
bash
npm install
构建项目
要将 TypeScript 代码编译为 JavaScript,请运行:
bash
npm run build
这将在 dist 目录中创建编译后的 JavaScript 文件。
运行项目
构建完成后,可以使用以下命令运行项目:
bash
node dist/index.js
或者使用 npm 脚本:
bash
npm start
Claude Desktop 配置
从代码本地运行
要在 Claude Desktop 中配置此项目,请在您的 Claude Desktop 设置中添加以下配置:
json
\{
"mcpServers": \{
"mailmodo": \{
"command": "node",
"args": [
"/path/to/your/mailmodo-mcp/dist/index.js"
]
\}
\}
\}
从 Docker 镜像运行
json
\{
"mcpServers": \{
"mailmodo": \{
"command": "docker",
"args": [
"run",
"--platform",
"linux/amd64",
"-i",
"--rm",
"-e",
"MAILMODO_API_KEY",
"avneesh001/mailmodo-mcp"
],
"env": \{
"MAILMODO_API_KEY": "<从 https://manage.mailmodo.com/app/settings/apikey 获取 MAILMODO 密钥并插入此处>"
\}
\}
\}
\}
通过 npx 运行
json
\{
"mcpServers": \{
"mailmodo": \{
"command": "npx",
"args": [
"-y",
"@mailmodo/mcp"
],
"env": \{
"MAILMODO_API_KEY": "<从 https://manage.mailmodo.com/app/settings/apikey 获取 MAILMODO 密钥并插入此处>"
\}
\}
\}
\}
通过远程服务器连接
json
\{
"mcpServers": \{
"mailmodo": \{
"command": "npx",
"args": [
"-y",
"mcp-remote",
"https://mcp.app.mailmodo.com/mcp",
"--header",
"mmApiKey:$\{MAILMODO_API_KEY\}"
],
"env": \{
"MAILMODO_API_KEY": "<从 https://manage.mailmodo.com/app/settings/apikey 获取 MAILMODO 密钥并插入此处>"
\}
\}
\}
\}
请确保 args 数组中的文件路径与您的本地项目目录匹配。
开发
要在开发模式下运行项目并自动重新编译:
将 ts-node 和 nodemon 安装为开发依赖项:
bash
npm install --save-dev ts-node nodemon
在 package.json 中添加一个开发脚本:
json
\{
"scripts": \{
"dev": "nodemon src/index.ts",
"build": "tsc",
"start": "node dist/index.js"
\}
\}
运行开发服务器:
bash
npm run dev
项目结构
mailmodo-mcp/
├── src/ # TypeScript 源文件
├── dist/ # 编译后的 JavaScript 文件
├── package.json # 项目依赖和脚本
└── tsconfig.json # TypeScript 配置
工具和资源
Mailmodo MCP 服务器提供了多种工具和资源,以方便与 Mailmodo 功能的交互。以下是全面列表:
资源
Mailmodo 模板 (mailmodo://templates)
以 JSON 格式返回所有可用电子邮件模板的列表
MIME 类型:application/json2. Mailmodo 活动 (mailmodo://campaigns)
以 JSON 格式返回所有活动的列表
MIME 类型: application/json
Mailmodo 联系人列表 (mailmodo://contact-lists)
以 JSON 格式返回所有联系人列表
MIME 类型: application/json
工具
用户详情
名称: userDetails
描述: 获取联系人的所有详细信息
参数:
email (字符串): 联系人的电子邮件地址
活动报告工具
名称: MailmodoCampainReportTool
描述: 获取包括打开、点击和提交次数在内的活动报告
参数:
campaignId (UUID): 活动 ID
fromDate (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
描述: 取消订阅或屏蔽一个联系人
参数:
email (字符串): 联系人的电子邮件
重新订阅联系人
名称: resubscribeContact
描述: 重新订阅一个之前已取消订阅的联系人
参数:
email (字符串): 联系人的电子邮件
归档联系人
名称: archiveContact
描述: 永久归档一个联系人
参数:
email (字符串): 联系人的电子邮件
活动管理
发送电子邮件活动
名称: sendEmailToCampaign
描述: 触发带有个性化设置的电子邮件活动
参数:
campaignId (字符串): 活动 ID
email (字符串): 收件人的电子邮件
各种可选参数用于定制化
广播活动
名称: broadcastCampaignToList
描述: 向整个联系人列表触发活动
参数:
campaignId (字符串): 活动 ID
listId (字符串): 目标列表 ID
可选参数用于活动定制化
许可证
MIT 许可证