Подключение
SIMS Twins отдаёт данные по MCP через Streamable HTTP. Все инструменты только читают данные.
Адрес и способ вызова#
| Параметр | Значение |
|---|---|
| URL | https://twins.sims-service.com/mcp |
| Метод | POST |
| Авторизация | заголовок Authorization: Bearer <ключ> |
| Заголовки запроса | Content-Type: application/json, Accept: application/json, text/event-stream |
| Ответ | JSON (application/json), без потоков SSE |
| Сессии | нет: каждый запрос самостоятельный |
GET и DELETE по адресу /mcp возвращают 405 Method Not Allowed (заголовок Allow: POST). Другие пути, кроме /mcp и /health, возвращают 404. Запросы с query-строкой (?...) возвращают 404.
Ключ передаётся только в заголовке Authorization. Хранить его нужно в переменной окружения или в хранилище секретов клиента, а не в репозитории и не в логах.
Ключ#
Ключ выдаёт администратор SIMS Twins на один тенант (одну установку организации). Ключ показывается один раз при создании; сервер хранит только его хеш, восстановить ключ нельзя. Потерянный ключ отзывается, взамен выпускается новый. Отозванный ключ перестаёт работать со следующего запроса.
Ключ определяет тенант: клиент видит только данные своего тенанта. Сервер не знает, какой человек задаёт вопрос, и не передаёт эту информацию дальше.
Пример настройки MCP-клиента#
Конфигурация в формате, который понимают Claude Code и многие другие клиенты:
{
"mcpServers": {
"sims-twins": {
"type": "http",
"url": "https://twins.sims-service.com/mcp",
"headers": {
"Authorization": "Bearer <ключ>"
}
}
}
}Подставьте вместо <ключ> выданное значение. Если клиент умеет брать значения из переменных окружения, используйте это вместо открытого текста в файле.
Прямой вызов без MCP-клиента, чтобы проверить ключ:
curl -sS https://twins.sims-service.com/mcp \
-H "Authorization: Bearer $TWINS_MCP_KEY" \
-H "Content-Type: application/json" \
-H "Accept: application/json, text/event-stream" \
-d '{"jsonrpc":"2.0","id":1,"method":"tools/call","params":{"name":"twins_health","arguments":{}}}'Проверка доступности сервиса без ключа: GET https://twins.sims-service.com/health возвращает {"status":"ok","contract":"0"}.
Лимиты#
| Лимит | Значение | Что будет при превышении |
|---|---|---|
| Размер тела запроса | 64 КБ | 413 |
| Время обработки вызова | 10 секунд | 504 |
| Одновременные вызовы | не больше 8 на сервер | 429 с Retry-After: 1 |
| Частота вызовов | по умолчанию 60 в минуту на ключ (скользящее окно; администратор может изменить) | 429 с заголовком Retry-After в секундах |
| Размер ответа | не больше 64 КБ JSON | список обрезается, has_more: true и next_cursor для следующей страницы |
При 429 подождите время из Retry-After и повторите запрос. Не повторяйте запросы сразу в цикле.
Раскрытие ИИ#
Первая строка текстового ответа каждого инструмента, а также поле disclosure в структурированном ответе сообщают, что отвечает ИИ-помощник. Показывайте это пользователю вашей системы. Подробнее — в разделе Правила и ограничения.