Skip to main content
Glama

nu:legal Deutsches Recht

Search statutes and case law

search
Read-onlyIdempotent

One query over BOTH corpora: federal and Land statutes (lexical, with concept pinning) and court decisions (semantic — natural-language questions work well here and are the better shape for case law).

Search both unless you have a reason not to. A term of art often does not appear in the statute that governs it: 'Verzugspauschale' matches no provision (§ 288 BGB says 'Pauschale in Höhe von 40 Euro') while 184 decisions use the word. scope='norms' alone will read as 'nothing here' in exactly those cases.

CROSS-LAND COMPARISON: a single query returns the parallel provisions of the Bund and of every covered Land side by side, each row jurisdiction-labelled, plus a by_jurisdiction roll-up. Ask 'Videoüberwachung öffentlich zugänglicher Räume' and you get BDSG § 4 next to the Land data-protection and police provisions. Full text is held for Bayern, Brandenburg, Nordrhein-Westfalen and Sachsen.

Decision hits come back already anchored at the best-matching Randnummer (…#rd_51), so you can quote a paragraph rather than a document. Query in German; write raw umlauts, they are handled.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
qYesGerman query. Keywords, a citation, or a full question.
limitNo
scopeNo'all' (default) searches both. Narrow only when you know which corpus answers.all
include_repealedNoInclude repealed (aufgehobene) provisions. Off by default; turn it on when researching an older state of the law.

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 readOnlyHint=true, idempotentHint=true, and destructiveHint=false, so the safety profile is covered. The description adds genuine behavioral context beyond that: results anchored at best-matching Randnummer (#...rd_51), the cross-land by_jurisdiction roll-up, and which Länder hold full text. No rate-limit or auth notes, but for a read-only search tool this is a strong value-add.

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?

The description is long and multi-paragraph with inline examples, but the density is justified by the tool's complexity (hybrid search, dual corpora, cross-jurisdiction behavior). The most important constraint — query both corpora — is front-loaded, and the 'CROSS-LAND COMPARISON' heading aids scannability. It earns its length, though it could be tightened.

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

Completeness4/5

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

With no output schema, the description carries the burden of explaining return structure, and it does: jurisdiction-labelled rows, the by_jurisdiction roll-up, and Randnummer anchoring for quoting paragraphs. The only gap is pagination behavior for the limit parameter — no indication of whether results are paged or how to page through. Minor given the overall completeness.

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

Parameters5/5

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

With schema coverage at 75%, the description substantially enriches the q parameter by explaining the German-language requirement ('write raw umlauts, they are handled'), the lexical-vs-semantic split, and the scope semantics in depth. It clarifies the misleading nature of scope='norms' far beyond the schema's 'Narrow only when you know which corpus answers.' This materially compensates for any schema gaps.

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?

The description states a specific verb ('Search') over two distinct resources (federal/Land statutes and court decisions) and precisely characterizes the dual search semantics (lexical with concept pinning for norms, semantic for cases). It clearly distinguishes itself from siblings like getNorm (single-norm retrieval) and listCasePassages (case passages), so an agent knows exactly which tool does broad cross-corpus discovery.

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?

Explicitly instructs 'Search both unless you have a reason not to' and gives the concrete failure mode for narrowing too early (the 'Verzugspauschale' example showing why scope='norms' returns nothing when a term of art never appears in the governing statute). It also tells the agent when to flip include_repealed (researching an older state of the law) and recommends natural-language shape for case law.

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.

Resources