English translation for research convenience. The Russian original remains the authoritative source.
CasusLegal CasusLegal Higher-court case-law corpus ← Home
For partner platforms

CasusLegal connector in your product

One address and one key for four corpora of Russian case law. Your assistant receives tools for searching and reading judgments; routing between corpora is handled on our side.

This page is for the platform’s technical specialists, which embeds CasusLegal in its product and itself serves end-user lawyers. If you are a lawyer and want to connect the connector to your neural network (Claude, ChatGPT, Grok and others), go to the connector connection, where access is provided by subscription and no partner key is needed.

1. Connection

Standard MCP server: connect it like any other connector in your chat.

ParameterValue
Addresshttps://mcp.casus.legal/partner/mcp
TransportMCP Streamable HTTP (not SSE)
AuthenticationAuthorization: Bearer clp_… — you receive the key in one of two ways, see below
Connector name in the clientLatin characters only, for example CasusLegal

How to obtain the key

A partner key looks like clp_<name>_…. There are two methods; their connection endpoint and operating rules are identical.

The key provides access to all databases enabled for you. Store it only on the server and do not send it to the end user’s browser.

We explicitly specify the transport type A client configured for SSE will not connect to this address at all. In the MCP client’s configuration this is usually "type": "streamable-http" or "streamable" — depending on the library.
bash · connection check
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"}}}'

The response contains — serverInfo.name: "CasusLegal Partner". Next, tools/list it should return nine tools.

2. Request headers

HeaderRequiredPurpose
Authorization: Bearer clp_… yes platform key
X-Partner-User-Id strongly recommended end-user (lawyer) pseudonym on your side

X-Partner-User-Id — any stable string that does not disclose identity: your internal identifier or its hash. It is needed for itemised accounting by user: it is used to reconcile our figures with yours (how many calls, of what types, and how many people actually reached the connector). The header does not affect access: there are no user-number limits.

3. Tools

Nine tools, each with a parameter corpus.

ToolWhat it does
casuslegal_search_practiceprimary subject-matter case-law search
casuslegal_find_termsearch for a phrase or rare term (consecutive words, in all word forms)
casuslegal_get_case_detailsthe full text of a ruling by its numerical id from the results
casuslegal_find_similarjudgments close to the specified one in legal position
casuslegal_list_tagsfrequency dictionary of the corpus’s topics
casuslegal_statscorpus contents: volume, year coverage, courts
casuslegal_browse_practicecase selection without analysis: a flat list with pagination
casuslegal_export_casescatalogue page generated from selected IDs (links to texts, download in Markdown/DOCX)
casuslegal_subscription_statusaccess status for the corpus; responds to the partner key not_applicable

Parameter corpus

ValueCorpusTopics
main
by default
Constitutional Court of the Russian Federation, Supreme Court of the Russian Federation, Supreme Commercial Court of the Russian Federation civil, commercial, tax, insolvency, corporate, contractual, employment and inheritance disputes; Resolutions of the Plenum and reviews of the Presidium of the Supreme Court of the Russian Federation; legal positions of the Constitutional Court of the Russian Federation
sip Intellectual Property Court trademarks, patents, copyright and related rights, disputes with Rospatent, domain-name disputes
kas administrative cases of the Supreme Court of the Russian Federation (KAS) regulatory review, challenges to decisions of public authorities, cadastral value, electoral disputes
kud criminal cases of the Supreme Court of the Russian Federation legal classification, sentencing, CPC RF, appeals and cassation proceedings against judgments
One question — one corpus The corpora do not overlap, so repeating the same query across the others is unnecessary and costly: each search takes about 30 seconds and returns a large volume of text. If your interface allows you to select a source, the cheapest option is to select corpus from it: the model then spends no token on selecting one.
json · tool call
{"jsonrpc":"2.0","id":2,"method":"tools/call","params":{
  "name":"casuslegal_search_practice",
  "arguments":{
    "query":"recovery of a penalty, reduction under Article 333 of the Civil Code",
    "corpus":"main",
    "limit":10
  }}}

4. What the response contains

A structured object. For the main corpus, these are the blocks constitutional_context (legal positions of the Constitutional Court of the Russian Federation), vs_guidance (Plenum resolutions and reviews of the Supreme Court of the Russian Federation), latest_practice (recent rulings of judicial chambers), vas_history (practice of the Supreme Commercial Court of the Russian Federation) and results.

Volume

One search returns approximately 110,000 characters, or about 40,000 tokens as input to your model. This is intentional: completeness of the results is the product. Factor this volume into your choice of the model that processes the response — at this scale, the difference in cost between models can be as much as twelvefold.

Time

A search takes about 30 seconds. Set the tool-call timeout to at least 120 seconds; otherwise, you will interrupt requests that are proceeding normally.

Links to judicial acts

Each judicial act has a field url — a page containing the full text. Pass it to the user as is, and do not truncate the parameter ?t=: without it, the link is invalid. The link remains valid for 30 days. If you plan to embed links in client documents, tell us — we will make them permanent.

Full text

The search returns the identifying details and key excerpts; the full judicial act is obtained by a separate call casuslegal_get_case_details(case_id, corpus). Parameter case_id — is the number from the field id in the results card. The card also has a field with the same name case_id, but it contains the case number (a string of the form “305-ЭС22-11906”); it must not be transmitted. id valid only within its own corpus; the same applies to casuslegal_find_similar.

We do not prescribe the format of the response to the user Service directives on how to format the response are not sent through the partner channel: your assistant responds under your contract.

5. Errors and load

Failures are returned as a successful tool response with a field error — this allows your model to explain the situation to the user, rather than treating the connector as broken.

errorWhat happened
corpus_forbiddenthe corpus is not included in your integration
corpus_unavailablethe corpus is temporarily unavailable
engine_not_readythe corpus data is being reloaded

401 is returned only at the connection level: the key is incorrect, revoked or expired. This is a configuration error; retries will not resolve it.

Load

There are no limits on the number of users, calls or concurrent requests: the integration pays for each successful request, and we do not limit the volume of requests.

Note one physical property: simultaneous searches across the main corpus share processor time. Four parallel searches take approximately as long to complete as four sequential searches, and each takes longer than a single search. The time saving comes from parallel searches across different corpora: they are served by separate services. If you are planning peak load, notify us in advance—we will add capacity for it.

6. Billing

Each successful request that returns content to you is billable: search, full text of a ruling, similar rulings, list, export and “Glossa” commentary, 3,00 ₽ per request, the full text of a ruling— 2,00 ₽. Reference and service calls are free.

ToolWhat it doesPrice
search_practicesemantic case-law search3,00 ₽
find_termexact phrase search across the entire corpus3,00 ₽
get_case_detailsfull text of a ruling2,00 ₽
find_similarrulings similar to the one found3,00 ₽
browse_practicecase-law list by filters3,00 ₽
export_casesselection export3,00 ₽
list_tags, stats, subscription_statustopic dictionary, corpus composition, access statusfree

In the partner dashboard, you can see the number of calls—paid and free—broken down by tools, databases, districts and days, together with the amount payable lk.casus.legal/pcab. There, you can also issue the key yourself and enable or disable the databases available to you: a disabled database returns a refusal and is not charged. Your manager at CasusLegal will send the link for your first login; you set the password yourself. The free trial period is marked separately there: the amount for it is shown for reference and is not billed.

Billing procedure

The partner dashboard is designed for self-service. On your first login, you set a password, an email address for exchanging documents, and your organisation’s details; the dashboard will not open without them. The details are immediately inserted into the agreement, certificates of services rendered and invoices; the agreement has already been signed on our side (by facsimile). Download it from the “Documents and Billing” section, sign it and upload a scan using the “Upload Signed Agreement” button. The agreement is also deemed concluded upon payment of the first invoice. All documents are stored in the dashboard and can be downloaded at any time.

7. Pre-launch checklist

Questions about integration and load plans should be addressed through your manager at CasusLegal or at @CasusLegalBot. The composition of the corpora and database volume are available on the page “Database”.
EN