Коннектор CasusLegal в вашем продукте
Один адрес и один ключ на четыре корпуса российской судебной практики. Ваш ассистент получает инструменты поиска и чтения актов, маршрутизация между корпусами — на нашей стороне.
1. Подключение
Стандартный MCP-сервер: подключается как любой другой коннектор в вашем чате.
| Параметр | Значение |
|---|---|
| Адрес | https://mcp.casus.legal/partner/mcp |
| Транспорт | MCP Streamable HTTP (не SSE) |
| Аутентификация | Authorization: Bearer clp_… — ключ выдаём отдельно |
| Имя коннектора в клиенте | только латиница, например CasusLegal |
"type": "streamable-http"
или "streamable" — в зависимости от библиотеки.
curl -sS https://mcp.casus.legal/partner/mcp \
-H "Authorization: Bearer $CASUS_PARTNER_KEY" \
-H "Content-Type: application/json" \
-H "Accept: application/json, text/event-stream" \
-d '{"jsonrpc":"2.0","id":1,"method":"initialize","params":{
"protocolVersion":"2025-06-18","capabilities":{},
"clientInfo":{"name":"my-platform","version":"1.0"}}}'
В ответе — serverInfo.name: "CasusLegal Partner". Следом
tools/list должен вернуть шесть инструментов.
2. Заголовки запроса
| Заголовок | Обязателен | Зачем |
|---|---|---|
Authorization: Bearer clp_… |
да | ключ платформы |
X-Partner-User-Id |
настоятельно рекомендуем | псевдоним конечного пользователя (юриста) на вашей стороне |
X-Partner-User-Id — любая стабильная строка, не
раскрывающая личность: ваш внутренний идентификатор или его хэш. Она
решает две задачи.
- Лимиты считаются на пользователя, а не на всю платформу. Ключ один, и без этого заголовка все ваши юристы делят одно ведро: один зациклившийся клиент упирается в потолок, а отказы получают остальные.
- Поштучный учёт в разрезе пользователей. По нему сверяются наши и ваши цифры: сколько вызовов, каких типов и сколько людей реально дошло до коннектора.
3. Инструменты
Шесть инструментов, у каждого — параметр
corpus.
| Инструмент | Что делает |
|---|---|
casuslegal_search_practice | основной поиск практики по теме |
casuslegal_find_term | поиск формулировки или редкого термина (слова подряд, во всех словоформах) |
casuslegal_get_case_details | полный текст акта по case_id |
casuslegal_find_similar | акты, близкие к заданному по правовой позиции |
casuslegal_list_tags | частотный словарь тем корпуса |
casuslegal_stats | состав корпуса: объём, охват по годам, суды |
Параметр corpus
| Значение | Корпус | Темы |
|---|---|---|
mainпо умолчанию |
КС РФ, ВС РФ, ВАС РФ | гражданские, экономические, налоговые, банкротные, корпоративные, договорные, трудовые, наследственные споры; постановления Пленума и обзоры Президиума ВС РФ; позиции КС РФ |
sip |
Суд по интеллектуальным правам | товарные знаки, патенты, авторские и смежные права, споры с Роспатентом, доменные споры |
kas |
административные дела ВС РФ (КАС РФ) | нормоконтроль, оспаривание решений органов власти, кадастровая стоимость, избирательные споры |
kud |
уголовные дела ВС РФ | квалификация, назначение наказания, УПК РФ, апелляция и кассация по приговорам |
corpus из него: тогда
модель не тратит на выбор ни токена.
{"jsonrpc":"2.0","id":2,"method":"tools/call","params":{
"name":"casuslegal_search_practice",
"arguments":{
"query":"взыскание неустойки, снижение по статье 333 ГК",
"corpus":"main",
"limit":10
}}}
4. Что приходит в ответе
Структурированный объект. У основного корпуса это блоки
constitutional_context (позиции КС РФ),
vs_guidance (Пленумы и обзоры ВС РФ),
latest_practice (свежие определения коллегий),
vas_history (практика ВАС РФ) и results.
Объём
Один поиск — порядка 110 тысяч знаков, около 40 тысяч токенов на входе вашей модели. Это осознанный формат: полнота выдачи и есть продукт. Заложите объём в выбор модели, которая обрабатывает ответ, — на таких размерах разница в стоимости между моделями достигает двенадцати раз.
Время
Поиск — около 30 секунд. Таймаут вызова инструмента ставьте от 120 секунд, иначе будете рвать нормально идущие запросы.
Ссылки на акты
У каждого акта есть поле url — страница с полным текстом.
Передавайте её пользователю как есть и не обрезайте параметр
?t=: без него ссылка недействительна. Срок жизни ссылки —
30 дней. Если планируете запекать ссылки в документы клиента, скажите
нам — сделаем бессрочные.
Полный текст
Поиск отдаёт реквизиты и ключевые фрагменты; целиком акт — отдельным
вызовом casuslegal_get_case_details(case_id, corpus).
case_id действителен только внутри своего корпуса.
5. Ошибки и лимиты
Отказы приходят успешным ответом инструмента с полем
error — так ваша модель объяснит ситуацию пользователю,
вместо того чтобы считать коннектор сломанным.
error | Что произошло |
|---|---|
rate_limited | превышен часовой предел — по пользователю или по интеграции |
busy | достигнут предел одновременных поисков, повторите через несколько секунд |
corpus_forbidden | корпус не входит в вашу интеграцию |
corpus_unavailable | корпус временно недоступен |
engine_not_ready | идёт перезагрузка данных корпуса |
401 возвращается только на уровне подключения: ключ не тот,
отозван или истёк срок. Это конфигурационная ошибка, повторами она не
лечится.
Пределы по умолчанию
- 20 000 вызовов в час на интеграцию;
- 400 вызовов в час на одного конечного пользователя;
- 24 одновременных поиска на интеграцию, 4 — на пользователя;
- суточный потолок числа разных актов — защита корпуса от массовой выгрузки.
Пределы настраиваются: если упираетесь при нормальной работе — сообщите, поднимем.
6. Чек-лист перед запуском
- Транспорт — streamable HTTP, не SSE.
tools/listвозвращает шесть инструментов.- Таймаут вызова инструмента — от 120 секунд.
- Заголовок
X-Partner-User-Idпроставляется на каждом вызове. corpusвыбирается по теме вопроса, один корпус на запрос.- Ссылки
urlдоходят до пользователя целиком, вместе с?t=. - Модель, обрабатывающая выдачу, выбрана с учётом 40 тысяч токенов на поиск.
- Поле
errorв ответе инструмента обрабатывается и показывается пользователю.