Skip to main content
Glama

regulation_search

Read-onlyIdempotent

Search the text of EU financial regulation — a 29-act corpus (~13,000 citable chunks) covering markets & securities (MiFID II, MiFIR, MAR, Prospectus, EMIR, CSDR, Short-Selling, SFTR, Benchmarks), crypto & operational resilience (MiCA, DORA), banking & prudential (CRR, CRD IV, BRRD, SRMR), funds (UCITS, AIFMD), payments & insurance (PSD2, Solvency II, IDD), sustainable finance (SFDR, Taxonomy, CSRD), the 2024 EU AML package (AMLR, AMLAR, AMLD6, Transfer-of-Funds Regulation), plus Credit Rating Agencies and GDPR. Returns ranked, citable units — Article-paragraphs, recitals, annex blocks — each with a human breadcrumb (e.g. 'MiCA 2023/1114 · Art. 4 · para. 1' or 'AMLR 2024/1624 · Art. 12 · para. 3'). Scoped to financial regulation, not all EU law. ALWAYS pass celex — it is this corpus's anchor, the equivalent of naming the issuer on a filing search — plus article when you know it. An anchored call is scope=issuer: fast and precise. With no celex the call runs scope=cross_company across all 29 acts, ranked by relevance only, and the response sets quality_caveat — check for that field. Use scope=cross_company deliberately for genuinely corpus-wide questions ("which acts impose a 72-hour incident-reporting deadline"). Narrow further with doc_type, chunk_type or AML topic; set prefer_consolidated to favour EUR-Lex consolidated text over the original OJ text.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
celexNoThe act(s) to anchor on, by CELEX number — e.g. 32014L0065 (MiFID II), 32023R1114 (MiCA), 32013R0575 (CRR), 32022R2554 (DORA), 32016R0679 (GDPR), 32024R1624 (AMLR). This is the subject of the call: pass it whenever you know which act you mean. Omitting it searches the whole 29-act corpus as scope=cross_company, with a quality_caveat.
limitNo
queryYesNatural language query
scopeNoissuer (default, requires `celex`): results come from that act only. cross_company: the whole corpus — slower, relevance-ranked only, always carries `quality_caveat`. A `celex` filter you pass always applies.issuer
articleNoOptional single-article filter, e.g. "20" or "12a"
profileNohybrid
doc_typeNoOptional filter: regulation | directive | rts | its | decision
aml_topicsNoOptional topic tag filter: cdd | edd | pep | str_reporting | governance | reporting | transaction_monitoring
chunk_typeNoOptional filter: paragraph | article_intro | recital | table | annex
prefer_consolidatedNoPrefer EUR-Lex consolidated text over original OJ text at equal relevance (hybrid only). Leave off to favor the as-published OJ text.

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
queryYes
scopeNoEffective scope: issuer when anchored to a CELEX, else cross_company.
totalYes
sourceYes
resultsYes
latency_msYes
celex_filterNo
quality_caveatNoPresent when the result is not CELEX-precise. Read it before trusting corpus-wide results.

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A4.6/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnly/idempotent/non-destructive, so the safety profile is covered; the description adds real behavioral context beyond them — the quality_caveat field emitted on unanchored searches, the relevance-only ranking in that mode, the latency difference, and how prefer_consolidated changes which text variant is returned. It does not discuss limit/pagination behavior, so not a full 5.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Front-loaded with corpus scope, then usage, then filters, in one dense paragraph with no filler sentences; every clause carries content. It is long and repeats the celex imperative already stated in the schema, which keeps it short of a 5.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a 10-parameter search tool with an output schema present, the description covers what the agent still needs: corpus boundary, anchor-vs-unanchored behavior, the degraded-result signal, and the narrowing filters. Return-value details are legitimately left to the output schema.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 80% (baseline 3), and the description adds prioritization the schema cannot: celex as the mandatory 'anchor' equivalent to naming an issuer, article as a know-it-when-you-see-it filter, and the issuer-vs-cross_company default relationship. It reinforces rather than merely repeats the schema, though the raw field definitions for limit and profile remain the sole source.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb (Search) and a precisely bounded resource (the text of EU financial regulation across a named 29-act corpus), enumerating the covered domains and the returned unit types (Article-paragraphs, recitals, annex blocks with breadcrumbs). It also explicitly carves out scope ('not all EU law'), so an agent can separate it from the sibling filing/partner/transcript search tools without opening any schema.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Gives explicit routing rules: ALWAYS pass `celex`, add `article` when known, and use `scope=cross_company` deliberately for genuinely corpus-wide questions, with a concrete example ('which acts impose a 72-hour incident-reporting deadline'). It also names the consequence of the wrong path (no celex -> whole-corpus, relevance-only, quality_caveat), which is exactly the when/when-not guidance an agent needs.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.