Sinch Engage / MessageMedia MCP server
官方Sinch Engage(在澳大利亚为Sinch MessageMedia)MCP服务器,将Sinch Engage API作为MCP工具提供。
文档
Sinch Engage MCP 服务器
本仓库包含 Sinch Engage(在澳大利亚为 Sinch MessageMedia)MCP 服务器的源代码,该服务器将 Sinch Engage API 作为 MCP 工具提供。
工具概览
以下是 MCP 服务器中可用的工具列表(所有电话号码必须使用 E.164 格式,例如澳大利亚号码为 +61400000000)。
消息
| 工具 | 描述 | 类别 | 模式 |
|---|---|---|---|
| sendMessage | 向手机号码发送短信 | messaging | write |
报告
| 工具 | 描述 | 类别 | 模式 |
|---|---|---|---|
| getDetailedMessageReport | 生成指定日期范围内已发送和已接收消息的详细报告,可按方向、账户、元数据和分组进行可选筛选。 | reporting | read |
| getSummaryMessageReport | 生成指定日期范围内已发送和已接收消息的摘要报告,可按方向、账户和分组进行可选筛选。 | reporting | read |
| getSummaryInsightMessageReport | 获取指定日期范围内已发送和已接收消息的预编译摘要报告,可按方向、账户和分组进行可选筛选。 | reporting | read |
| getAsyncReportStatus | 通过 report_id 检索异步报告请求的状态。 | reporting | read |
| getAsyncReportFields | 检索异步详细报告导出可用的字段列表。 | reporting | read |
| requestAsyncDetailedMessageReport | 请求指定日期范围内已发送和已接收消息的异步详细报告,可设置报告格式和目标的交付选项。 | reporting | read |
联系人
| 工具 | 描述 | 类别 | 模式 |
|---|---|---|---|
| getContactGroups | 检索与账户关联的联系人组(列表)的分页列表。 | reporting | read |
| getContactGroupDetails | 检索由 group_id 标识的特定联系人组(列表)的详细信息。 | reporting | read |
| getContactWithSearch | 检索联系人列表,可按组、电话号码、姓名和渠道类型进行筛选。 | reporting | read |
| createContactGroup | 使用指定名称和可选别名创建新的联系人组(列表)。 | reporting | write |
| createContact | 使用指定详细信息创建新联系人。 | reporting | write |
| updateContact | 使用新详细信息更新由 contact_id 标识的现有联系人。 | reporting | write |
| deleteContactGroup | 删除由 group_id 标识的特定联系人组(列表)。 | reporting | delete |
入门指南
前提条件
- Node.js >= 16.0
- 一个已配置的 Sinch Engage 账户
- Claude Desktop(或任何其他 MCP 客户端)。本 README 主要针对 Claude Desktop,但该 MCP 服务器可与任何 MCP 客户端一起使用。
API 凭证
要使用 MCP 工具所调用的 API,您需要以下凭证:
SINCH_ENGAGE_API_KEY和SINCH_ENGAGE_API_SECRETSinch Engage 凭证
MCP 服务器配置
Sinch Engage MCP 服务器以 NPM 包的形式提供执行。以下是在 Claude Desktop 配置文件(claude_desktop_config.json)中进行设置的方法。请记得在环境变量中填入您自己的凭证和区域(目前支持 EU 和 AU):
{
"mcpServers": {
"Sinch Engage": {
"command": "npx",
"args": [
"-y",
"@sinch-engage/mcp-server"
],
"env": {
"SINCH_ENGAGE_API_KEY": "<your-key>",
"SINCH_ENGAGE_API_SECRET": "<your-secret>",
"SINCH_ENGAGE_REGION": "<region>",
"MCP_TOOL_CATEGORIES": "reporting, contacts, messaging",
"MCP_TOOL_MODES": "read, write, delete"
}
}
}
}
在本地运行 MCP 服务器
选项 1:使用 Claude Desktop 通过 stdio 启动 MCP 服务器
要在本地使用 Claude Desktop 运行 MCP 服务器,您需要克隆仓库并构建 MCP 服务器。此选项适用于本地开发和测试。
步骤 1:克隆仓库
git clone https://github.com/messagemedia/sinch-engage-mcp-server.git
步骤 2:安装依赖项
cd sinch-engage-mcp-server
npm install
步骤 3:设置 Claude Desktop 配置
以下是在 Claude Desktop 配置文件(claude_desktop_config.json)中配置 MCP 服务器的示例,您可以在其中提供 Sinch Engage 凭证和区域(EU 或 AU):
{
"mcpServers": {
"Sinch Engage": {
"command": "node",
"args": ["/path/to/sinch-engage-mcp-server/src/index.js"],
"env": {
"SINCH_ENGAGE_API_KEY": "<your-key>",
"SINCH_ENGAGE_API_SECRET": "<your-secret>",
"SINCH_ENGAGE_REGION": "<region>",
"MCP_TOOL_CATEGORIES": "reporting, contacts, messaging",
"MCP_TOOL_MODES": "read, write, delete"
}
}
}
}
步骤 4:(可选)筛选 MCP 服务器中可用的工具
工具过多意味着上下文更大,令牌使用量更高,并且 LLM 在选择正确工具时更容易混淆。
您可以通过在 Claude Desktop 配置选项中提供 MCP_TOOL_CATEGORIES 来筛选 MCP 服务器中可用的工具。
如果您想按权限筛选工具,可以使用 MCP_TOOL_MODES 仅选择可以读取、写入或删除数据的工具,或它们的任意组合。