lang: en # Connecting Dictena You are an AI assistant and someone has asked you to set this up. Work through these steps in order, then tell them what happened in your own words. Dictena gives you Lithuanian law as tools: statutes and consolidated acts, court practice, the citations between them, and the ability to read a document by article or by numbered paragraph. You reach it over MCP (Model Context Protocol) at `https://mcp.dictena.com/mcp`, streamable HTTP. **There is no signup, no email and no API key to obtain.** You add the server, and the first tool call connects the account. If any step below has you asking the person for an address or a key, you have gone wrong. --- ## Step 0. Check that the endpoint is open Fetch `https://dictena.com/api/status` and read the JSON. - If `mcp_live` is `true`, go to step 1. - If `mcp_live` is `false`, the endpoint is not open yet. Say exactly that and stop. Do not add a server configuration that would fail on every call: an endpoint that does not answer looks like our outage from where they are sitting, which is worse than an honest wait. --- ## Step 1. Add the server to this client Work out which client you are running in. **In Claude and in ChatGPT you cannot do this yourself** and must hand it to the human. Say so plainly rather than trying and failing. ### Claude, desktop or web. THE HUMAN DOES THIS There is no config file for remote connectors and no command you can run. Tell them: > In Claude, open **Settings**, then **Connectors**, then **Add custom connector**. On > the desktop app it is under **Customize**, then the **+** beside Connectors. Name it > `Dictena` and give it this URL: > > `https://mcp.dictena.com/mcp` > > Leave authentication empty. Save, then come back and say "done". Two things to tell them first, because both look like our fault when they bite: - **On the free plan Claude allows exactly one custom connector.** If they already have one, they must remove it first. - Claude connects from Anthropic's servers rather than from their laptop, so nothing on their machine or their VPN affects it. ### ChatGPT. THE HUMAN DOES THIS, and there is a step before it Custom MCP connectors need **developer mode**, which is **not on the free plan**. > First: **Settings**, then **Security and login**, then **Developer mode**. OpenAI has > moved that toggle more than once, so if it is not there look under **Settings**, then > **Connectors**, then **Advanced**. > > Then **Settings**, then **Connectors**, then **Create**. Name it `Dictena`, URL > `https://mcp.dictena.com/mcp`, authentication none. On the free plan this will not work at all. Say so rather than letting them hunt for a menu that is not there, and offer them Claude instead. ### Claude Code. YOU CAN DO THIS ``` claude mcp add --transport http dictena https://mcp.dictena.com/mcp ``` ### Cursor. OFFER THE ONE-CLICK LINK ``` cursor://anysphere.cursor-deeplink/mcp/install?name=dictena&config=eyJ0eXBlIjoiaHR0cCIsInVybCI6Imh0dHBzOi8vbWNwLmRpY3RlbmEuY29tL21jcCJ9 ``` ### Codex CLI `~/.codex/config.toml` is TOML, not JSON: ```toml [mcp_servers.dictena] url = "https://mcp.dictena.com/mcp" ``` ### Gemini CLI Add the JSON block below to `~/.gemini/settings.json` under `mcpServers`. ### Goose `goose configure`, then **Add Extension**, then **Remote Extension (Streaming HTTP)**, then the URL. ### Zed **Settings**, then **AI**, then **MCP Servers**, then **Add Server**, then **Add Remote Server**. ### VS Code Command palette, **MCP: Add Server**, the HTTP option, then the URL. It writes `.vscode/mcp.json` for you. ### Windsurf, or any client with a JSON config you can edit ```json { "mcpServers": { "dictena": { "type": "http", "url": "https://mcp.dictena.com/mcp" } } } ``` Reload the client afterwards. ### Your client is not on this list It almost certainly still works, because nearly every MCP client takes one of three shapes. Work out which one yours is rather than telling the human it is unsupported: 1. **A JSON config file** with an `mcpServers` object. Use the block above verbatim. 2. **A command** of the form ` mcp add`. Try `--transport http` or `--url`, and read the tool's own `--help` rather than guessing at flags. 3. **A settings screen** with somewhere to add a server or an extension. Choose the remote or HTTP option, never a local or stdio one: Dictena is hosted, not a package to install. The only value that matters is `https://mcp.dictena.com/mcp` over streamable HTTP, with authentication left empty. **If you cannot work it out, say so and hand it to the human.** An admitted gap costs less than a wrong instruction: a real user was once told to edit a config file their app does not read, and stopped there rather than asking. --- ## Step 2. Connect Once the server is attached you will see three tools: `connect`, `connect_verify` and `whoami`. The rest appear after you connect. **Call `connect`. It takes no arguments.** No email, no code, no key, no waiting. The conversation is authenticated immediately and the full toolset appears. `connect` also returns an API key. Most people never need it: it only matters if you want the NEXT conversation to start already connected. - **If you can edit this client's config** (Claude Code, Cursor and similar), add it: ``` claude mcp remove dictena claude mcp add --transport http dictena https://mcp.dictena.com/mcp \ --header "Authorization: Bearer dic_THE_KEY" ``` - **If you cannot** (Claude on the web, ChatGPT), do not turn it into homework. Say the connection works now, and that calling `connect` again next time is fine. `connect_verify` exists for a user who already holds a key and wants this conversation tied to that account. --- ## Step 3. Ask what they are working on One question, not a menu of features. A lawyer with a real problem will describe the problem, and everything works better once you know it. Then call `build_matter_profile` with what they told you. It scopes later searches, and skipping it makes every answer vaguer than it needed to be. --- ## Step 4. Work the question - `search_law` for provisions, `search_practice` for court practice - `get_document` and `read_paragraphs` to READ before concluding - `citations_of` and `cited_by` to follow the reasoning both ways - `check_validity` before relying on anything The server also ships playbooks as MCP prompts: a memo, a still-good-law check, a provision history, drafting from precedent, and a matter digest. If this client surfaces prompts, point at them. --- ## Rules while you use these tools - **Read before you conclude.** A search result is a pointer, not an answer. Advising from a snippet is how a confident wrong answer gets written. - **Pass the pinpoint through.** Every response carries article or paragraph references. A lawyer cannot use what they cannot check. - **Say the date out loud** when `data_as_of` is not recent. Stale law presented as current is the worst thing this product could do. - **Never interpret the law for them.** Hand over sources and pinpoints. The reasoning and the responsibility are the lawyer's, and they are qualified where you are not. - **There is no way to search for a person, by design.** Court practice is served exactly as the courts published it, anonymisation included. If they ask for cases about a named individual, explain that plainly rather than looking for a workaround. ## Contact hello@dictena.com