Skip to main content
Glama
metaneutrons

German Legal MCP Server

by metaneutrons

Server Configuration

Describes the environment variables required to run the server.

NameRequiredDescriptionDefault
GLMCP_DIP_API_KEYNoOverride the bundled public API key for DIP Bundestag
GLMCP_DIP_ENABLEDNoEnable or disable DIP Bundestag source (auto-disabled after 2026-06-01 without own key)true
GLMCP_EUL_ENABLEDNoEnable or disable EUR-Lex sourcetrue
GLMCP_ICU_ENABLEDNoEnable or disable InfoCuria (CJEU) sourcetrue
GLMCP_RII_ENABLEDNoEnable or disable Rechtsprechung im Internet sourcetrue
GLMCP_ARXIV_ENABLEDNoEnable or disable arXiv preprint search sourcetrue
GLMCP_LEGIS_ENABLEDNoEnable or disable Bundes- & Landesrecht sourcetrue

Instructions

Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.

This server publishes no instructions, or was last inspected before Glama recorded them.

Capabilities

Features and capabilities supported by this server

Protocol revision2025-11-25

CapabilityDetails
tools
{}

Tools

Functions exposed to the LLM to take actions

NameDescription
arxiv_searchA

Search arXiv preprints by keywords, author, or category. Returns metadata: arXiv ID, title, authors, abstract, categories, PDF/HTML links. Use arxiv_get with the arXiv ID to retrieve full text.

arxiv_getA

Retrieve an arXiv paper by ID (e.g., "2501.02725"). Default: metadata + abstract. With section or save_path: fetches HTML full text (available for papers from ~2024+). Older papers without HTML return metadata + abstract + PDF link.

dip_searchA

Search Bundestagsdrucksachen (parliamentary documents) via DIP API. Matches title as a literal substring — NOT a keyword AND/OR search. An extra word breaks the match unless it appears verbatim, in that exact order, in the title. For example "Tiergesundheitsgesetz" alone finds dozens of documents, but "Tiergesundheitsgesetz Änderung" finds none, because real titles read "...Änderung des Tiergesundheitsgesetzes..." — reversed order and a different word ending. Prefer a single distinctive word (e.g. a law's short title) over a natural-language phrase. Returns metadata: Dokumentnummer, title, type, date, PDF URL. Use dip_get to retrieve full text (e.g., Gesetzesbegründung) of a specific Drucksache.

dip_getA

Retrieve full text of a Bundestagsdrucksache by Dokumentnummer (e.g., "19/27426" for BT-Drs. 19/27426). Returns the extracted text including Gesetzesbegründung. Use section for partial content. save_path is for export only — when the user wants the document as a file to keep or process elsewhere.

dip_search_vorgangA

Search legislative processes (Vorgänge) in DIP. Returns Gesetzgebungsvorgänge with status and linked Drucksachen-Nummern. Useful for tracking a law through the legislative process or finding all related documents. Matches title as a literal substring — NOT a keyword AND/OR search (see dip_search); prefer a single distinctive word over a natural-language phrase.

dip_search_plenarprotokollB

Search Plenarprotokolle (parliamentary debate transcripts) with full text search. Returns protocols where the search term appears in the debate text.

eul_searchB

Search EU legislation (directives, regulations, treaties) via EUR-Lex SPARQL endpoint. Returns CELEX numbers, titles, and dates.

eul_get_documentA

Retrieve EU legislation from EUR-Lex by CELEX number (e.g., "32016R0679" for GDPR, "32001L0029" for InfoSoc). Returns full text in Markdown. Use section for partial content: "Art. 5", "Artikel 5", or "lines:100-200". save_path is for export only — when the user wants the document as a file to keep or process elsewhere.

icu_searchA

Search for decisions and opinions of the Court of Justice of the European Union (CJEU) via InfoCuria. Returns list with case numbers, ECLI, dates, and document IDs for retrieval.

icu_get_documentA

Retrieve a CJEU decision or opinion from InfoCuria by published case number, CELEX number or Logic Doc ID. Returns full text in Markdown with Randnummern as [Rn. 5]{.rn}. A published case number (e.g., "C-476/17", "T-108/25") is converted to its CELEX form internally, so all three forms work. A CELEX number (e.g., "62017CJ0476") or the "Logic Doc ID" from an icu_search result (e.g., "id_320668") resolve with one request fewer. Use section for partial content: "Rn 5-12", heading text, or "lines:100-200". Use save_path when you want the document written to a file for later use outside this conversation.

legis_searchA

Search German state legislation (Landesrecht) by keyword. Returns results with IDs for retrieval via legis_get. Official abbreviations such as "HKG" or "PolG" are often more reliable than descriptive phrases. Covers all 16 Bundesländer. BUND does not support search — use legis_get directly.

legis_getA

Retrieve a specific law/norm from German federal or state legislation. BUND: id is "law/section" — law is the lowercase abbreviation (e.g. "bgb", "gg", "stgb"), section is just the number. An optional "§", "Art.", "Paragraph", or "Para." prefix on the section is stripped automatically, so "bgb/823", "bgb/§ 823", and "bgb/§823" are equivalent; use whichever prefix matches the document type (§ for codes, Art. for the Grundgesetz). Not every law is hosted under its plain abbreviation on gesetze-im-internet.de — some reissued laws use a different URL slug. If this returns "not found", a subscription provider that resolves abbreviations through its own index may still find it. Länder: id from legis_search results (format varies by state).

legis_tocA

Get table of contents for a law — compact list of section numbers and headings. Much lighter than legis_get for navigating large laws. BUND: id is just the law abbreviation (e.g., "bgb", "stgb"). Länder: id from legis_search results.

legis_statesA

List all 17 available German jurisdictions (BUND + 16 Bundesländer) with their backends.

rii_searchA

Search for court decisions. Default source "bund": federal courts (BVerfG, BGH, BVerwG, BFH, BAG, BSG, BPatG). Source "BY": Bavarian state courts. Sources "NW", "NI" and "BB" use the official NRW, NI-VORIS and Brandenburg decision databases. Sources BW, BE, HH, MV, RP, SL, ST, SH, TH, HE use the official jPortal state decision portals. Returns list of decisions with metadata and doc IDs for retrieval.

rii_get_decisionA

Retrieve full text of a court decision by doc ID. Returns decision in Markdown format with metadata (court, date, file number, ECLI). Use source "BY" for IDs from gesetze-bayern.de (format: Y-300-Z-...).

ris_searchA

Search the Austrian Rechtsinformationssystem des Bundes (RIS, ris.bka.gv.at). application="bundesrecht"/"landesrecht" searches the broad federal/state collections; results may be consolidated law (BrKons/LrKons) or authentic publications, identified by their returned applikation. A bundesland filter restricts state law to consolidated LrKons results. application="judikatur" = case law — set court (Justiz = OGH/OLG/LG, Vwgh = VwGH, Vfgh = VfGH, Bvwg = BVwG). Use sort="date" for the LATEST decisions. Judikatur results are Rechtssätze (legal principles); each lists its full decision text (Entscheidungstext) — fetch that with ris_get. NOTE: this is AUSTRIAN law. For GERMAN case law use rii_*, for German legislation use legis_*.

ris_getA

Retrieve a RIS document as Markdown. Pass the content_url returned by ris_search (preferred), or an id (Dokumentnummer) together with its applikation. Use section to pull only part of a document (token-preserving), or save_path to write the full document to disk and return metadata only.

ris_get_normA

Retrieve a single paragraph (§) of an Austrian consolidated law as Markdown — e.g. law="ABGB" paragraph="1295". application="bundesrecht" (federal) or "landesrecht" (state law; set bundesland). The surgical, token-preserving way to read ONE § instead of a whole statute.

ris_tocA

Get the table of contents (Inhaltsverzeichnis) of an Austrian consolidated law — its §§ with headings — so you can then read one with ris_get_norm. Use the full title if an abbreviation fails (e.g. "Urheberrechtsgesetz" rather than "UrhG"). application="bundesrecht" (federal) or "landesrecht" (+ bundesland).

Prompts

Interactive templates invoked by user choice

NameDescription

No prompts

Resources

Contextual data attached and managed by the client

NameDescription

No resources

Latest Blog Posts

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/metaneutrons/german-legal-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server