SendPulse聊天机器人的MCP服务器
该项目是 模型上下文协议(MCP) 服务器设计用于与 SendPulse聊天机器人API它允许大型语言模型(LLM)通过一组标准化的工具与SendPulse API交互,如OpenAI中的模型。
此服务器使用TypeScript构建,并使用Express框架在Node.js上运行。
特性
服务器向LLM公开了全局和通用的、特定于通道的工具的组合。
全球工具
这些工具提供通用的、全账户的信息。
get_account_info:返回有关当前SendPulse帐户的信息,包括定价计划、消息计数、机器人程序、联系人等。get_bots_list:返回所有连接的聊天机器人的列表,其中包含每个聊天机器人的详细信息。get_dialogs:返回所有频道的对话框列表,支持分页和排序。
通用工具
这些工具在特定通道上执行操作。他们需要一个 channel 要指定的参数。
send_message:向联系人发送短信。
- channel:要使用的频道。支持的值: whatsapp, telegram, instagram, messenger, livechat, viber. - contact_id:收件人的ID。 - text:消息内容。
认证
服务器支持两种灵活的方法来验证发送到SendPulse API的请求,这两种方法是在每次会话的基础上处理的。
方法1:API ID&Secret(推荐)
客户端可以通过发送两个自定义HTTP头来提供SendPulse API凭据:
x-sp-id:您的SendPulse API ID。x-sp-secret:您的SendPulse API机密。
收到这些标头后,MCP服务器将自动执行OAuth 2.0 client_credentials 流从SendPulse获取临时访问令牌。这些令牌缓存在内存中,以提高来自同一用户(同一API ID)的后续请求的性能。
方法2:直接OAuth令牌
客户端可以直接提供预先存在的有效SendPulse OAuth 2.0令牌。这通过两种方式得到支持:
- 经由
Authorization标题(标准):
- Authorization: Bearer
- 通过MCP
initialize请求正文(传统/兼容性):
- 作为MCP JSON配置的一部分。
入门指南
先决条件
- (建议使用v18或更高版本)
- (通常随Node.js一起提供)
安装
- 克隆存储库(如果适用)。
- 安装项目依赖项:
npm install构建
要构建项目,请运行以下命令。
npm run build运行服务器
项目构建完成后,您可以启动服务器:
npm start您应该在控制台中看到一条确认消息: SendPulse MCP HTTP Server running on http://localhost:3000/mcp
使用ngrok暴露TEST服务器
为了使您的本地服务器可以访问OpenAI沙箱等服务,您需要将其暴露在互联网上。您可以使用 吸烟 为了这个目的。打开A 新终端窗口 并运行:
ngrok http 3000Ngrok将为您提供一个公共 https:// URL(例如。, https://random-string.ngrok-free.app).使用此URL(https://random-string.ngrok-free.app/mcp)在LLM客户端中配置MCP工具时。
注: 要绕过ngrok浏览器警告页面,您可能需要配置LLM客户端,以便在每次请求时发送额外的标头,例如: ngrok-skip-browser-warning: "true".
