LegalMike

LMCP MCP Server

MCP server for Dutch & European legal search — 12 sources, citation-verified answers

Connect to LegalMike's MCP Server

LegalMike's Model Context Protocol (MCP) server gives your AI assistant access to Dutch and European legal sources. Ask a legal question and receive a grounded, citation-backed answer in seconds.

You can connect LegalMike to Claude on Claude.ai, the Claude desktop app, and Claude Code.

Claude.ai

  1. Go to SettingsConnectorsAdd Custom Connector
  2. Enter a name (e.g. "LegalMike") and the server URL: loading...
  3. Click Add — a browser window opens for you to log in with your LegalMike account
  4. In a conversation, click +Connectors and enable LegalMike

Available on Free (1 integration), Pro, Max, Team, and Enterprise plans. See the Anthropic documentation for more details.

Claude Code

Run this command to add the server:

claude mcp add --transport http lmcp loading...

Add to .vscode/mcp.json in your project:

loading...

Then open Copilot Chat in Agent mode. Copilot will prompt you to authenticate with your LegalMike account via OAuth.

If OAuth isn't available, pass an API key in the Authorization header as a Bearer token.

You can add MCP apps to ChatGPT if you have a Pro, Plus, Team, Enterprise, or Edu account.

  1. Go to SettingsApps & ConnectorsAdvanced settings and enable Developer mode
  2. Go back to Apps & Connectors and click Create
  3. Enter a name (e.g. "LegalMike") and the server URL: loading...
  4. Select "OAuth" as the connection mechanism and click Create
  5. In a new conversation, click +More and select LegalMike

See the OpenAI documentation for more details.

Work in progress. Contact info@legalmike.ai for early access.

MCP clients with OAuth support

Use server URL loading... with "OAuth" as the connection mechanism. Your client handles the authorization flow automatically.

loading...

API key (system-to-system)

For backend services, automated pipelines, or clients that don't support OAuth, pass an API key as a Bearer token in the Authorization header. No OAuth flow or client registration is needed.

{
  "mcpServers": {
    "lmcp": {
      "url": "loading...",
      "headers": {
        "Authorization": "Bearer YOUR_API_TOKEN"
      }
    }
  }
}

API tokens are issued per organization with a configurable expiry. Contact info@legalmike.ai to request one for your organization.

Important: LMCP provides legal information, not legal advice. Answers are grounded in authoritative sources but should be verified by a qualified legal professional. LegalMike does not store your questions or use them for training. By using the MCP server you agree to our terms of use.

Request Pipeline

Each ask call passes through five stages before returning a response.

1
Understand Classifies intent (legal_question, follow_up, possibly_legal, meta_question, off_topic), detects language (27 supported), checks completeness, and flags legal misconceptions. Non-Dutch questions are translated to Dutch for retrieval.
2
Orchestrate Splits the question into sub-questions and routes each to one or more of the 12 search tools based on legal domain.
3
Retrieve Runs routed searches in parallel (max 8 concurrent). Each tool performs query expansion, then hybrid retrieval (semantic + BM25) against its source. Returns ranked text chunks with metadata.
4
Synthesize Validates that at least one source returned chunks (evidence gate), then generates a structured answer. Every legal claim must cite a source identifier (ECLI, CELEX, BWB, etc.) with a link to the original document.
5
Grade Cross-references ECLI/CELEX numbers in the answer against retrieved chunks. Hallucinated citations trigger low confidence. Returns a confidence level (high / medium / low) via SSE notification: CONFIDENCE:{level}|{cited}/{provided}|{utilization}%.

Server Behavior

Language handling Input in 27 languages is accepted. Questions are translated to Dutch before retrieval. Answers are always in Dutch. A disclaimer in the original language is prepended for non-Dutch input.
Incomplete questions If the question is too vague to search (no identifiable legal domain), the server returns a clarifying question instead of an answer. Location-dependent questions (local law) require a postcode or gemeente.
Follow-up detection When conversation_history is provided, the server detects follow-up questions and reconstructs the full context from prior turns. Topic switches are treated as new questions.
Citation verification ECLI and CELEX identifiers in the answer are cross-referenced against the actual retrieved documents. Unverifiable citations result in low confidence.
Progress notifications The server sends SSE progress updates during processing (e.g. "Zoeken in jurisprudentie..."). Long synthesis runs include periodic heartbeat messages.
Meta questions Questions about LegalMike itself (sources, pricing, privacy) are answered directly with product information and live dataset statistics, without running the full retrieval pipeline.

Authentication

LMCP requires authentication for all tool calls. Two methods are supported.

Method For How
OAuth 2.1 Individual users with a LegalMike account Your AI client handles the flow automatically (Authorization Code + PKCE). No keys to manage.
API Key (Bearer Token) System-to-system integrations, backend services LegalMike generates a long-lived token for your organization. Pass it as a Bearer token in the Authorization header. Contact info@legalmike.ai to request one.

Using an API key

Pass the token as a Bearer token in the Authorization header. No OAuth flow or client registration is needed.

curl -X POST https://mcp.legalmike.ai/mcp \
  -H "Authorization: Bearer YOUR_API_TOKEN" \
  -H "Accept: application/json, text/event-stream" \
  -H "Content-Type: application/json" \
  -d '{"jsonrpc":"2.0","method":"initialize","params":{"protocolVersion":"2025-03-26","capabilities":{},"clientInfo":{"name":"my-app","version":"1.0"}},"id":1}'

Contact info@legalmike.ai to request an API key for your organization.

Client compatibility

Client OAuth 2.1 API Key
ChatGPT supported
Claude supported
Microsoft 365 Copilot supported supported
GitHub Copilot supported supported
Custom backend / API supported

Available Tools

LegalMike's MCP server provides tools to search Dutch and European legal sources and synthesize grounded answers. Your AI assistant can call these tools directly — every claim in the response is backed by a citation to the original source. You don't need to learn the tools yourself; your AI client discovers and invokes them automatically based on your questions.

Loading tools...

Legal Sources

Every answer is grounded in text chunks retrieved from these authoritative sources. Citations link directly to the original documents on their official platforms.

Jurisprudentie Dutch case law from all courts — Hoge Raad, Gerechtshoven, Rechtbanken (ECLI, via rechtspraak.nl)
Wetgeving Dutch legislation, AMvBs, ministerial regulations (BWB, via wetten.overheid.nl)
Tuchtrecht Disciplinary law — medical, legal, notary, accounting (tuchtrecht.nl)
Lokale regelgeving Municipal & provincial rules, spatial filtering by postcode or gemeente (CVDR)
EU-wetgeving EU directives, regulations, decisions (CELEX, via EUR-Lex)
EU-rechtspraak Court of Justice & General Court judgments (CELEX, via EUR-Lex)
EHRM-rechtspraak European Court of Human Rights cases and practice guides (HUDOC)
Geschilbeslechting ADR decisions: Kifid, SKGZ, Geschillencommissie Bouw (RAB)
Juridische literatuur Scholarly articles, legal commentary & doctrine
Parlementaire stukken Kamerstukken, Memorie van Toelichting & legislative history
Tuchtraad Verzekeraars Insurance industry disciplinary board decisions
CvT (Commissie van Toezicht) Detention oversight committee decisions on prisoner complaints
RSJ (Raad voor Strafrechtstoepassing) Appeals on detention, TBS, and youth protection decisions

FAQ

What is MCP?

The Model Context Protocol is an open standard for connecting AI clients to external tools and data. LMCP implements Streamable HTTP transport with SSE for progress notifications.

What transport does the server use?

Streamable HTTP. The endpoint is /mcp. The server returns a session ID on initialization. Progress updates and confidence scores are sent as SSE notifications during tool execution.

What does the confidence notification mean?

After each answer, the server sends CONFIDENCE:{level}|{cited}/{provided}|{utilization}%. level is high, medium, or low. cited/provided shows how many source chunks were referenced vs. retrieved. utilization% is the ratio. Low confidence typically means a hallucinated citation was detected.

How is conversation context handled?

Pass conversation_history (array of {role, content} objects) to enable follow-up detection and context reconstruction. The server detects topic switches and treats them as new questions automatically.

Does the server store questions or answers?

No. Questions and answers are not persisted and are not used for model training.

Health check endpoint?

GET /status returns {"status": "ok", "server": "LMCP"}.