conformi-search
Officialconformi-search is an MCP server for verifiable EU legal research, returning answers with primary-source CELEX citations and EUR-Lex deep links.
get_knowledge_article(free, no API key) – Retrieve a pre-generated curated knowledge report for a specific EU legal act (e.g., GDPR, AI Act, NIS2, DORA, CRA) by CELEX number, including Rechtsstand (legal-status date) metadata.get_legal_timeline(free, no API key) – Retrieve an application-date timeline for a major EU act by CELEX number, showing staggered obligations and key deadlines (e.g., AI Act high-risk system deadlines).search_eu_law(requires API key, metered) – Perform semantic search across EU secondary law; results include CELEX numbers and EUR-Lex deep links, with an optionalvalid_attime-travel filter to query law as of a specific date.
The server also supports German, English, and French using native-language indexes rather than machine translations.
conformi-search — EU Legal Research MCP Server
Verifiable EU law for AI agents — every answer carries a CELEX number and an EUR-Lex deep link.
Language: English · Deutsch · Français
MCP server for EU legal research with verifiable CELEX citations from the EUR-Lex corpus (German, English, French — each a native-language index, not machine translations). It exposes selected EU legal research tools to any MCP client and can optionally use a conformi API key for extended semantic search.
Research tool with primary-source citations — not legal advice, no attorney-client relationship.
Why this exists
LLMs answer EU-law questions plausibly but unverifiably. conformi-search returns answers that are checkable against the primary source: each result carries the CELEX number and a direct EUR-Lex link, so an agent (or a human) can verify the citation instead of trusting a hallucination. Works in Claude Code, Claude Desktop, Cursor, and any other MCP-capable harness.
Related MCP server: cellar-wrapper
Two ways to use it
1. Run it locally (stdio) — installable MCP server, no key needed for the free tools:
npm install && npm run build
node dist/index.jsOr with Docker:
docker build -t conformi-search-mcp .
docker run -i conformi-search-mcpAdd to an MCP client (e.g. Claude Desktop) config:
{
"mcpServers": {
"conformi-search": {
"command": "node",
"args": ["/path/to/conformi-search-mcp/dist/index.js"],
"env": { "CONFORMI_API_KEY": "cfm_live_… (optional, enables search_eu_law)" }
}
}
}Without CONFORMI_API_KEY the two free tools are available. Setting the key adds the
metered search_eu_law tool.
2. Use the hosted remote endpoint directly (Streamable HTTP, stateless):
https://conformi.eu/api/mcpRegistered in the official MCP Registry as eu.conformi/conformi-search.
Wikidata: Q140166658
Tools
Tool | Auth | Billing |
| API key | metered per query |
| none | free |
| none | free |
Getting an API key (machine-friendly)
The full contract incl. pricing and a machine-driven purchase flow is in the OpenAPI document:
https://conformi.eu/api/v1/openapi.json7-day free trial on the Professional plan, €0 due today, cancel anytime before trial end.
Quick test (no key needed)
curl -X POST https://conformi.eu/api/mcp \
-H "Content-Type: application/json" \
-d '{"jsonrpc":"2.0","id":1,"method":"tools/call","params":{"name":"get_knowledge_article","arguments":{"celex":"32024R1689"}}}'Troubleshooting
Symptom | Cause & fix |
| No |
| Key invalid or revoked. Check the key in your conformi.eu account (Account → API Keys) |
| Subscription inactive or the 50-query trial allowance is used up — activate the subscription |
| No curated report exists for that act yet. Try |
Connection fails | The server speaks Streamable HTTP only (no SSE). POST JSON-RPC to https://conformi.eu/api/mcp; GET returns 405 by design |
Anything else | Open an issue: https://github.com/conformi-eu/conformi-search-mcp/issues or mail info@conformi.eu |
License
This repository documents the public endpoint. The hosted service, its source code and its data products are proprietary and governed by the conformi.eu terms — only the contents of this repository are MIT-licensed.
About
Built by conformi.eu — EU compliance research with verifiable sources.
Available Tools
2 toolsget_knowledge_articleARead-only
Pre-generated knowledge report for one EU legal act (CELEX number), including Rechtsstand (legal-status date) metadata. Free — no API key required. Research tool with primary-source citations (CELEX/EUR-Lex) — not legal advice, no attorney-client relationship.
| Name | Required | Description | Default |
|---|---|---|---|
| celex | Yes | CELEX number, e.g. 32024R1689 (AI Act) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already mark readOnlyHint true. Description adds value by noting it's free, requires no API key, pre-generated, and not legal advice, which are behavioral traits not covered by annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences, no redundancy. First sentence states core purpose and content; second adds free usage and disclaimer. Every word serves a purpose.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given one parameter, no output schema, and ample annotations, description sufficiently explains tool purpose, parameter meaning, output type, and behavioral context. Could briefly mention output format (e.g., whether text or URL) but still complete enough.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema provides pattern and example for celex parameter (100% coverage). Description enhances by clarifying it's 'for one EU legal act' and that output includes Rechtsstand metadata, adding context beyond schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Clearly states it provides a pre-generated knowledge report for one EU legal act using a CELEX number, including Rechtsstand metadata. Distinguishes from sibling tool 'get_legal_timeline' by focusing on report content rather than timeline.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Implies usage for research via 'Research tool' and 'Free — no API key required', but does not explicitly contrast with sibling or specify when not to use. No direct guidance on alternatives.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_legal_timelineARead-only
Application-date timeline for a major EU act (staggered obligations, e.g. AI Act high-risk deadlines). Free — no API key required. Research tool with primary-source citations (CELEX/EUR-Lex) — not legal advice, no attorney-client relationship.
| Name | Required | Description | Default |
|---|---|---|---|
| celex | Yes | CELEX number, e.g. 32024R1689 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Adds context beyond annotations by noting it is a research tool with primary-source citations and disclaimers about legal advice. Annotations already declare readOnlyHint=true, so the description reinforces safe read-only behavior.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Description is extremely concise with two sentences that convey the core purpose and key caveats, front-loaded with the main action. No wasted words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool has only one required parameter and no output schema, the description sufficiently covers what the tool does and its non-legal nature. Could be enhanced by hinting at the output format, but overall adequate.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% for the single parameter 'celex'. The description does not add extra meaning beyond what the schema provides (e.g., example value), so baseline score of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Clearly states the tool returns an application-date timeline for a major EU act with staggered obligations, exemplified by the AI Act high-risk deadlines. It uses specific verb 'timeline' and resource 'EU act', distinguishing it from the sibling 'get_knowledge_article'.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Mentions 'Free — no API key required' but does not explicitly state when to use this tool versus the sibling 'get_knowledge_article' or provide circumstances where it should not be used.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections. Dates show when Glama detected each change.
2 tool updates
v1.0.0- First observed
get_knowledge_article - First observed
get_legal_timeline
TDQS
The two tools have clearly distinct purposes: one retrieves a knowledge report for a specific CELEX number, the other provides a timeline for a major EU act. No overlap in functionality.
Both tools follow a consistent 'get_<descriptor>_<noun>' pattern: get_knowledge_article and get_legal_timeline. The naming is predictable and clear.
With only 2 tools, the set is thin for a research server, but it may be acceptable given the focused scope on pre-generated reports and timelines. It falls below the typical 3-15 range.
The surface is incomplete for EU legal research: there is no way to search or list available acts, nor to get details beyond the two specific functions. Significant gaps exist for an agent working with EU law.
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Connectors
Eurlex MCP client: Access EU law & Official Journal. https://www.lexsocket.ai/
Personal knowledge base MCP server with semantic search, auto-categorization, metadata extraction
Auditable MCP server for PubMed, Europe PMC, ClinicalTrials.gov, and bioRxiv/medRxiv queries
Temporal search and comparison for official Luxembourg and reviewed EU law, with provenance.
Related MCP Servers
- AlicenseNot gradedqualityDmaintenanceMCP server covering French law via the PISTE platform: 8 tools wrapping the JUDILIBRE API (open data judicial decisions from Cour de cassation, courts of appeal and civil courts).2AGPL 3.0
- AlicenseNot gradedqualityDmaintenanceA community-maintained MCP server that simplifies access to EU legal and legislative data from the CELLAR service, supporting lookups, metadata retrieval, relation checks, and monitoring.1MIT
- AlicenseAqualityAmaintenanceMCP server for EU law via the EUR-Lex / Cellar SPARQL endpoint — legislation (ELI/CELEX) and CJEU case-law (ECLI) with verifiable citations.3681MIT
- AlicenseAqualityAmaintenanceMCP server for EU compliance grounding (GDPR, AI Act, DORA, NIS2, eIDAS 2.0, CRA) — verbatim retrieval from a local SQLite FTS5 index.582MIT
Appeared in Searches
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/conformi-eu/conformi-search-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server