MCP-коннектор для ИИ-ассистентов
MCP (Model Context Protocol) — способ дать ИИ-ассистенту доступ к внешнему сервису. Подключив коннектор AlphaSMS, вы отправляете сообщения и проверяете доставку прямо из диалога с ассистентом: «отправь клиенту код подтверждения», «проверь, дошло ли вчерашнее сообщение», «сколько осталось на счету».
URI: https://mcp.alphasms.ua/mcp
Транспорт — Streamable HTTP: каждый вызов это JSON-RPC-запрос методом POST. Отдельный сервер поднимать не нужно, коннектор уже работает.
Авторизация
Ключ передаётся в заголовке Authorization как Bearer <ключ>. Он уходит напрямую в API платформы: коннектор не хранит ни ключей, ни ваших сообщений.
Параметры подключения
| urlстрокаобязательный Адрес коннектора: https://mcp.alphasms.ua/mcp |
| typeстрокаобязательный Транспорт. Всегда http — Streamable HTTP |
AuthorizationзаголовокобязательныйBearer и ваш ключ API из личного кабинета: Настройки → API → Добавить. Ключ показывается один раз, скопируйте сразу |
Конфигурация клиента
{
"mcpServers": {
"sms": {
"type": "http",
"url": "https://mcp.alphasms.ua/mcp",
"headers": {
"Authorization": "Bearer ВАШ_API_КЛЮЧ"
}
}
}
}
Работает с любым клиентом, поддерживающим MCP: Claude Desktop и Claude Code, ChatGPT, Cursor, VS Code, n8n и другими.
Проверка связи
curl -s https://mcp.alphasms.ua/health
# {"ok":true,"domain":"alphasms.ua","send_enabled":true}
send_enabled показывает, включена ли отправка для вашего домена. Если выключена, инструменты отправки не предлагаются вовсе.
Что умеет коннектор
Одиннадцать инструментов. Чтение выполняется сразу, отправка всегда спрашивает подтверждение.
Первый вызов
Спросите баланс — это бесплатно и сразу показывает, что ключ рабочий.
- JSON-RPC
- cURL
- Python
- Node.js
{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
"name": "balance",
"arguments": {}
}
}
curl -X POST 'https://mcp.alphasms.ua/mcp' \
-H 'Content-Type: application/json' \
-H 'Authorization: Bearer ВАШ_API_КЛЮЧ' \
--data-raw '{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
"name": "balance",
"arguments": {}
}
}'
import requests
response = requests.post(
"https://mcp.alphasms.ua/mcp",
headers={"Authorization": "Bearer ВАШ_API_КЛЮЧ"},
json={
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
"name": "balance",
"arguments": {}
}
},
timeout=30,
)
print(response.json())
const response = await fetch("https://mcp.alphasms.ua/mcp", {
method: "POST",
headers: {
"Content-Type": "application/json",
Authorization: "Bearer ВАШ_API_КЛЮЧ",
},
body: JSON.stringify({
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
"name": "balance",
"arguments": {}
}
}),
});
console.log(await response.json());
Ответ
{
"jsonrpc": "2.0",
"id": 1,
"result": {
"content": [
{
"type": "text",
"text": "{\"amount\": 152.4, \"currency\": \"UAH\"}"
}
]
}
}
Почему отправка требует подтверждения
Отправка списывает деньги со счёта, поэтому у неё два замка.
Два замка
Ответ при отказе
Инструмент отправки, вызванный без подтверждения, отвечает отказом и в API не обращается.
{
"refused": true,
"reason": "Отправка тратит деньги клиента и требует явного подтверждения",
"how_to": "Спросите человека и передайте confirm: true только после его согласия"
}
Чем это отличается от обычного API
По сути ничем: коннектор ходит в тот же https://alphasms.ua, что и любая ваша интеграция. Разница в том, кто формирует запрос — ваш код или ассистент, которому вы объяснили задачу словами. Отправка идёт через асинхронный приём: сообщение ставится в очередь, и в ответ приходит идентификатор, а не статус доставки.
Ограничения
Чего коннектор не делает
Полное описание параметров — на странице Инструменты коннектора.