German Legal MCP Server
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| GLMCP_DIP_API_KEY | No | Override the bundled public API key for DIP Bundestag | |
| GLMCP_DIP_ENABLED | No | Enable or disable DIP Bundestag source (auto-disabled after 2026-06-01 without own key) | true |
| GLMCP_EUL_ENABLED | No | Enable or disable EUR-Lex source | true |
| GLMCP_ICU_ENABLED | No | Enable or disable InfoCuria (CJEU) source | true |
| GLMCP_RII_ENABLED | No | Enable or disable Rechtsprechung im Internet source | true |
| GLMCP_ARXIV_ENABLED | No | Enable or disable arXiv preprint search source | true |
| GLMCP_LEGIS_ENABLED | No | Enable or disable Bundes- & Landesrecht source | true |
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
| Capability | Details |
|---|---|
| tools | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| 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 |
| 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 |
| 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 |
| 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 |
| 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 |
| ris_getA | Retrieve a RIS document as Markdown. Pass the |
| 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 |
| 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" (+ |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
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/metaneutrons/german-legal-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server