Подключение MCP
MCP-сервер Wasyt даёт ИИ-ассистентам (Claude, ChatGPT и другим клиентам MCP) читать данные бизнеса. Подключиться может только директор, и он видит данные только своей компании и её филиалов.
| Адрес сервера | https://api.wasyt.uz/mcp (Streamable HTTP) |
| Авторизация | OAuth 2.1 authorization code + PKCE, scope mcp:use |
| Кто может подключить | Только пользователь типа director (проверяется на каждом запросе) |
| Доступ | Только чтение |
| Срок токенов | Access token — 24 часа, refresh token — 30 дней |
Список инструментов и их параметры — Инструменты MCP.
Подключение клиента
1. Settings → Connectors → Add custom connector
2. URL: https://api.wasyt.uz/mcp
3. В браузере откроется вход в Wasyt — логин и пароль директора
4. Подтвердите доступ кнопкой «Разрешить»claude mcp add --transport http wasyt https://api.wasyt.uz/mcp1. Settings → Connectors → Create (нужен тариф с поддержкой коннекторов)
2. URL: https://api.wasyt.uz/mcp
3. Вход и подтверждение в браузере — как в Claudenpx @modelcontextprotocol/inspector
# Transport: Streamable HTTP, URL: https://api.wasyt.uz/mcp → ConnectКлиент регистрируется сам (dynamic client registration), поэтому client ID и secret не нужны.
Как работает вход
- Клиент читает настройки OAuth из
/.well-known/oauth-protected-resourceи/.well-known/oauth-authorization-server. - Регистрируется через
POST /oauth/register. Принимаются только разрешённые домены:claude.ai,claude.com,chatgpt.com,chat.openai.com,localhost. - В браузере открывается
/oauth/authorize. Если вход не выполнен — страница/mcp/login: логин и пароль директора в Wasyt. - После подтверждения клиент получает токен через
POST /oauth/tokenи обращается кPOST /mcpсAuthorization: Bearer <token>.
Только директор
Войти под сотрудником, администратором или партнёром нельзя. Директор отключённой компании тоже получает отказ. Статус директора проверяется на каждом запросе: если пользователь перестал быть директором, доступ прекращается сразу, даже при действующем токене.
Маршруты
| Метод | Адрес | Назначение |
|---|---|---|
POST | /mcp | MCP-сервер (JSON-RPC: initialize, tools/list, tools/call). С токеном Bearer |
GET | /.well-known/oauth-protected-resource | OAuth-метаданные ресурса |
GET | /.well-known/oauth-authorization-server | Метаданные сервера авторизации (адреса, scope) |
POST | /oauth/register | Динамическая регистрация клиента |
GET | /oauth/authorize | Страница запроса доступа в браузере |
POST / DELETE | /oauth/authorize | Разрешить / отклонить доступ |
POST | /oauth/token | Обмен кода на токен, обновление токена |
GET / POST | /mcp/login | Вход директора (не больше 5 попыток в минуту) |
Пример запроса
curl -X POST "https://api.wasyt.uz/mcp" \
-H "Authorization: Bearer {access_token}" \
-H "Content-Type: application/json" \
-H "Accept: application/json, text/event-stream" \
-d '{"jsonrpc":"2.0","id":1,"method":"tools/call","params":{"name":"list-sales-tool","arguments":{"date_from":"2026-09-01"}}}'Обычно делать это вручную не нужно: задайте ассистенту вопрос обычными словами, он сам выберет инструмент. Например: «Какая выручка сегодня и за месяц?», «Кто мне должен?», «Сколько Coca-Cola осталось на основном складе?».
Неполадки
| Признак | Причина и решение |
|---|---|
401 на /mcp | Нет токена или он истёк — переподключите клиента |
403 «Доступ к MCP-серверу разрешён только директорам» | Вход выполнен не директором |
| Вход директора отклонён | Компания отключена, неверный логин/пароль или превышен лимит попыток (5 в минуту) |
При подключении redirect_uris is not a permitted redirect domain | Домена клиента нет в списке разрешённых |

