VoIP.ms (The Unofficial VoIP.ms MCP Server)
VoIP.ms: неофициальный MCP-сервер для управления номерами, звонками и биллингом
Что умеет
- Управлять номерами: заказывать, подключать, переносить и отменять
- Настраивать голосовую почту, конференц-связь и переадресацию
- Добавлять платежи и списания на суб-аккаунтах
- Отправлять факсы и email-факсы
- Настраивать фильтрацию звонков и call-flow
Какие данные видит
Ассистент действует под учётной записью VoIP.ms пользователя в рамках выданных пооресурсных прав, вплоть до режима только чтения.
Нужен ли аккаунт
Не нужен: сервер работает без входа
Неофициальный коннектор подключает аккаунт VoIP.ms к Claude, ChatGPT или Cursor и открывает доступ к номерам, сообщениям, голосовой почте, маршрутам вызовов и биллингу. Ассистент выполняет операции в рамках выданных прав доступа — можно ограничить его только чтением. Учётные данные хранятся на сервере и не передаются в модель.
Как подключить
Как подключить VoIP.ms (The Unofficial VoIP.ms MCP Server) к Claude
Адрес сервера, который нужно вставить в настройках Claude:
https://voipms-mcp--ecliptical.run.tools
- Откройте Claude (сайт claude.ai или приложение для компьютера).
- Перейдите в Настройки → Коннекторы (в английском интерфейсе: Settings → Connectors).
- Нажмите Добавить пользовательский коннектор (Add custom connector).
- Вставьте адрес сервера, скопированный ниже, в поле URL удалённого MCP-сервера и нажмите Добавить.
- В чате нажмите + → Коннекторы и включите новый коннектор.
Пользовательские коннекторы доступны на тарифах Free, Pro, Max, Team и Enterprise. На Free можно добавить только один. В Team и Enterprise коннектор сначала добавляет владелец организации в Настройки организации → Коннекторы.
Авторизация
После нажатия Добавить откроется окно входа в сервис. Войдите под своим аккаунтом и подтвердите доступ. Пароль Claude не видит.
Как подключить VoIP.ms (The Unofficial VoIP.ms MCP Server) к ChatGPT
Адрес сервера, который нужно вставить в настройках ChatGPT:
https://voipms-mcp--ecliptical.run.tools
- Откройте ChatGPT в браузере (chatgpt.com). Нужен тариф Plus, Pro, Business, Enterprise или Edu.
- Один раз включите режим разработчика: Настройки → Приложения → Дополнительные настройки → Режим разработчика (Settings → Apps → Advanced settings → Developer mode).
- Откройте Настройки → Коннекторы и нажмите Создать (Create).
- Заполните форму: Название (любое), Описание (одна фраза, что делает сервис), URL MCP-сервера (скопируйте ниже).
- В поле Аутентификация выберите OAuth, если сервис требует вход, иначе Нет. Нажмите Создать.
- В новом чате откройте + → Приложения/Коннекторы и включите коннектор.
Название раздела у OpenAI менялось (Connectors → Apps/Plugins). Если пункт называется иначе, ищите «режим разработчика» в настройках. В рабочих пространствах Business/Enterprise администратор должен разрешить пользовательские коннекторы.
Авторизация
При первом использовании ChatGPT откроет окно входа в сервис. Войдите и подтвердите доступ.
Как подключить VoIP.ms (The Unofficial VoIP.ms MCP Server) к Cursor
Адрес сервера, который нужно вставить в настройках Cursor:
https://voipms-mcp--ecliptical.run.tools
Быстрый способ: нажмите кнопку Открыть в Cursor ниже, Cursor сам предложит добавить сервер.
Вручную:
- В Cursor откройте Settings → Cursor Settings → MCP и нажмите Add new global MCP server.
- Вставьте JSON, скопированный ниже, в открывшийся файл
~/.cursor/mcp.json(для одного проекта:.cursor/mcp.jsonв корне проекта). - Сохраните файл. Сервер появится в списке MCP; при необходимости пройдите авторизацию по кнопке рядом с ним.
Авторизация
Если сервис требует вход, рядом с сервером в списке MCP появится кнопка авторизации.
Список инструментов сервера (60)
Технические названия из tools/list. Нужны только разработчикам.
| add_charge | - Adds a Charge to a specific Reseller Client Requires the `account` scope. If your access grant doesn't include it, calling this returns a step-up authorization error; ask the user to grant access, then retry the call. |
| add_lnp_file | - Add an invoice file to a portability process. Requires the `porting` scope. If your access grant doesn't include it, calling this returns a step-up authorization error; ask the user to grant access, then retry the call. |
| add_lnp_port | - Add one or more numbers to start a portability process. Requires the `porting` scope. If your access grant doesn't include it, calling this returns a step-up authorization error; ask the user to grant access, then retry the call. |
| add_member_to_conference | - Add Member to a Conference Requires the `conference` scope. If your access grant doesn't include it, calling this returns a step-up authorization error; ask the user to grant access, then retry the call. |
| add_payment | - Adds a Payment to a specific Reseller Client Requires the `account` scope. If your access grant doesn't include it, calling this returns a step-up authorization error; ask the user to grant access, then retry the call. |
| assign_did_vpri | - Assigns a Per Minute DID to a VPRI (Flat Rate DIDs can’t be assigned) Requires the `dids` scope. If your access grant doesn't include it, calling this returns a step-up authorization error; ask the user to grant access, then retry the call. |
| back_order_did_can | - Backorder DID (CANADA) from a specific ratecenter and province. Use this only when the desired number is not currently available to order; to order an available Canadian DID, use `order_did`. Requires the `dids` scope. If your access grant doesn't include it, calling this returns a step-up authorization error; ask the user to grant access, then retry the call. |
| back_order_did_usa | - Backorder DID (USA) from a specific ratecenter and state. Use this only when the desired number is not currently available to order; to order an available US DID, use `order_did`. Requires the `dids` scope. If your access grant doesn't include it, calling this returns a step-up authorization error; ask the user to grant access, then retry the call. |
| cancel_did | - Deletes a specific DID from your Account. Requires the `dids` scope. If your access grant doesn't include it, calling this returns a step-up authorization error; ask the user to grant access, then retry the call. |
| cancel_fax_number | - Deletes a specific Fax Number from your Account. Requires the `fax` scope. If your access grant doesn't include it, calling this returns a step-up authorization error; ask the user to grant access, then retry the call. |
| connect_did | - Connects a specific DID to a specific Reseller Client Sub-account Requires the `dids` scope. If your access grant doesn't include it, calling this returns a step-up authorization error; ask the user to grant access, then retry the call. |
| connect_fax | - Connects a specific FAX DID to a specific Reseller Client Sub-account Requires the `fax` scope. If your access grant doesn't include it, calling this returns a step-up authorization error; ask the user to grant access, then retry the call. |
| create_email_to_fax | Create a new "Email to Fax" configuration. To change an existing configuration, use `update_email_to_fax`. Requires the `fax` scope. If your access grant doesn't include it, calling this returns a step-up authorization error; ask the user to grant access, then retry the call. |
| create_static_member | Add a new static member to a queue. To change an existing member, use `update_static_member`. Requires the `callflow` scope. If your access grant doesn't include it, calling this returns a step-up authorization error; ask the user to grant access, then retry the call. |
| create_sub_account | - Adds a new Sub-account entry to your Account Requires the `subaccount` scope. If your access grant doesn't include it, calling this returns a step-up authorization error; ask the user to grant access, then retry the call. |
| create_voicemail | - Adds a new Voicemail entry to your Account Requires the `voicemail` scope. If your access grant doesn't include it, calling this returns a step-up authorization error; ask the user to grant access, then retry the call. |
| del_call_hunting | - Deletes a specific Call Hunting from your Account. Requires the `callflow` scope. If your access grant doesn't include it, calling this returns a step-up authorization error; ask the user to grant access, then retry the call. |
| del_call_parking | - Deletes a specific Call Parking entry from your Account. Requires the `callflow` scope. If your access grant doesn't include it, calling this returns a step-up authorization error; ask the user to grant access, then retry the call. |
| del_call_recording | - Delete specific call recording, audio file and information related. Requires the `callflow` scope. If your access grant doesn't include it, calling this returns a step-up authorization error; ask the user to grant access, then retry the call. |
| del_callback | - Deletes a specific Callback from your Account. Requires the `callflow` scope. If your access grant doesn't include it, calling this returns a step-up authorization error; ask the user to grant access, then retry the call. |
| del_caller_id_filtering | - Deletes a specific CallerID Filtering from your Account. Requires the `callflow` scope. If your access grant doesn't include it, calling this returns a step-up authorization error; ask the user to grant access, then retry the call. |
| del_client | - Deletes a specific reseller client from your Account. Requires the `reseller` scope. If your access grant doesn't include it, calling this returns a step-up authorization error; ask the user to grant access, then retry the call. |
| del_conference | - Deletes a specific Conference from your Account. Requires the `conference` scope. If your access grant doesn't include it, calling this returns a step-up authorization error; ask the user to grant access, then retry the call. |
| del_conference_member | - Deletes a specific Member profile from your Account. Requires the `conference` scope. If your access grant doesn't include it, calling this returns a step-up authorization error; ask the user to grant access, then retry the call. |
| del_disa | - Deletes a specific DISA from your Account. Requires the `callflow` scope. If your access grant doesn't include it, calling this returns a step-up authorization error; ask the user to grant access, then retry the call. |
| del_email_to_fax | - Deletes a specific "Email to Fax configuration" from your Account. Requires the `fax` scope. If your access grant doesn't include it, calling this returns a step-up authorization error; ask the user to grant access, then retry the call. |
| del_fax_folder | - Deletes a specific Fax Folder from your Account. Requires the `fax` scope. If your access grant doesn't include it, calling this returns a step-up authorization error; ask the user to grant access, then retry the call. |
| del_forwarding | - Deletes a specific Forwarding from your Account. Requires the `forwarding` scope. If your access grant doesn't include it, calling this returns a step-up authorization error; ask the user to grant access, then retry the call. |
| del_ivr | - Deletes a specific IVR from your Account. Requires the `ivr` scope. If your access grant doesn't include it, calling this returns a step-up authorization error; ask the user to grant access, then retry the call. |
| del_location | Invoke the voip.ms `del_location` operation. Requires the `subaccount` scope. If your access grant doesn't include it, calling this returns a step-up authorization error; ask the user to grant access, then retry the call. |
| del_member_from_conference | - Removes a member profile from a specific Conference from your Account Requires the `conference` scope. If your access grant doesn't include it, calling this returns a step-up authorization error; ask the user to grant access, then retry the call. |
| del_messages | - Deletes all messages in all servers from a specific Voicemail from your Account Requires the `voicemail` scope. If your access grant doesn't include it, calling this returns a step-up authorization error; ask the user to grant access, then retry the call. |
| del_music_on_hold | - Deletes a specific custom Music on Hold. Requires the `callflow` scope. If your access grant doesn't include it, calling this returns a step-up authorization error; ask the user to grant access, then retry the call. |
| del_phonebook | - Deletes a specific Phonebook from your Account. Requires the `phonebook` scope. If your access grant doesn't include it, calling this returns a step-up authorization error; ask the user to grant access, then retry the call. |
| del_phonebook_group | - Deletes a specific Phonebook group from your Account. Requires the `phonebook` scope. If your access grant doesn't include it, calling this returns a step-up authorization error; ask the user to grant access, then retry the call. |
| del_queue | - Deletes a specific Queue from your Account. Requires the `queue` scope. If your access grant doesn't include it, calling this returns a step-up authorization error; ask the user to grant access, then retry the call. |
| del_recording | - Deletes a specific Recording from your Account. Requires the `callflow` scope. If your access grant doesn't include it, calling this returns a step-up authorization error; ask the user to grant access, then retry the call. |
| del_ring_group | - Deletes a specific Ring Group from your Account. Requires the `callflow` scope. If your access grant doesn't include it, calling this returns a step-up authorization error; ask the user to grant access, then retry the call. |
| del_sip_uri | - Deletes a specific SIP URI from your Account. Requires the `subaccount` scope. If your access grant doesn't include it, calling this returns a step-up authorization error; ask the user to grant access, then retry the call. |
| del_static_member | - Deletes a specific Static Member from Queue. Requires the `callflow` scope. If your access grant doesn't include it, calling this returns a step-up authorization error; ask the user to grant access, then retry the call. |
| del_sub_account | - Deletes a specific Sub-account from your Account Requires the `subaccount` scope. If your access grant doesn't include it, calling this returns a step-up authorization error; ask the user to grant access, then retry the call. |
| del_time_condition | - Deletes a specific Time Condition from your Account. Requires the `callflow` scope. If your access grant doesn't include it, calling this returns a step-up authorization error; ask the user to grant access, then retry the call. |
| del_voicemail | - Deletes a specific Voicemail from your Account Requires the `voicemail` scope. If your access grant doesn't include it, calling this returns a step-up authorization error; ask the user to grant access, then retry the call. |
| delete_fax_message | - Deletes a specific Fax Message from your Account. Requires the `fax` scope. If your access grant doesn't include it, calling this returns a step-up authorization error; ask the user to grant access, then retry the call. |
| delete_mms | - Deletes a specific MMS from your Account. Requires the `mms` scope. If your access grant doesn't include it, calling this returns a step-up authorization error; ask the user to grant access, then retry the call. |
| delete_sms | - Deletes a specific SMS from your Account. Requires the `sms` scope. If your access grant doesn't include it, calling this returns a step-up authorization error; ask the user to grant access, then retry the call. |
| e911_address_types | - Retrieves a list of e911 Address Types if no additional parameter is provided. - Retrieves a specific e911 Address Type if an Address code is provided. Requires the `e911:read` scope. If your access grant doesn't include it, calling this returns a step-up authorization error; ask the user to grant access, then retry the call. |
| e911_cancel | - Cancel the e911 Service from a specific DID. Requires the `e911` scope. If your access grant doesn't include it, calling this returns a step-up authorization error; ask the user to grant access, then retry the call. |
| e911_info | - Retrieves the e911 information from a specific DID. Requires the `e911:read` scope. If your access grant doesn't include it, calling this returns a step-up authorization error; ask the user to grant access, then retry the call. |
| e911_provision | - Subscribes your DID to the e911 Emergency Services. Requires the `e911` scope. If your access grant doesn't include it, calling this returns a step-up authorization error; ask the user to grant access, then retry the call. |
| e911_provision_manually | - Subscribes your DID to the e911 Emergency Services. - All e911 information will be validated by the VoIP.ms staff. Requires the `e911` scope. If your access grant doesn't include it, calling this returns a step-up authorization error; ask the user to grant access, then retry the call. |
| e911_update | - Updates the Information from your e911 Emergency Services Subscription. Requires the `e911` scope. If your access grant doesn't include it, calling this returns a step-up authorization error; ask the user to grant access, then retry the call. |
| e911_validate | - Validates your e911 information in order to start your e911 Emergency Services Subscription. Requires the `e911:read` scope. If your access grant doesn't include it, calling this returns a step-up authorization error; ask the user to grant access, then retry the call. |
| get_allowed_codecs | - Retrieves a list of Allowed Codecs if no additional parameter is provided. - Retrieves a specific Allowed Codec if a codec code is provided. Requires the `reference` scope. If your access grant doesn't include it, calling this returns a step-up authorization error; ask the user to grant access, then retry the call. |
| get_auth_types | - Retrieves a list of Authentication Types if no additional parameter is provided. - Retrieves a specific Authentication Type if an auth type code is provided. Requires the `reference` scope. If your access grant doesn't include it, calling this returns a step-up authorization error; ask the user to grant access, then retry the call. |
| get_back_orders | - Retrieves a list of backorder DIDs if no additional parameter is provided. - Retrieves a specific backorder DID if a backorder DID code is provided. Requires the `dids:read` scope. If your access grant doesn't include it, calling this returns a step-up authorization error; ask the user to grant access, then retry the call. |
| get_balance | - Retrieves Balance for your Account if no additional parameter is provided. - Retrieves Balance and Calls Statistics for your Account if "advanced" parameter is true. Requires the `account:read` scope. If your access grant doesn't include it, calling this returns a step-up authorization error; ask the user to grant access, then retry the call. |
| get_balance_management | - Retrieves a list of Balance Management Options if no additional parameter is provided. - Retrieves a specific Balance Management Option if a code is provided. Requires the `account:read` scope. If your access grant doesn't include it, calling this returns a step-up authorization error; ask the user to grant access, then retry the call. |
| get_call_accounts | - Retrieves all Sub-accounts if no additional parameter is provided. - Retrieves Reseller Client Accounts if Reseller Client ID is provided. Requires the `reference` scope. If your access grant doesn't include it, calling this returns a step-up authorization error; ask the user to grant access, then retry the call. |
| get_call_billing | - Retrieves a list of Call Billing Options. Requires the `reference` scope. If your access grant doesn't include it, calling this returns a step-up authorization error; ask the user to grant access, then retry the call. |