MCP-сервер VoIPBin
MCP-сервер VoIPBin
Реализация сервера Model Context Protocol (MCP) для API VoIPBin, позволяющая моделям ИИ взаимодействовать с сервисами VoIP.
Отказ от ответственности
Это программное обеспечение предоставляется "как есть" без каких-либо гарантий, явных или подразумеваемых. Автор не дает никаких гарантий относительно полноты, надежности или точности этого программного обеспечения. Любое использование этого программного обеспечения осуществляется на ваш собственный риск. Автор не несет ответственности за любой ущерб, возникший в результате использования этого программного обеспечения.
Related MCP server: MCP Boilerplate
Обзор
Этот сервер MCP предоставляет стандартизированный интерфейс для взаимодействия моделей AI с API-сервисами VoIPBin. Он реализует спецификацию Model Context Protocol и поддерживает типы транспорта SSE и stdio.
Функции
Полная интеграция VoIPBin API через протокол MCP
Поддержка режимов транспорта stdio и SSE
Подробные определения инструментов с соответствующими аннотациями
Типобезопасная обработка запросов/ответов
Асинхронные HTTP-запросы
Правильная обработка ошибок и проверка
Поддержка Docker для простого развертывания
Доступные инструменты
Управление вызовами
get_calls: Получить список вызовов с дополнительной фильтрациейget_call: Получить сведения о конкретном звонкеcreate_call: Создать новый вызовend_call: Завершить активный вызов
Управление агентами
get_agents: Получить список агентовget_agent: Получить сведения о конкретном агентеupdate_agent_status: Обновить статус агента
Управление кампанией
get_campaigns: Получить список кампанийget_campaign: Получить сведения о конкретной кампанииcreate_campaign: Создать новую кампанию
Управление записью
get_recordings: Получить список записей вызововget_recording: Получить сведения о конкретной записи
Управление очередями
get_queues: Получить список очередей вызововget_queue: Получить сведения о конкретной очереди
Управление конференциями
get_conferences: Получить список активных конференцийcreate_conference: Создать новую конференцию
Управление чатом
get_chats: Получить список разговоров в чатеsend_chat_message: Отправить сообщение в чате
Управление выставлением счетов
get_billing_info: Получить текущую платежную информациюget_billing_history: получение истории выставления счетов с дополнительной фильтрацией по дате
Настраивать
Настройка локального развития
Создайте виртуальную среду:
python -m venv venv
source venv/bin/activate # On Windows: venv\Scripts\activateУстановить зависимости:
pip install -r requirements.txtСоздайте файл
.env:
cp .env.example .envОбновите файл
.env, указав свои учетные данные API VoIPBin:
VOIPBIN_API_URL=https://api.voipbin.net/v1.0
VOIPBIN_API_KEY=your-api-key-here
PORT=8000Настройка докера
Сборка и запуск с помощью Docker Compose:
# Build and start the container
docker-compose up --build
# Run in detached mode
docker-compose up -d
# Stop the container
docker-compose downИли выполните сборку и запуск напрямую с помощью Docker:
# Build the image
docker build -t voipbin-mcp-server .
# Run the container
docker run -d \
-p 8000:8000 \
-e VOIPBIN_API_KEY=your-api-key-here \
-e VOIPBIN_API_URL=https://api.voipbin.net/v1.0 \
voipbin-mcp-serverЗапуск сервера
Местное развитие
Стандартный режим ввода-вывода
python src/main.py --transport stdioРежим SSE
python src/main.py --transport sse --port 8000Докер
Сервер работает в режиме SSE по умолчанию при использовании Docker. Контейнер предоставляет порт 8000 для соединений SSE.
Примеры использования инструмента
Создание звонка
{
"name": "create_call",
"arguments": {
"body": {
"phone_number": "+1234567890",
"agent_id": "agent_123",
"campaign_id": "campaign_456"
}
}
}Получение информации о вызовах
{
"name": "get_call",
"arguments": {
"call_id": "call_789"
}
}Создание конференции
{
"name": "create_conference",
"arguments": {
"body": {
"name": "Team Meeting",
"participants": ["+1234567890", "+0987654321"]
}
}
}Отправка сообщения в чате
{
"name": "send_chat_message",
"arguments": {
"chat_id": "chat_123",
"body": {
"message": "Hello, how can I help you today?"
}
}
}Аннотации инструментов
Каждый инструмент включает аннотации, которые предоставляют метаданные о его поведении:
readOnlyHint: Указывает, что инструмент только считывает данныеdestructiveHint: Указывает, изменяет ли инструмент данные или удаляет их.idempotentHint: указывает, имеют ли повторные вызовы тот же эффект, что и одиночный вызовopenWorldHint: указывает, работает ли инструмент в контексте открытого мира.
Обработка ошибок
Сервер включает в себя комплексную обработку ошибок:
Недействительные учетные данные API
Проблемы с сетевым подключением
Неверные параметры запроса
Ограничение скорости
Ошибки сервера
Разработка
Добавление новых инструментов
Чтобы добавить новый инструмент:
Добавьте определение инструмента в функцию
list_tools()Реализовать обработчик инструмента в функции
voipbin_tool()Обновите документацию
Тестирование
Запустите тестовый набор:
python -m pytest tests/Безопасность
Ключи API надежно хранятся в переменных среды.
Все запросы аутентифицированы.
Для связи через API используется протокол HTTPS
Проверка входных данных выполняется для всех запросов.
Контейнер Docker запускается от имени пользователя без прав root.
Проверки работоспособности гарантируют правильную работу контейнера
Внося вклад
Форк репозитория
Создать ветку функций
Примите ваши изменения
Нажмите на ветку
Создать запрос на извлечение
Лицензия
Данный проект лицензирован по лицензии MIT — подробности см. в файле LICENSE .
Лицензия MIT — это разрешительная лицензия, которая кратка и точна. Она позволяет людям делать с кодом все, что они хотят, пока они предоставляют вам ссылку на источник и не возлагают на вас ответственность.
Что можно сделать с этим кодом:
Использовать в коммерческих целях
Изменить его
Распространите это
Используйте его в личных целях
Сублицензируйте это
Что вам необходимо сделать:
Включите оригинальное уведомление об авторских правах
Включите текст лицензии
Укажите четкую ссылку на первоисточник.
Сохраняйте авторство в любых производных работах.
Чего нельзя делать:
Привлечь автора к ответственности за ущерб
Удалить или скрыть указание авторства
Выдавайте работу за свою собственную
Более подробную информацию о лицензии MIT можно найти на сайте choosealicense.com/licenses/mit/ .
This server cannot be installed
Resources
Looking for Admin?
Admins can modify the Dockerfile, update the server description, and track usage metrics. If you are the server author, to access the admin panel.