Skip to main content
Glama
MSPbotsAI
by MSPbotsAI

nextiva-mcp

MCP-сервер для Nextiva (платформа контакт-центра, построенная на приобретённом продукте Thrio — хост API: login.thrio.com / *.thrio.io). Предоставляет пользователей, кампании, контакты, очереди и историю рабочих элементов из API данных и аналитики Thrio в виде MCP-инструментов.

Примечание: собственная интеграция MSPbots зарегистрирована под названием «Nextiva» (subjectCode=NEXTIVA); сам базовый API и вся документация ссылаются на «Thrio» — продукт контакт-центра, который приобрела Nextiva. Данный MCP покрывает ровно те 5 методов, которые настроены в самой MSPbots.

Обзор

  • HTTP-сервис без состояния. Учётные данные никогда не сохраняются — каждый запрос передаёт собственные имя пользователя и пароль через заголовки, которые используются только в течение времени обработки этого одного запроса.

  • Поддерживает одновременные запросы; изоляция учётных данных для каждого запроса реализуется через Python contextvars, а не через глобальный/общий клиентский экземпляр.

  • Точки входа: POST /mcp (протокол MCP) и GET /health (проверка работоспособности).

  • Порт по умолчанию: 8080 (настраивается через MCP_HTTP_PORT).

Related MCP server: five9-mcp

Аутентификация

Аутентификационный вызов Thrio возвращает и токен, и фактический адрес API для конкретного арендатора — Thrio развёрнут в нескольких региональных кластерах, поэтому единственного фиксированного узла data-plane не существует:

  1. GET https://login.thrio.com/provider/token-with-authorities с HTTP Basic Auth (username:password) → {"location": "https://<tenant-cluster>.thrio.io", "token": "..."}.

  2. Затем каждый реальный вызов к данным/аналитике идёт на {location} (а не на login.thrio.com), а токен передаётся как есть в заголовке Authorizationбез префикса Bearer .

Поскольку сохранять сессию не нужно, этот сервер выполняет новую аутентификацию при каждом вызове инструмента — между MCP-запросами ничего не кэшируется и не сохраняется.

Параметры авторизации в заголовках

Заголовок

Тип

Обязателен

Значение по умолчанию

Допустимые значения

Описание

Пример

X-Nextiva-Username

string

да

нет

нет

Имя пользователя учётной записи Thrio/Nextiva

admin@example.com

X-Nextiva-Password

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-уровня этого сервера.

Переменные окружения

Переменная

Тип

Обязателен

Значение по умолчанию

Описание

MCP_HTTP_PORT

int

нет

8080

HTTP-порт для прослушивания

MCP_HTTP_HOST

string

нет

0.0.0.0

HTTP-адрес для прослушивания

NEXTIVA_AUTH_URL

string

нет

https://login.thrio.com/provider/token-with-authorities

Фиксированная точка входа для получения token/location

Конечная точка MCP

  • POST /mcp — протокол MCP (потоковый HTTP-транспорт, streamable HTTP transport)

  • GET /health — проверка работоспособности, возвращает {"status": "ok"} (чисто локальная проверка, не обращается к API Nextiva/Thrio)

Список инструментов

Все 5 инструментов предназначены только для чтения (readOnlyHint=True, idempotentHint=True); инструментов записи/удаления нет.

Инструмент

Функция

Параметры

nextiva_get_users

Список всех пользователей аккаунта (агенты/техники)

start (необязательно, смещение пагинации)

nextiva_get_campaigns

Список маркетинговых кампаний по звонкам (campaign)

range_type (необязательно, по умолчанию lastweek), start (необязательно)

nextiva_get_contacts

Список контактов (клиенты/лиды)

start (необязательно)

nextiva_get_queues

Список очередей звонков/чатов/писем

start (необязательно)

nextiva_get_workitems_history

История работы элементов (звонки/чаты/SMS/письма) и сводная статистика

range_type (необязательно, по умолчанию lastweek)

Описание каждого параметра находится в схеме параметров соответствующего инструмента (видно через tools/list), а не в этой таблице; здесь приведён только краткий справочник, и имена параметров в таблице синхронизированы с кодом.

Успешные ответы — это JSON вендора, сериализованный компактно (без pretty-printing, ensure_utf8=False) и ограниченный ~20 000 символов — слишком большой ответ списком обрезается с маркерами truncated/original_count вместо возврата целиком. У этих endpoint нет задокументированного вендором параметра limit/размера страницы (пагинация — только сдвиг start, см. «Известные пробелы» ниже), поэтому ограничивать, кроме этого автоматического предела по символам, нечего.

Ошибки возвращаются в виде JSON-конверта (а не исключения/HTTP-ошибки), например:

{"error": {"code": "upstream_error", "message": "...", "retryable": true}}

code — одно из not_configured / unauthorized / not_found / invalid_argument / rate_limited / upstream_error; сопоставляется с HTTP-статусом кода API Thrio (см. error_envelope/NextivaError.to_envelope в api_client.py). Исходящие запросы используют таймаут подключения 5 секунд и таймаут ответа при чтении 30 секунд, а также до 3 повторных попыток с экспоненциальной задержкой записи при ответах 429/5xx (учитывая 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": {}
    }
  }'

Live-verified (2026-07-30) against a real tenant — all 5 tools were called end-to-end through this running server: nextiva_get_users returned 101 real users; nextiva_get_campaigns returned 9 real campaigns (e.g. "Nextiva - Transfers"); nextiva_get_contacts returned 99 real contacts; nextiva_get_queues returned 18 real queues; and nextiva_get_workitems_history returned real summary totals (e.g. 297 inbound, 195 outbound, 500 contacts over the last 7 days) — all with the real tenant cluster host dynamically resolved at the login step (https://mancitychamp.io).

Справочник по API

  • Публичный, без необходимости входа: https://api.thrio.com/ (Postman-generated documentation covering Authentication, Objects/Data API, Analytics and much more)

Известные пробелы

  • Область охвата — ровно 5 endpoints, сконфигурированных MSPbots, а не вся поверхность API вендора — в API Thrio также представлены действия Workitem, List Management, Dashboards, Recordings, Contact Consent, State DID, Chat, CRM, Client, Number Verification, WFM, TEAMS, Callback и другие (по навигации публичной документации); они не входят в область данного MCP.

  • Пагинация представляет собой offset start, что подтверждено эмпирически (передача start=1 смещала окно результатов на одну и обновляла поле previous в ответе) — публичная документация вендора описывает это менее явно, чем реальная форма запроса/ответа, поэтому это было проверено на живом API, а не просто взято из текстовой документации.

  • Описание в документации вендора этап «запроса сессии» (POST {location}/users/api/login) этим сервером НЕ используется — он кажется необходимым только для создания полной интерактивной сессии агента (например, для телефонии/ACD-состояния), но не для чтения данных/аналитических endpoints, которые использует MSPbots; они корректно работали только с токеном Authentication. Это подтверждено успешными вызовами всех 5 endpoints без этого этапа.

F
license - not found
Not graded
quality - not tested
C
maintenance

Maintenance

Maintainers
Response time
Release cycle
Releases (12mo)
Commit activity

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

  • A
    license
    B
    quality
    D
    maintenance
    MCP 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.
    12
    1
    MIT
  • A
    license
    Not graded
    quality
    B
    maintenance
    MCP server that connects AI assistants to Five9 contact center, allowing management of campaigns, agents, lists, and statistics via natural language commands.
    6
    MIT
  • F
    license
    Not graded
    quality
    C
    maintenance
    MCP server for Bvoip / 1Stream that exposes call-reporting, phone-status, and CRM-extension-mapping endpoints as MCP tools.
  • F
    license
    Not graded
    quality
    C
    maintenance
    MCP server for Oitvoip (NetSapiens) that exposes domain, reseller, device, subscriber, and CDR tools via the ns-api.

View all related MCP servers

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.

View all MCP Connectors

Latest Blog Posts

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