mcpField
S
Spotler Sendpro / Flowmailer Mcp Server

Spotler Sendpro / Flowmailer Mcp Server

本地服务
github.com/Mestika通信协作223 周前更新

关于 Spotler Sendpro / Flowmailer Mcp Server

面向团队的非官方 MCP 服务,可让 AI Agent 访问 Spotler SendPro 账户数据和消息操作。它使用 OAuth2,默认只读;启用写入后可执行消息操作。

主要功能

  1. 01OAuth2 客户端凭据认证
  2. 02默认启用只读模式
  3. 03查询消息与收件人
  4. 04列出资源和端点
  5. 05可选提交、模拟与重发

适用场景

  1. 01检查消息及归档内容
  2. 02查询收件人和 SendPro 资源
  3. 03按需启用消息提交或重发

MCP 相关

通过 stdio 将 SendPro API 操作作为 MCP 工具提供。默认允许读取;写入工具需关闭只读模式。

配置

本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。

mcp.json · 通用配置
{
"mcpServers": {
"sendpro-flowmailer": {
"command": "npx",
"args": [
"-y",
"sendpro-flowmailer-mcp"
],
"env": {
"SENDPRO_ACCOUNT_ID": "<SENDPRO_ACCOUNT_ID>",
"SENDPRO_CLIENT_ID": "<SENDPRO_CLIENT_ID>",
"SENDPRO_CLIENT_SECRET": "<SENDPRO_CLIENT_SECRET>",
"SENDPRO_READ_ONLY": "<SENDPRO_READ_ONLY>"
}
}
}
}
启动命令npx -y sendpro-flowmailer-mcp
需要配置的环境变量
SENDPRO_ACCOUNT_ID
SENDPRO_CLIENT_ID
SENDPRO_CLIENT_SECRET密钥
SENDPRO_READ_ONLY

本地服务需要在你的电脑上安装运行环境(如 Node.js 18+)。各客户端的配置文件位置不同,请参考客户端文档。

安装包
npmsendpro-flowmailer-mcp

工具

8

收录的工具列表 · 更新于 3 周前

参数类型必填说明
methodstring否
pathstring是相对 SendPro API 路径,例如 /{account_id}/messages 或 /545/messages。绝对 URL 将被拒绝。
accountIdstring否为此调用覆盖 FLOWMAILER_ACCOUNT_ID。
matrixobject否追加到最终路径段的矩阵参数,例如 daterange。
queryobject否查询字符串参数。
bodyany否用于修改数据的 API 调用的 JSON 请求正文。
rangestring否Range 标头,例如 items=:10 或 items=0-10。

详细介绍

Spotler SendPro / FlowMailer MCP 服务

GitHub Release npm version npm downloads CI OpenSSF Scorecard License: MIT Node.js TypeScript MCP Read-only default

这是一个非官方的 Model Context Protocol 服务,用于访问 Spotler SendPro API(原名 FlowMailer)。

本项目与 Spotler 无关联,未获其认可,也不由其维护。这是一个社区 MCP 服务,供需要以受控方式通过 AI Agent 访问 SendPro 账户数据,并在明确启用时执行 SendPro 消息操作的团队使用。

功能

  • 通过 OAuth2 客户端凭据连接 SendPro。
  • 通过 stdio 将 SendPro 操作公开为 MCP 工具。
  • 默认启用只读模式。
  • 启用只读模式时,阻止会修改数据的 SendPro 请求。
  • 支持当前的 SendPro 命名方式以及旧版 FlowMailer 环境变量。
  • 在 server.json 中包含 MCP Registry 元数据。

安装

从 npm 安装:

npx -y sendpro-flowmailer-mcp

直接从 GitHub 安装:

npx -y github:Mestika/sendpro-flowmailer-mcp

本地开发:

git clone https://github.com/Mestika/sendpro-flowmailer-mcp.git
cd sendpro-flowmailer-mcp
npm install
npm run build
node dist/index.js

配置

通过 MCP 客户端配置、shell 环境或本地 .env 文件设置凭据。

变量必填默认值描述
SENDPRO_ACCOUNT_ID是SendPro 账户 ID。
SENDPRO_CLIENT_ID是OAuth 客户端 ID。
SENDPRO_CLIENT_SECRET是OAuth 客户端密钥。
SENDPRO_READ_ONLY否true安全模式标志。为 true 时,仅允许读取 SendPro 请求。
READ_ONLY否SENDPRO_READ_ONLY 的通用覆盖项;适用于共享 MCP 配置约定。
SENDPRO_API_BASE_URL否https://api.flowmailer.netSendPro API 基础 URL。
SENDPRO_AUTH_BASE_URL否https://login.flowmailer.netOAuth 基础 URL。
SENDPRO_API_MEDIA_TYPE否application/vnd.flowmailer.v1.12+jsonSendPro 供应商媒体类型。

支持旧版别名:

当前变量Spotler 别名旧版 FlowMailer 别名
SENDPRO_ACCOUNT_IDSPOTLER_SENDPRO_ACCOUNT_IDFLOWMAILER_ACCOUNT_ID
SENDPRO_CLIENT_IDSPOTLER_SENDPRO_CLIENT_IDFLOWMAILER_CLIENT_ID
SENDPRO_CLIENT_SECRETSPOTLER_SENDPRO_CLIENT_SECRETFLOWMAILER_CLIENT_SECRET
SENDPRO_READ_ONLYSPOTLER_SENDPRO_READ_ONLYFLOWMAILER_READ_ONLY

优先级依次为:READ_ONLY、SENDPRO_*、SPOTLER_SENDPRO_*、FLOWMAILER_*。

创建 SendPro API 凭据

SendPro 使用 OAuth2 客户端凭据。你需要三个值:

  • 账户 ID
  • 客户端 ID
  • 客户端密钥

SendPro 公共 API 文档指出,API 使用 OAuth2 客户端凭据,访问令牌端点为 https://login.flowmailer.net/oauth/token,并使用 client_id、client_secret、grant_type=client_credentials 和可选的 scope=api 表单值来请求令牌。同一文档还提供了 /{account_id}/sources/{source_id}/users 下的源系统凭据端点,包括列出、创建、获取、更新和删除源凭据的端点。

在 SendPro 控制面板中,具体标签可能因账户而异,但通常的操作路径如下:

  1. 登录 Spotler SendPro。
  2. 前往 Setup。
  3. 打开 Sources 或 Source systems。
  4. 选择要用于 API 访问的源系统,或创建专用于 MCP/自动化的源。
  5. 打开源凭据/用户部分。
  6. 创建新凭据,并填写清晰的描述,例如 MCP read-only。
  7. 复制生成的客户端 ID 和客户端密钥,并将其存储在 MCP 客户端环境中。
  8. 从账户 URL、控制面板上下文或 API 设置中获取 SendPro 账户 ID,并将其设为 SENDPRO_ACCOUNT_ID。

供 AI Agent 使用时,建议使用仅具备所需最低访问权限的凭据。除非明确需要提交、模拟或重新发送操作,否则请让此 MCP 服务保持只读模式。

官方参考资料:

Codex

将以下内容添加到 ~/.codex/config.toml:

[mcp_servers.sendpro_flowmailer]
command = "npx"
args = ["-y", "sendpro-flowmailer-mcp"]
startup_timeout_sec = 20.0

[mcp_servers.sendpro_flowmailer.env]
SENDPRO_ACCOUNT_ID = "your-account-id"
SENDPRO_CLIENT_ID = "your-client-id"
SENDPRO_CLIENT_SECRET = "your-client-secret"
SENDPRO_READ_ONLY = "true"

要直接从 GitHub 运行:

[mcp_servers.sendpro_flowmailer]
command = "npx"
args = ["-y", "github:Mestika/sendpro-flowmailer-mcp"]
startup_timeout_sec = 20.0

Claude Desktop

将以下内容添加到 claude_desktop_config.json:

{
  "mcpServers": {
    "sendpro-flowmailer": {
      "command": "npx",
      "args": ["-y", "sendpro-flowmailer-mcp"],
      "env": {
        "SENDPRO_ACCOUNT_ID": "your-account-id",
        "SENDPRO_CLIENT_ID": "your-client-id",
        "SENDPRO_CLIENT_SECRET": "your-client-secret",
        "SENDPRO_READ_ONLY": "true"
      }
    }
  }
}

只读模式

SENDPRO_READ_ONLY 默认为 true。

启用只读模式时:

  • MCP 架构仅允许通用请求工具使用 GET。
  • 不会注册用于修改数据的辅助工具。
  • 底层客户端会在请求 OAuth 令牌之前,拒绝 POST、PUT、PATCH 和 DELETE SendPro API 请求。

OAuth 本身仍使用 POST https://login.flowmailer.net/oauth/token,因为 SendPro 要求先使用 OAuth2 客户端凭据,才能读取任何资源。只读保护适用于针对已配置 API 基础 URL 的 SendPro API 资源调用。

工具

读取工具:

工具描述
flowmailer_request通用的相对路径 SendPro API 请求。在只读模式下,仅接受 GET。
flowmailer_endpoint_catalog列出此服务已知的 SendPro 端点。
flowmailer_list_messages使用 SendPro 引用范围分页列出消息。
flowmailer_get_message按 ID 获取一条消息。
flowmailer_get_message_archive获取消息的归档内容元数据。
flowmailer_get_message_error_archive获取消息的归档错误内容。
flowmailer_get_recipient获取收件人信息。
flowmailer_list_resource列出常见资源,例如流程、模板、发件人域名、源和统计信息。

写入工具,仅在 SENDPRO_READ_ONLY=false 时可用:

工具描述
flowmailer_submit_message提交电子邮件或 SMS 消息。
flowmailer_simulate_message模拟电子邮件或 SMS 消息。
flowmailer_resend_message按 ID 重新发送消息。

由于公共 SendPro API 和媒体类型在多个地方仍使用 FlowMailer 命名,工具名称目前保留 FlowMailer 前缀。为便于发现,软件包名称和文档同时使用 SendPro 和 FlowMailer。

示例

列出消息:

{
  "method": "GET",
  "path": "/{account_id}/messages",
  "matrix": {
    "daterange": "2026-05-01T00:00:00Z,2026-05-20T00:00:00Z"
  },
  "query": {
    "addevents": true,
    "sortfield": "INSERTED",
    "sortorder": "ASC"
  },
  "range": "items=:10"
}

通过便捷工具列出流:

{
  "resource": "flows"
}

仅在 SENDPRO_READ_ONLY=false 时提交消息:

{
  "body": {
    "messageType": "EMAIL",
    "headerFromAddress": "[email protected]",
    "headerToAddress": "[email protected]",
    "subject": "Hello",
    "text": "Message body"
  }
}

开发

npm install
npm run check

常用命令:

npm run dev
npm run build
npm run typecheck
npm test
npm run inspect

有关仓库结构、徽章、发布规范和维护设置,请参阅 docs/repository-health.md。

发布

此软件包以 sendpro-flowmailer-mcp 的名称发布到 npm,且仓库包含用于提交到注册表的 MCP Registry 元数据。

发布到 npm:

npm publish --access public

对于官方 MCP Registry,请在 npm 软件包创建后发布 server.json。npm 软件包包含:

{
  "mcpName": "io.github.mestika/sendpro-flowmailer-mcp"
}

发布与版本

本项目使用语义化版本标签,例如 v0.1.0、v0.1.1 和 v1.0.0。

使用:

npm run version:patch  # bug fixes and small documentation-only release updates
npm run version:minor  # new backwards-compatible tools or features
npm run version:major  # breaking changes
git push origin main --follow-tags

然后根据新标签创建 GitHub Release。GitHub Release 是面向公众的变更日志条目;Git 标签对应精确的源代码快照。完整检查清单请参阅 docs/releasing.md。

安全

切勿提交真实的 SendPro 凭据。请使用 MCP 客户端环境变量、Shell 环境变量或本地 .env 文件。

有关漏洞报告和运维说明,请参阅 SECURITY.md。

许可证

MIT。请参阅 LICENSE。

评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。