nextiva-mcp
nextiva-mcp
Nextiva(联络中心平台,基于收购的 Thrio 产品构建——API 主机为 login.thrio.com / *.thrio.io)的 MCP 服务器。将 Thrio 数据和分析 API 的用户、活动、联系人、队列以及工作项历史记录作为 MCP 工具暴露。
命名说明:MSPbots 自身的集成注册名为 "Nextiva" (
subjectCode=NEXTIVA);底层 API 及所有文档 均引用 "Thrio",即 Nextiva 收购的联络中心产品。本 MCP 仅覆盖 MSPbots 自身配置的 5 个方法。
概述
无状态 HTTP 服务。凭据不会被持久化——每个请求 通过请求头提供自己的用户名/密码,仅用于该 单个请求的生命周期。
支持并发请求;通过 Python
contextvars实现 每个请求的凭据隔离,而非使用全局/共享客户端实例。入口点:
POST /mcp(MCP 协议)和GET /health(健康检查)。默认端口:
8080(可通过MCP_HTTP_PORT配置)。
Related MCP server: five9-mcp
认证
Thrio 的认证调用会返回同时包含令牌和实际租户级 API 主机——Thrio 部署在多个区域集群中,因此 不存在单一固定的数据平面主机名:
GET https://login.thrio.com/provider/token-with-authorities,使用 HTTP 基本认证(username:password)→{"location": "https://<tenant-cluster>.thrio.io", "token": "..."}。所有实际的数据/分析调用随后发送到
{location}(而非login.thrio.com),令牌按原样放入Authorization请求头——不带Bearer前缀。
由于无需保留会话,本服务器在每次工具调用时都会重新进行认证 ——MCP 请求之间不会缓存或持久化任何内容。
HEADER 参数说明
Header | 类型 | 是否必填 | 默认值 | 枚举值 | 字段描述 | 示例 |
| string | 是 | 无 | 无 | Thrio/Nextiva 账号用户名 |
|
| string | 是 | 无 | 无 | 对应密码 |
|
缺少任一请求头则返回 401:
{
"error": "Missing credentials",
"message": "This server requires the X-Nextiva-Username and X-Nextiva-Password headers",
"required_headers": ["X-Nextiva-Username", "X-Nextiva-Password"],
"optional_headers": []
}用户名/密码无效会在工具调用层面报错,而非 HTTP 层面的错误。
环境变量
变量 | 类型 | 是否必填 | 默认值 | 说明 |
| int | 否 |
| HTTP 监听端口 |
| string | 否 |
| HTTP 监听地址 |
| string | 否 |
| 登录换 token/location 的固定入口地址 |
MCP 端点
POST /mcp— MCP 协议(基于流式 HTTP 传输)GET /health— 健康检查,返回{"status": "ok"}(纯本地探测,不调用 Thrio/Nextiva API)
工具列表
全部 5 个工具均为只读(readOnlyHint=True,idempotentHint=True);没有写入/删除类工具。
工具 | 功能 | 参数 |
| 列出账号下所有用户(坐席/技术员) |
|
| 列出呼叫营销活动(campaign) |
|
| 列出联系人(客户/线索) |
|
| 列出呼叫/聊天/邮件队列 |
|
| 获取通话/聊天/短信/邮件工作项的历史活动及汇总统计 |
|
每个参数的详细说明见各工具的参数 schema(可通过 tools/list 查看),本表仅为快速参考——参数名与代码保持同步。
成功响应直接返回厂商的 JSON,采用紧凑序列化(无
美化输出,ensure_ascii=False),并限制在约 ~20,000 字符以内——
超长列表响应会被截断,并附带 truncated/original_count
标记,而非完整返回。这些端点没有厂商文档化的
limit/page-size 参数(分页仅通过 start
偏移量实现,参见下方已知限制),因此除上述
自动截断外,没有其他可限制的参数。
错误以 JSON 错误信封返回(而非异常/HTTP 错误),例如:
{"error": {"code": "upstream_error", "message": "...", "retryable": true}}code 取值为 not_configured / unauthorized / not_found /
invalid_argument / rate_limited / upstream_error,由
Thrio API 的 HTTP 状态码映射而来(参见 api_client.py 中的
error_envelope/NextivaError.to_envelope)。对外调用使用 5 秒连接 / 30 秒读取
超时,并在 429/5xx
响应时最多重试 3 次,采用带上限的指数退避
(并遵循 Retry-After)。
测试示例
# Health check
curl -s http://localhost:8080/health
# Call a tool via the MCP protocol (streamable HTTP) — requires an
# initialize handshake first per the MCP spec; abbreviated example below
# shows the tool-call request body only:
curl -s -X POST http://localhost:8080/mcp \
-H "X-Nextiva-Username: admin@example.com" \
-H "X-Nextiva-Password: <your-password>" \
-H "Content-Type: application/json" \
-H "Accept: application/json, text/event-stream" \
-H "mcp-session-id: <session-id-from-initialize>" \
-d '{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
"name": "nextiva_get_users",
"arguments": {}
}
}'已实测验证(2026-07-30)针对真实的 Nextiva/Thrio 租户,全部 5 个
工具均通过本运行中的服务器端到端调用:nextiva_get_users
返回了 101 个真实用户;nextiva_get_campaigns 返回了 9 个真实活动
(例如 "Nextiva - Transfers");nextiva_get_contacts 返回了 99 个真实
联系人;nextiva_get_queues 返回了 18 个真实队列;并且
nextiva_get_workitems_history 返回了真实的汇总统计(例如
最近 7 天内有 297 个呼入、195 个呼出、500 个联系人)——所有调用均
通过登录步骤动态解析租户的真实集群主机
(https://mancity.thrio.io)。
API 参考
公开文档,无需登录:https://api.thrio.com/(Postman 生成的 文档,涵盖 Authentication、Objects/Data API、Analytics 以及 更多内容)
已知限制
范围严格限定为 MSPbots 配置的 5 个端点,而非厂商的 完整 API 面——Thrio 的 API 还涵盖 Workitem 操作、List Management、Dashboards、Recordings、Contact Consent、State DID、Chat、 CRM、Client、Number Verification、WFM、TEAMS、Callbacks 等(参见 公开文档自身的导航);这些均不在本服务器范围内。
分页仅通过
start偏移量实现,已通过实测确认(传入start=1会使结果窗口偏移一条,并相应更新响应中的previous字段)——厂商公开文档对此的描述 不如请求/响应实际形态那么明确, 因此这是基于真实 API 验证得出的结论,而非仅凭 文档假设。厂商文档中描述的
session/login步骤(POST {location}/users/api/login)本服务器未使用——该步骤看起来 仅用于创建完整的交互式坐席会话(例如用于 电话/ACD 状态),而非 MSPbots 使用的只读数据/分析端点, 后者仅凭 Authentication 令牌即可正常工作。已通过在不使用该步骤的情况下成功调用全部 5 个端点得到确认。
This server cannot be installed
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Servers
- AlicenseBqualityDmaintenanceMCP server for managing Krystal Voice Caller tenants, including tenant config, DNC, call history, reception captures, digest send-now, Script Author draft chat, contact upload, outbound captures, and test-call tools.121MIT
- AlicenseNot gradedqualityBmaintenanceMCP server that connects AI assistants to Five9 contact center, allowing management of campaigns, agents, lists, and statistics via natural language commands.6MIT
- FlicenseNot gradedqualityCmaintenanceMCP server for Oitvoip (NetSapiens) that exposes domain, reseller, device, subscriber, and CDR tools via the ns-api.
Related MCP Connectors
Official MCP server for OmniDimension. Drive voice agents, dispatch calls, and run bulk campaigns.
Official EZTexting MCP server: SMS/MMS messaging, contacts, workflows, reports.
MCP server for Vonage API documentation, code snippets, tutorials, and troubleshooting.
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/MSPbotsAI/nextiva-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server