Skip to main content
Glama

Echr Search

echr_search
Read-onlyIdempotent

Search European Court of Human Rights (ECHR / Strasbourg) case law by free text, Convention Article, respondent state and/or date. Returns case name, application number(s), Article(s) engaged, the conclusion (violation/no violation), importance level and the itemid to read the full judgment with echr_judgment. Use for "what has Strasbourg ruled on Article 8 against France", "recent Article 10 freedom-of-expression judgments", etc. Covers judgments by default; pass collection to search decisions, advisory opinions, resolutions, communicated cases or reports instead.

Input Schema

NameRequiredDescriptionDefault
limitNoMax results, default 10, max 25.
queryNoFree-text words to match anywhere in the case (case name, conclusion text, keywords), e.g. "surveillance", "freedom of expression". Words are ANDed and results ranked by relevance; wrap in double quotes for an exact phrase. Optional if article/respondent narrow enough on their own.
articleNoConvention Article number, e.g. "8" (private/family life), "10" (freedom of expression), "6" (fair trial). Matches the Article and its sub-paragraphs.
date_toNoISO date (YYYY-MM-DD). Only documents on or before this date.
date_fromNoISO date (YYYY-MM-DD). Only documents on or after this date.
collectionNoDocument type to search (default "judgments"). "decisions" = admissibility decisions; "communicated_cases" = pending cases the Court has notified the government of, no ruling yet.
importanceNoHUDOC importance level: 1 = highest (leading cases), 4 = lowest. Omit for all.
respondentNoRespondent state — ISO3 code (e.g. "FRA", "GBR") or common name (e.g. "France", "United Kingdom"). One of the 46 Council of Europe states, or Russia for pre-2022 cases.

Output Schema

NameRequiredDescriptionDefault
noteNoPresent ONLY when results is empty: how to broaden the query. Its presence means zero matches, not an error.
countYesNumber of results returned in this response.
queryYesEcho of the resolved filters actually sent to HUDOC, after country-name and date normalisation.
sourceYesAttribution string for the HUDOC database.
resultsYesMatching documents, most recent first.
total_matchesYesTotal documents in HUDOC matching the query, which is usually far larger than count — page with limit.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed1 schema field changed
    • changedInput schema / properties / query / description
      Previous value: -"Free-text words to match anywhere in the case (case name, conclusion text, keywords), e.g. \"surveillance\", \"freedom of expression\". Optional if article/respondent narrow enough on their own."New value: +"Free-text words to match anywhere in the case (case name, conclusion text, keywords), e.g. \"surveillance\", \"freedom of expression\". Words are ANDed and results ranked by relevance; wrap in double quotes for an exact phrase. Optional if article/respondent narrow enough on their own."
  2. First observed

TDQS

A4.3/5.0
Behavior4/5

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

Annotations already declare readOnly, idempotent, non-destructive, open-world behavior, so the safety profile is covered. The description earns credit by adding real behavioral context: default corpus is judgments, other collections exist with distinct semantics (decisions = admissibility, communicated cases = pending with no ruling), and what each result carries. It does not mention rate limits, result caps (left to the schema), or ranking caveats beyond a passing note.

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

Conciseness5/5

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

Three sentences, front-loaded with purpose and scope, followed by concrete usage examples and then the collection-routing caveat. Every sentence carries information the agent needs; nothing is redundant padding.

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 an 8-parameter, zero-required, open-world search tool with a full output schema and rich annotations, the description supplies the missing connective tissue: what search dimensions can be combined, what the default corpus is, and how to continue to full text. Return-value explanation is correctly omitted since an output schema exists.

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

Parameters3/5

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

Schema coverage is 100%, so the schema already documents all eight parameters thoroughly, including enum semantics and importance levels. The description only synthesizes them at a high level ('by free text, Convention Article, respondent state and/or date') and restates the judgments default, adding little beyond what the structured data provides. Baseline 3 is appropriate.

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 and resource ('Search European Court of Human Rights case law') and immediately enumerates the filterable dimensions (free text, Article, respondent state, date). It also names the sibling echr_judgment as the follow-up step for reading the full judgment, so the tool boundary is unambiguous.

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

Usage Guidelines4/5

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

Concrete example queries in quotes show the intended shape of use, and the description explicitly routes the agent to echr_judgment using the returned itemid. It also clarifies that judgments are the default and that other document types require passing collection. It stops short of stating exclusions (e.g., when another sibling such as deep_research would be preferred).

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.