AgentLine MCP
Телефонный API для ИИ-агентов: Claude и Cursor получают реальный номер, звонят, принимают вызовы, читают SMS и расшифровки по MCP.
- 62 ★ репозитория
- Последний коммит
- MIT
Широкий доступ
Почему такой уровень
- Агент звонит реальным людям, принимает вызовы, читает SMS и покупает номера за деньги владельца аккаунта.
- Ключи операторов связи, речевых сервисов и модели хранятся в `.env` и в конфигурации клиента.
Установка
- Работает в
Ручная установка
git clone https://github.com/agentlineHQ/AgentLine.gitПервый шаг варианта с Docker Compose: затем `cp .env.example .env`, заполнение ключей и `docker-compose up -d`.
Доступ и проверки
Как мы проверяемШирокий доступИнструмент может менять данные, выполнять команды или работать с секретами.
- Агент звонит реальным людям, принимает вызовы, читает SMS и покупает номера за деньги владельца аккаунта.
- Ключи операторов связи, речевых сервисов и модели хранятся в `.env` и в конфигурации клиента.
Это чужой код. Посмотрите файлы в репозитории перед установкой.
Что делает
AgentLine дает кодинг-агентам и приложениям на LLM настоящий телефонный номер и голосовой конвейер из распознавания речи, модели и синтеза. Агент звонит по номеру, принимает входящие, читает SMS, набирает DTMF-тоны в голосовых меню и оставляет сообщения на автоответчике. Все это доступно по REST и через встроенный MCP-сервер. Сервер развертывают из репозитория через Docker Compose вместе с PostgreSQL и Redis либо берут размещенную версию на agentline.cloud. MCP отдает инструменты `make_outbound_call`, `list_calls`, `get_call_transcript`, `hangup_call`, `buy_phone_number` и другие. Режим владельца принимает звонки с зарегистрированного номера и записывает поручения агенту. В репозитории лежит файл скилла для агентов.
Для кого. Разработчикам, которые строят голосовых агентов или хотят, чтобы Claude Code и Cursor звонили по телефону.
Подходит, если
- Нужен ИИ-секретарь: входящие звонки с заданным приветствием и системным промптом.
- Исходящие напоминания и опросы выполняет голосовой агент, а расшифровки читаются через `get_call_transcript`.
- В голосовом меню нужно нажать клавиши и оставить сообщение на автоответчике.
- Нужна самостоятельная замена связки Twilio, распознавания речи и голосовой модели.
Не подходит, если
- Звонки нельзя доверять агенту без вашего контроля: каждый вызов тратит деньги и идет реальным людям.
- Нет учетной записи у оператора связи или нужных ключей речевых сервисов.
- Нужна только отправка SMS без голоса: сервис шире задачи.
Пример запроса к агенту
Покажи список вызовов и расшифровку последнего звонка, а новых исходящих звонков без моего подтверждения не делай.MCP
- Транспорт
- http
- Авторизация
- API-ключ
Переменные окружения
AGENTLINE_API_KEYобязательная, секрет- Ключ API AgentLine вида `al_live_...` для REST, MCP и скилла.
TWILIO_ACCOUNT_SID- Идентификатор аккаунта Twilio, если номера берутся у Twilio.
TWILIO_AUTH_TOKENсекрет- Токен авторизации Twilio.
DEEPGRAM_API_KEYсекрет- Ключ Deepgram для встроенного распознавания речи.
CARTESIA_API_KEYсекрет- Ключ Cartesia для синтеза речи.
Ограничения
Репозиторий не выставляет счета: платить придется оператору связи, речевым сервисам и модели, которые вы настроите. Для встроенного конвейера нужны ключи Deepgram, Cartesia и OpenAI-совместимого API, для номеров аккаунт Twilio или Telnyx. Все запросы требуют ключ `al_live_...`. Инструмент `buy_phone_number` подключает новый номер, а исходящие звонки идут реальным абонентам, так что законы о звонках и согласие получателей остаются на вас. MCP по примеру из README ходит на `localhost:8000`, а размещенную версию на agentline.cloud ведет сторонний сервис.
Как отключить. Удалите запись `agentline` из `claude_desktop_config.json` или конфигурации клиента и остановите контейнеры командой `docker-compose down`. Номера и ключи отзовите у оператора связи.
Частые вопросы
Как запустить AgentLine?
Через Docker Compose: клонируйте репозиторий, скопируйте `.env.example` в `.env`, заполните ключи и выполните `docker-compose up -d`. API поднимется на `http://localhost:8000`.
Как подключить MCP к Claude Desktop?
Добавьте сервер `agentline` с командой `npx`, аргументами `-y`, `mcp-remote@latest`, адресом `http://localhost:8000/mcp` и заголовком `Authorization: Bearer al_live_...`.
Какие ключи нужны?
Для номеров Twilio (`TWILIO_ACCOUNT_SID`, `TWILIO_AUTH_TOKEN`) или Telnyx (`TELNYX_API_KEY`). Для встроенного голосового конвейера Deepgram, Cartesia и ключ OpenAI-совместимого API.
Что такое режим владельца?
Звонок с зарегистрированного номера записывает ваши инструкции, и агент выполнит их после того, как вы повесите трубку.
Есть ли скилл для агентов?
Да, файл `skills/agentline/SKILL.md` в репозитории и копия на agentline.cloud. Нужна переменная `AGENTLINE_API_KEY`.
Обсуждение
Вопросов и отзывов пока нет.
Похожие
MCP-серверыMCP-сервер Agent Call готовит телефонный звонок по вашей задаче и набирает номер только после явного подтверждения плана.
Агент пишет вам на телефон или звонит по VoIP, голосовой ИИ обсуждает решение, а стенограмма возвращается агенту
CLI-диспетчер для агентов: задача идет в фоне, агент засыпает на вопросе и просыпается после вашего ответа из мессенджера.
MCP-сервер и плагин SeldonFrame: агент собирает для клиента сайт, запись, CRM и ИИ-агента одним запросом
Self-hosted панель для управления несколькими агентами: постановка задач, обзор прогонов, учет трат и подключение по MCP, CLI или REST
Open Agent Email — свой почтовый сервер для ИИ-агентов: ящики, ответы в ветке письма, одобрение человеком, вебхуки и MCP на 96 инструментов
Сравнение с похожими
Карточки с тем же главным запросом: чем они отличаются.
| Инструмент | Официальный | Авторизация | Звезды репозитория | Главное отличие |
|---|---|---|---|---|
| AgentLine (эта карточка) | нет | API-ключ | 62 | |
| Twilio MCP Server | да | API-ключ | 114 | публичные API Twilio как инструменты; AgentLine добавляет готовый голосовой конвейер и номера для агента |
| WhoBot phone call skill | да | 119 | скилл для создания ИИ-сотрудников, которые звонят клиентам; AgentLine самохостится и открывает звонки по MCP и REST |
Коротко о README
Документ описывает назначение сервиса, таблицу сравнения с Twilio и Vapi, примеры использования, список функций, архитектуру, варианты запуска, настройку, справочник API и MCP-инструментов, файл скилла и развертывание.
Бейдж для README
Исходный SKILL.md
---
name: agentline
description: Make phone calls, view received SMS, provision numbers, and manage agents through a self-hosted AgentLine telephony API (REST or MCP). Use when the user asks to call someone, check transcripts, view text messages, manage phone agents, or buy numbers. The server operator chooses the carrier and the voice runtime.
metadata:
openclaw:
emoji: "📞"
requires:
env:
- AGENTLINE_API_KEY
primaryEnv: AGENTLINE_API_KEY
---
# AgentLine — AI Telephony Skill
Give your AI agent a real phone number and voice calls. Use the persistent relay for live context; use webhooks only as a fallback.
## First-Time Setup
**Follow these steps IN ORDER when setting up AgentLine for the first time:**
1. **Check for `AGENTLINE_API_KEY`** (starts with `al_live_` or `sk_live_`) and `AGENTLINE_URL` (defaults to `http://localhost:8000`).
- **If you do NOT have this key**, stop and ask the human for the API key from their AgentLine server. Do NOT proceed without it.
2. **Check for `AGENTLINE_AGENT_ID`** (starts with `agt_`) — this is optional.
- **If you already have one**, use it and skip to step 3.
- **If you do NOT have one**, create a new agent now by calling `POST /v1/agents` with `{"name": "My Agent"}`. Save the returned agent ID.
3. **Ask for area code and provision the number** — **Always ask the human:**
> "What area code would you like for your phone number? (e.g. 212 for NYC, 415 for SF, 313 for Detroit)"
- Once they give an area code, call `POST /v1/numbers` with `{"agent_id": "...", "area_code": "XXX"}`
- If it succeeds, confirm the provisioned number to the human
- If it fails (no numbers available for that area code), tell them and ask for a different area code
4. **Ask for voice preference** — **Always ask the human:**
> "Would you like your agent to have a **male** or **female** voice?"
- If **female**: set `voice_id` to `"female-1"` (or `"female-2"` for warmer tone)
- If **male**: set `voice_id` to `"male-1"`
- Apply via `PATCH /v1/agents/$AGENTLINE_AGENT_ID` with `{"voice_id": "chosen_preset"}`
- Available presets: `female-1`, `female-2`, `male-1` — or any Cartesia voice UUID