Five steps, about two minutes. AnythingLLM runs on your computer or server, so connecting differs from Claude and ChatGPT. There is no login window here, and access is provided via a personal token from your account.
All screenshots below were taken in AnythingLLM version 1.16. The interface is identical in the desktop application and the server installation.
| What is required | Address (URL) |
|---|---|
| All paid databases, including the districts | https://mcp.casus.legal/one/mcp |
A subscription or trial period for the required database and a personal token of the form vasrf_conn_…. The token is issued using a button in the account and is displayed only once.
Either the desktop application or the server installation will work. You need the section Agent Skills with the block MCP Servers, which is available in current versions.
Any model you have already configured will work: the connector is not tied to it.
Open account, the tab “Connectors”, block “Other environments” and click “Issue token”. A token of the form vasrf_conn_… is displayed once, so copy it immediately. Only its hash is stored in the database.
The token remains valid while the subscription is active and opens all paid databases. It does not disrupt already configured Claude and ChatGPT connections; existing connections continue to work with their own tokens.
Treat it like a password: it provides access to your subscription. If the token has been exposed or lost, issue a new one using the same button and replace the value in the settings.
In AnythingLLM click the settings gear and select Agent Skills in the left-hand column. Scroll down the page: below the blocks Custom Skills and Agent Flows is located MCP Servers.
Nothing has been added yet; it says No MCP servers found, and a button is shown next to it Refresh — you will need it in step 4.

Servers are defined by a file anythingllm_mcp_servers.json in the folder storage/plugins of your installation: for the server build, this is the directory you mounted; for the desktop application, it is its data folder. Create the file if it does not yet exist and insert:
storage/plugins/anythingllm_mcp_servers.json
The connection address is https://mcp.casus.legal/one/mcp. This is a single address: it provides access to all databases covered by your subscription, and it automatically selects the appropriate AI model based on the subject of the question. If you need a connector for a single database, separate addresses are also available (IP Court — https://sip.casus.legal/mcp, KAS — https://kas.casus.legal/mcp, KUD — https://kud.casus.legal/mcp), but the address must then match the database covered by your subscription; otherwise, the server will respond “the subscription is inactive or has expired.” There is no need to keep both the single address and separate addresses at the same time: the AI model will see two identical sets of tools and search twice. The complete table of addresses is below, under the steps.
The server type is required streamable. Our address uses the Streamable HTTP protocol, and with the value sse the connection cannot be established. This is the most common error during the initial connection.
Write the server name ("casuslegal") in Latin characters. Tool identifiers cannot be generated internally from a Cyrillic name, and the model will not see them.
If you need several databases, add a block like this for each one, changing the name and address from the table below. The token is the same in all blocks.
Return to Agent Skills → MCP Servers and click Refresh. The server will appear in the list under the name from the configuration.
The status Running means that the connection has been established. Click the server to see the list of tools: casuslegal_search_practice, casuslegal_get_case_details and the others. The status Stopped (as shown in the screenshot) means that the server has not started. Most often, the cause is an incorrect or expired token or the wrong sse instead of streamable.

MCP tools are available only in agent mode, so start your message with @agent. For example: “@agent find Supreme Court of the Russian Federation case law on reducing a penalty under Article 333 of the Civil Code of the Russian Federation”.
The tools connected to the conversation are shown in the menu Tools below the input field. The slash commands and agent skills are listed there as well.
The first search takes about 30 seconds because the connector runs several sub-searches across the corpus. The response should include the details of the decisions with links to the full texts.

Each database is connected as a separate server in the same file. The token is shared and provides access to all databases covered by your subscription.
| Database | Server name | Address (URL) |
|---|---|---|
| All subscribed databases at once | casuslegal | https://mcp.casus.legal/one/mcp |
| Commercial cassation districts (all) | casuslegal-okruga | https://mcp.casus.legal/okrug/mcp |
| Higher courts: Constitutional Court · Supreme Court · Supreme Commercial Court | casuslegal | https://mcp.casus.legal/mcp |
| Intellectual Property Court (IP Court) | casuslegal-sip | https://sip.casus.legal/mcp |
| Administrative cases (KAS · Judicial Chamber for Administrative Cases of the Supreme Court of the Russian Federation) | casuslegal-kas | https://kas.casus.legal/mcp |
| Criminal cases (KUD · Judicial Chamber for Criminal Cases of the Supreme Court of the Russian Federation) | casuslegal-kud | https://kud.casus.legal/mcp |
This is what an unsuccessful connection looks like. The three most common causes are: the server type sse instead of streamable, a typo in the token (an extra space, a missing character, or a missing word Bearer before the value), or an expired subscription.
Check the access period in the “Connectors” tab of your account, and if in doubt, issue a new token and click Refresh.
The message was sent without the prefix @agent. The regular model responds instead and does not access the connector.
The second reason is a Cyrillic server name in the configuration. Rewrite it in Latin characters and refresh the list.
Protection against anomalous load has been triggered. It does not trigger during ordinary legal work (dozens of requests per day); if the message appears at a normal pace, write to us at support — we will investigate it for your account.
A single corpus search takes about 30 seconds, and a complex question triggers several searches in succession. If your build terminates the call due to a timeout, increase the tool wait limit in the agent settings.
In the same file, add one block for each address in the table above, using different server names. The subscription remains the same, and the token provides access to all subscribed databases.
It is not shown again. Issue a new one in your account and replace the value in the configuration; existing connections will not be disconnected.