Exotelmcp
E

Exotelmcp

ExotelMCP是一个模型上下文协议(MCP)服务器,提供Claude AI与Exotel通信API的无缝集成,支持短信、语音通话和快速音频工具服务。
2分
4.7K

安装

复制以下命令到你的Client进行配置
注意:您的密钥属于敏感信息,请勿与任何人分享。

🚀 ExotelMCP

ExotelMCP 是一个模型上下文协议(MCP)服务器,它能实现 Claude AI 与 Exotel 的短信和语音通话服务通信 API 的无缝集成,还提供便捷的音频工具。

🚀 快速开始

在使用 Exotel MCP 服务器之前,请确保你已完成以下准备工作:

  • 安装最新版本的 Claude 桌面应用程序
  • 安装 Node.js 和 npm,这是 MCP 远程连接所必需的。
  • 拥有一个 Exotel 账户,并获取 API 凭证。
  • 若尚未安装 MCP 远程包,请进行安装。

安装 MCP 远程包

如果你还没有安装 mcp-remote,可以运行以下命令进行安装:

npm install -g mcp-remote

验证安装是否成功:

npm list -g mcp-remote

Claude 桌面配置

要将 ExotelMCP 与 Claude 集成,请在你的 Claude 桌面设置中添加以下配置: 位置:Claude 桌面 → 设置 → 开发者 → 编辑配置

{
  "mcpServers": {
    "exotel": {
      "command": "npx",
      "args": [
        "mcp-remote",
        "http://ec2-13-127-242-200.ap-south-1.compute.amazonaws.com:8080/mcp",
        "--allow-http",
        "--header",
        "Authorization:${AUTH_HEADER}"
      ],
      "env": {
        "AUTH_HEADER": "{'token':'YOUR_EXOTEL_TOKEN','from_number':'YOUR_FROM_NUMBER','dlt_temp':'YOUR_DLT_TEMPLATE','dlt_entity':'YOUR_DLT_ENTITY','caller_id':'YOUR_CALLER_ID','api_domain':'https://YOUR_SUB_DOMAIN','account_sid':'YOUR_ACCOUNT_SID','exotel_portal_url':'YOUR_EXOTEL_DASHBOARD_BASE_URL'}"
      }
    }
  }
}

所需凭证

请将占位符值替换为你实际的 Exotel 凭证:

YOUR_EXOTEL_TOKEN:Base64 编码的 API 凭证

此令牌是通过将你的 Exotel API 密钥和密钥以 Base64 格式编码创建的。 步骤 1:从 Exotel 仪表板获取 API 凭证

  1. 登录到你的 Exotel 仪表板
  2. 导航到 设置API 设置
  3. 复制你的 API 密钥API 密钥步骤 2:创建 Base64 令牌 格式:api_key:api_secret(用冒号分隔) 示例:如果你的 API 密钥是 abc123,API 密钥是 xyz789,则将它们组合为:abc123:xyz789 步骤 3:编码为 Base64 你可以使用以下任何方法: 在线工具
  • 访问 base64encode.org
  • 输入你的 api_key:api_secret 字符串。
  • 复制编码结果。 命令行(Mac/Linux)
echo -n "your_api_key:your_api_secret" | base64

命令行(Windows)

[Convert]::ToBase64String([Text.Encoding]::UTF8.GetBytes("your_api_key:your_api_secret"))

其他所需值

  • YOUR_FROM_NUMBER:你在 Exotel 注册的电话号码(从仪表板 → 号码获取)。
  • YOUR_DLT_TEMPLATE:用于短信合规性的 DLT 模板 ID(从仪表板 → DLT 获取)。
  • YOUR_DLT_ENTITY:用于短信合规性的 DLT 实体 ID(从仪表板 → DLT 获取)。
  • YOUR_CALLER_ID:你注册的来电显示 ID(从仪表板 → 号码获取)。
  • YOUR_ACCOUNT_SID:你的 Exotel 账户 SID(从仪表板 → API 设置获取)。
  • YOUR_SUB_DOMAIN:你的 Exotel 账户子域名(从仪表板 → API 设置获取)。
  • YOUR_EXOTEL_DASHBOARD_BASE_URL:你的 Exotel 仪表板基础 URL。

配置完成后,你可以使用 Claude 通过自然语言命令与 Exotel 服务进行交互。只需描述你想要执行的操作,Claude 将通过 MCP 服务器处理 API 调用。 示例命令

  • "向 +919999999999 发送短信,内容为 '来自 Claude 的问候!'"
  • "拨打 +919999999999"
  • "检查我最后一条短信的发送状态"
  • "将 +919999999999 与 +919888888888 进行通话连接" 音频命令
  • "播放来自 https://example.com/song.mp3 的音频"
  • "打开音频播放器界面"
  • "下载来自 https://example.com/podcast.mp3 的音频"

✨ 主要特性

  • 📱 短信服务:发送单条、批量和动态短信,符合 DLT 合规要求。
  • ☎️ 语音通话:发起语音通话、连接号码并与通话流程集成。
  • 📊 状态跟踪:实时交付状态和回调管理。
  • 🎵 快速音频工具:一键音频播放、下载和访问网络播放器。
  • 🔐 安全认证:基于令牌的认证系统。
  • 🤖 Claude AI 集成:通过 MCP 协议与 Claude 直接集成。

📦 安装指南

安装 MCP 远程包

如果你还没有安装 mcp-remote,可以运行以下命令进行安装:

npm install -g mcp-remote

验证安装是否成功:

npm list -g mcp-remote

💻 使用示例

基础用法

配置完成后,你可以使用 Claude 通过自然语言命令与 Exotel 服务进行交互。例如:

"Send an SMS to +919999999999 saying 'Hello from Claude!'"

高级用法

在复杂场景下,你可以组合多个操作,如同时发送多条短信和发起语音通话:

"Send an SMS to +919999999999 saying 'Hello from Claude!' and call +919888888888"

📚 详细文档

API 服务

短信服务

发送单条短信

向特定电话号码发送符合 DLT 合规要求的单条短信。 示例

向 +919999999999 发送短信,内容为 "来自 Claude 的问候!",使用 DLT 模板 1107160086208866373 和实体 1101428740000012125
发送批量短信(相同消息)

同时向多个收件人发送相同的消息。 示例

向以下号码发送 "欢迎使用我们的服务!":+919999999999、+919888888888、+919777777777
发送动态批量短信

向多个收件人发送个性化消息,每个消息内容不同。 示例

发送个性化消息:向 +919999999999 发送 "你好,John",向 +919888888888 发送 "你好,Jane"

语音服务

发起语音通话

使用你注册的 Exotel 号码向任何电话号码发起语音通话。 示例

从我的注册号码拨打 +919999999999
连接两个号码

在单个通话中桥接两个电话号码,将它们连接在一起。 示例

在会议通话中连接 +919999999999 和 +919888888888
通话流程集成

将电话号码连接到预定义的 Exotel 通话流程或 IVR 系统。 示例

将 +919999999999 连接到通话流程应用 ID 12345

状态与跟踪服务

检查短信发送状态

获取已发送短信的实时发送状态和详细信息。 示例

检查发送到 +919999999999 的短信的发送状态
检查语音通话状态

检索语音通话的详细信息、时长和状态。 示例

获取拨打到 +919999999999 的通话详细信息
获取通话历史记录

检索批量通话详细信息和历史记录以进行分析。 示例

获取从 +919999999999 拨打的所有通话详细信息
号码信息

获取电话号码的元数据和信息。 示例

获取电话号码 +919999999999 的信息

音频服务

快速音频工具

一键式快速音频播放和管理工具。

快速播放音频

获取可点击的链接,以便在浏览器中播放任何音频 URL。 示例

播放来自 https://example.com/song.mp3 的音频
打开音频播放器

访问基于网络的音频播放器界面以进行全面控制。 示例

打开音频播放器界面
快速下载

获取任何音频文件的直接下载链接。 示例

下载来自 https://example.com/song.mp3 的音频

🔧 技术细节

认证

Exotel MCP 服务器使用安全的基于令牌的认证。你所有的 Exotel 凭证都在 Claude 桌面配置中进行配置,并用于与 Exotel 的 API 进行认证。

安全特性

  • 安全令牌处理:你的 Exotel API 令牌得到安全处理。
  • 用户隔离:每个用户的数据都保持独立和安全。
  • DLT 合规性:内置支持印度短信的 DLT(分布式账本技术)要求。

获取你的 Exotel 凭证

  1. 登录到你的 Exotel 仪表板
  2. 导航到设置 → API 设置 以获取你的 API 密钥、API 密钥和账户 SID。
  3. 转到号码部分 以记录你注册的电话号码和来电显示 ID。
  4. 访问 DLT 部分 以获取你的 DLT 模板和实体 ID(印度短信合规性必需)。
  5. 使用 API 密钥和密钥创建你的 Base64 令牌,如 配置 部分所述。 所有这些凭证都应正确格式化并添加到你的 Claude 配置中,如上所示。

托管与部署

🌐 重要提示:需要公共域名

此应用程序必须使用公共域名并启用 HTTPS 进行托管,原因如下:

  1. MCP 远程连接:Claude 桌面通过公共互联网连接到你的服务器。
  2. Exotel 网络钩子:Exotel 需要向你的服务器发送回调通知。
  3. 安全性:Claude 与你的服务器之间的安全通信需要 HTTPS。
  4. 生产就绪:确保 SMS/语音状态更新的可靠服务。

部署选项

Docker 设置
FROM openjdk:21-jdk-slim

WORKDIR /app
COPY target/mcp_api-0.0.1-SNAPSHOT.jar app.jar

EXPOSE 8080
CMD ["java", "-jar", "app.jar"]
# 构建并运行
docker build -t exotel-mcp .
docker run -p 8080:8080 -e EXOTEL_BASE_URL=https://your-domain.com exotel-mcp
使用 HTTPS 的 Docker Compose
version: '3.8'
services:
  app:
    build: .
    ports:
      - "8080:8080"
    environment:
      - EXOTEL_BASE_URL=https://your-domain.com
  
  nginx:
    image: nginx:alpine
    ports:
      - "80:80"
      - "443:443"
    volumes:
      - ./nginx.conf:/etc/nginx/nginx.conf
      - ./ssl:/etc/ssl/certs

环境配置

生产环境变量
# 服务器配置
SERVER_PORT=8080
SPRING_PROFILES_ACTIVE=production

# 应用程序 URL(关键 - 必须与你的域名匹配)
EXOTEL_BASE_URL=https://your-domain.com

# 安全性
SPRING_SECURITY_REQUIRE_SSL=true

# 日志记录
LOGGING_LEVEL_ROOT=WARN
LOGGING_LEVEL_COM_EXAMPLE_MCP_API=INFO
更新 Claude 配置
{
  "mcpServers": {
    "exotel": {
      "command": "npx",
      "args": [
        "mcp-remote",
        "https://your-domain.com/mcp",
        "--allow-http",  // 如果你的服务器运行在 HTTPS 上,请删除此选项
        "--header",
        "Authorization:${AUTH_HEADER}"
      ],
      "env": {
        "AUTH_HEADER": "{'token':'YOUR_EXOTEL_TOKEN','from_number':'YOUR_FROM_NUMBER','dlt_temp':'YOUR_DLT_TEMPLATE','dlt_entity':'YOUR_DLT_ENTITY','caller_id':'YOUR_CALLER_ID','api_domain':'https://YOUR_SUB_DOMAIN','account_sid':'YOUR_ACCOUNT_SID','exotel_portal_url':'YOUR_EXOTEL_DASHBOARD_BASE_URL'}"
      }
    }
  }
}

生产清单

  • [ ] 域名:已注册并配置 DNS。
  • [ ] HTTPS:已安装并正常工作的 SSL 证书。
  • [ ] 服务器:应用程序在端口 8080 上运行。
  • [ ] 防火墙:端口 80、443 和 8080 已开放。
  • [ ] 监控:已配置健康检查和日志记录。

音频服务要求

快速音频工具

  • ✅ 可在任何具有互联网访问权限的服务器上运行。
  • ✅ 无需特殊硬件。
  • ✅ 基于浏览器的播放。
  • ✅ 支持所有常见音频格式(mp3、wav、ogg 等)。

测试你的部署

1. 测试 MCP 端点
curl https://your-domain.com/mcp
# 应返回数据:{"type": "connection_established"}
3. 使用 Claude 进行测试
  • 使用你的域名更新 Claude 配置。
  • 重启 Claude 桌面。
  • 发送测试消息:"使用 DltEntityId=XXXXXXX、From=EXOTEL、DltTemplateId=XXXXXXXXX 向 +919999999999 发送测试短信"

部署故障排除

连接问题
  • 检查防火墙设置。
  • 验证 DNS 传播:nslookup your-domain.com
  • 测试 HTTPS:curl -I https://your-domain.com
应用程序问题
  • 检查应用程序日志:tail -f logs/mcp-server.log
  • 验证环境变量。
  • 测试数据库连接。
回调问题
  • 确保网络钩子可以访问你的服务器。
  • 检查 Exotel 回调 URL 配置。
  • 验证回调的 HTTPS 是否正常工作。

📄 许可证

文档中未提及相关信息。

📄 支持

获取帮助

  • 配置问题:仔细检查你的 Exotel 凭证和 Claude 配置。
  • 部署问题:验证域名、HTTPS 和服务器可访问性。
  • API 使用:参考 API 服务 部分的使用示例。
  • Exotel 账户:联系 Exotel 支持解决账户相关问题。
  • DLT 合规性:确保你的 DLT 模板和实体 ID 已正确注册。

常见问题

"连接失败" 错误

  • 验证你的域名是否可访问:curl https://your-domain.com/mcp
  • 检查你的 mcp-remote 安装:npm list -g mcp-remote
  • 确保 HTTPS 已正确配置。
  • 验证防火墙允许端口 443 上的传入连接。

"认证失败" 错误

  • 验证你的 Exotel API 令牌是否正确从 api_key:api_secret 格式进行 Base64 编码。
  • 仔细检查你从 Exotel 仪表板 → 设置 → API 设置获取的 API 密钥和 API 密钥。
  • 确保在编码之前 API 密钥和密钥之间包含冒号 (:) 分隔符。
  • 检查你的账户 SID 是否与你的 Exotel 账户匹配。
  • 确保你的电话号码已正确在 Exotel 注册。

短信未送达

  • 验证 DLT 模板和实体 ID 是否正确。
  • 检查你的消息内容是否与注册的 DLT 模板匹配。
  • 确保收件人号码有效且可访问。
  • 检查回调网络钩子是否正在接收状态更新。

网络钩子/回调问题

  • 验证你的服务器是否可从互联网访问。
  • 检查 HTTPS 证书是否有效。
  • 确保回调 URL 使用你的公共域名。
  • 手动测试网络钩子端点。

资源


🌐 请记住:此应用程序在生产环境中使用时需要一个启用 HTTPS 的公共域名。该域名对于 Claude 桌面连接和 Exotel 网络钩子交付至关重要。

🚀 准备部署了吗? 遵循上述托管指南,开始通过 Claude AI 发送短信、拨打电话和使用音频工具!

D
Duckduckgo MCP Server
已认证
DuckDuckGo搜索MCP服务器,为Claude等LLM提供网页搜索和内容抓取服务
Python
57.6K
4.3分
F
Figma Context MCP
Framelink Figma MCP Server是一个为AI编程工具(如Cursor)提供Figma设计数据访问的服务器,通过简化Figma API响应,帮助AI更准确地实现设计到代码的一键转换。
TypeScript
55.5K
4.5分
F
Firecrawl MCP Server
Firecrawl MCP Server是一个集成Firecrawl网页抓取能力的模型上下文协议服务器,提供丰富的网页抓取、搜索和内容提取功能。
TypeScript
96.3K
5分
M
Minimax MCP Server
MiniMax Model Context Protocol (MCP) 是一个官方服务器,支持与强大的文本转语音、视频/图像生成API交互,适用于多种客户端工具如Claude Desktop、Cursor等。
Python
45.4K
4.8分
E
Edgeone Pages MCP Server
EdgeOne Pages MCP是一个通过MCP协议快速部署HTML内容到EdgeOne Pages并获取公开URL的服务
TypeScript
24.4K
4.8分
C
Context7
Context7 MCP是一个为AI编程助手提供实时、版本特定文档和代码示例的服务,通过Model Context Protocol直接集成到提示中,解决LLM使用过时信息的问题。
TypeScript
71.3K
4.7分
B
Baidu Map
已认证
百度地图MCP Server是国内首个兼容MCP协议的地图服务,提供地理编码、路线规划等10个标准化API接口,支持Python和Typescript快速接入,赋能智能体实现地图相关功能。
Python
37.7K
4.5分
E
Exa Web Search
已认证
Exa MCP Server是一个为AI助手(如Claude)提供网络搜索功能的服务器,通过Exa AI搜索API实现实时、安全的网络信息获取。
TypeScript
38.9K
5分
AIBase
智启未来,您的人工智能解决方案智库
© 2025AIBase