server — MCP-сервер для Claude Code: телефония через один контракт
Один MCP-сервер с 14 инструментами для звонков, SMS, записей и номеров. Меняете бэкенд — код агента остаётся прежним.
claude mcp add --env CALLMCP_CONFIG=<CALLMCP_CONFIG> --env CALLMCP_DEFAULT_DRIVER=<CALLMCP_DEFAULT_DRIVER> --transport stdio callmcp-server -- npx -y @callmcp/serverЧто делает server
CallMCP описывает один контракт на 14 инструментов: одинаковые схемы, одинаковые ошибки. Хоть хостинг, хоть локальный бэкенд, хоть свой ключ — набор инструментов меняется, а их форма нет. Драйвер-специфичные параметры уходят в options.<driver_id>, отдельных make_call_twilio не существует. Инструмент либо есть для вашего драйвера и работает по спецификации, либо его нет в tools/list.
Запуск: npx -y @callmcp/server. Перед подключением реального провайдера прогоните npx -y @callmcp/server doctor, для безопасного прохода — npx -y @callmcp/server --sandbox. Без настроенного драйвера сервер отказывает, а mock-драйвер доступен только через явную sandbox-конфигурацию. Готовые конфиги для Claude Desktop и Claude лежат в examples/.
Исходящие make_call и send_sms требуют валидный approval_id или совпадение с allowlist, и проверка сидит в ядре сервера — драйвер её не обойдёт. Основной путь согласования — MCP elicitation, запасной для клиентов без него — одноразовая ссылка. Покупка номеров (search_numbers, buy_number, configure_number) не требует подтверждения человека и умеет рассчитываться через x402, если драйвер просит предоплату.
Какие задачи решает
- позвонить клиенту из агента с подтверждением перед набором
- отправить SMS без отдельной обвязки под каждого провайдера
- купить и настроить номер прямо из сессии агента
- получать расшифровку звонка в реальном времени
- сменить телефонного провайдера без переписывания кода
Примеры запросов агенту
- Найди доступный номер в моём аккаунте и покажи, сколько он стоит
- Позвони на
+1...и продиктуй напоминание о встрече — сначала запроси подтверждение - Отправь SMS с кодом доступа на номер из allowlist
Как установить server
Командой платформы
claude mcp add --env CALLMCP_CONFIG=<CALLMCP_CONFIG> --env CALLMCP_DEFAULT_DRIVER=<CALLMCP_DEFAULT_DRIVER> --transport stdio callmcp-server -- npx -y @callmcp/serverВместо <…> подставьте свои значения
Командой платформы
codex mcp add callmcp-server --env CALLMCP_CONFIG=<CALLMCP_CONFIG> --env CALLMCP_DEFAULT_DRIVER=<CALLMCP_DEFAULT_DRIVER> -- npx -y @callmcp/serverВместо <…> подставьте свои значения
Файл настроек
{
"mcpServers": {
"callmcp-server": {
"command": "npx",
"args": [
"-y",
"@callmcp/server"
],
"env": {
"CALLMCP_CONFIG": "<CALLMCP_CONFIG>",
"CALLMCP_DEFAULT_DRIVER": "<CALLMCP_DEFAULT_DRIVER>"
}
}
}
}Вместо <…> подставьте свои значения
Файл настроек
{
"servers": {
"callmcp-server": {
"type": "stdio",
"command": "npx",
"args": [
"-y",
"@callmcp/server"
],
"env": {
"CALLMCP_CONFIG": "<CALLMCP_CONFIG>",
"CALLMCP_DEFAULT_DRIVER": "<CALLMCP_DEFAULT_DRIVER>"
}
}
}
}Вместо <…> подставьте свои значения
Командой платформы
gemini mcp add -e CALLMCP_CONFIG=<CALLMCP_CONFIG> -e CALLMCP_DEFAULT_DRIVER=<CALLMCP_DEFAULT_DRIVER> callmcp-server npx -y @callmcp/serverВместо <…> подставьте свои значения
По шагам, с командами для каждой платформы: Как подключить MCP-сервер: Claude Code, Codex, Cursor, VS Code, Gemini CLI и другие
Вопросы о server
Как установить server в Claude Code?
Базовый вариант: claude mcp add server -- npx -y @callmcp/server. С конфигом и драйвером: `claude mcp add --env CALLMCP_CONFIG=<CALLMCP_CONFIG> --env CALLMCP_DEFAULT_DRIVER=<CALLMCP_DEFAULT_DRIVER> --transport stdio callmcp-server -- npx -y @callmcp/server`.
Что делает server?
Даёт агенту 14 инструментов для звонков, SMS, записей, расшифровок и работы с номерами. Один и тот же контракт работает с хостинговым, локальным или BYOK-бэкендом.
Нужно ли подтверждение человека для звонка?
Да, для make_call и send_sms нужен approval_id или совпадение с allowlist. Проверка встроена в ядро сервера, обойти её на уровне драйвера нельзя.