MCP.Market

FragDenStaat MCP server

by notDIRK·io.github.notDIRK/fds-mcp·v0.1.0

Freedom-of-information requests for Germany via FragDenStaat.de, the froide FOI portal.

B78/100grade B
What users say
No reviews yet
Be the first
Safety scan
B78/100

full report

Adoption
New

0 stars31 downloads/wk

Reviews

Write one

Nobody has reviewed FragDenStaat yet.

If you have run it, two minutes of your experience saves the next person an afternoon.

FragDenStaat tools (15, 4 write)

write = sends, deletes, buys or posts

Read from the package source without running it. The installed server may list more.

  • build_reply_draft

    Prepare a follow-up message to an authority. YELLOW: reads the API, sends nothing.

  • build_submit_urlwrite action

    Build the prefilled web form URL — the recommended way out. RED tier.

  • check_deadlines

    Your open requests whose statutory deadline has passed. YELLOW.

  • check_jurisdiction

    Which authority covers a given place? GREEN — returns the evidence trail.

  • create_request_draftwrite action

    Write a local YAML draft. RED tier, but performs NO network traffic at all.

  • download_attachment

    Download one attachment into a local directory. YELLOW: reading only.

  • get_authority

    Full record for one public body, including its laws. GREEN.

  • get_law

    One freedom-of-information act with its deadline rules. GREEN.

  • get_messages

    All messages of a request, oldest first. YELLOW.

  • get_request

    One FOI request in detail. YELLOW (public requests work without a token).

  • list_attachments

    Attachments belonging to one message. YELLOW.

  • list_my_requests

    Your own FOI requests. YELLOW: needs a token (scope read:request), read only.

  • search_authorities

    Search public bodies on fragdenstaat.de. GREEN: no auth, no side effects.

  • submit_requestwrite action

    Actually POST the request to fragdenstaat.de. RED tier — IRREVERSIBLE.

  • validate_draftwrite action

    Run the rule set against a draft. RED tier.

Public scan report

scanner v0.1.10 · 2026-10-16 · same rubric, same numbers if you re-run it

no findings
  • Code scan13 source files scanned25/25
  • –Live reliabilityno gateway calls yet and no remote to proben/a
  • –Tool poisoningtools not inspected (local package is not executed); not countedn/a
  • Auth qualitystatic API keys via environment variables6/15
  • Maintenancelast push 41 days ago12/15
  • Maintainer identityregistry namespace matches repository owner; GitHub account older than a year8/10
Overall 78/100. Components that don't apply are left out of the denominator. Any critical finding is an F.RubricAppeal a findingJSON

How FragDenStaat compares

Against every graded MCP server, from our own scans and uptime checks. Updated after each scan run.

Safety score
78/100
higher than 57% of 48,243 servers
Tools
15
the typical server has 7
Tools that change things
27%
typical: 0%. Fewer write tools means less an agent can break
Downloads a week
31
more than 19% of 12,306 servers with a package

What its tools let an agent do: 11 read · 1 create · 3 change

Install FragDenStaat in Claude Code, Cursor or VS Code

claude mcp add fds-mcp -- uvx fds-mcp
Add to Cursor

What the publisher says

From the FragDenStaat repository's README, as published. We do not edit it. Read it on GitHub

fds-mcp — FragDenStaat.de for AI assistants

An MCP server for FragDenStaat.de, the German freedom-of-information platform built on froide.

Deutsche Fassung

<!-- mcp-name: io.github.notDIRK/fds-mcp -->

Prepare a German freedom-of-information request by asking for it in plain language. Your assistant finds the authority that has to answer and proves why it is the right one, names the act that applies and the deadline it sets, tracks the requests you already sent, collects the replies and their attachments, and writes a new request to a local file that you read before anything leaves your machine.

What is MCP, and what does it do here?

MCP, the Model Context Protocol, is the standard that lets an AI assistant use outside tools — roughly what an extension does for a browser. fds-mcp is one such tool. Install it once and Claude, or any other MCP client, gains 15 tools that speak to FragDenStaat.de, the German freedom-of-information platform built on froide.

Four of them need no account and no token: searching authorities, reading an act, and working out who is responsible for a given place all work straight away.

Other froide instances

froide is the Django software underneath FragDenStaat.de, and its own README names a second production portal: fragdenstaat.at. Point this server at one with

export FDS_MCP_BASE_URL=https://fragdenstaat.at

Only https origins without a path or credentials are accepted, and the host allowlist that keeps the bearer token from following a link to a stranger is derived from this value — so with .at configured, fragdenstaat.de is a foreign host and is refused.

What that buys you, measured against fragdenstaat.at on 2026-09-05 and kept as live tests:

What it looks like

You: Who has to answer a freedom-of-information request about the city of Bonn, and

under which act?

The assistant calls check_jurisdiction("Bonn"), gets the region chain and

Kommunalverwaltung Bonn (authority 3495), then get_authority(3495) for the acts that

apply and their deadlines — and reports the API URLs it used, so you can check the answer

instead of believing it.

Submitting is possible too, but it is deliberately the hardest thing this server does.

⚠️ POST /api/v1/request/ sends immediately and irreversibly

FragDenStaat's REST API has no draft mode, no preview and no undo. The moment a POST /api/v1/request/ succeeds, the e-mail is on its way to the authority, the request is public (by default) under CC0, and it cannot be recalled.

Worse, MakeRequestSerializer has no lawtype field. The API therefore always files under publicbody.defaultlaw, and because froide sorts by ("-meta", "-priority") that is almost always the combined meta act — not the specific act you meant. For a municipality in Rhineland-Palatinate, asking for the LTranspG (law 16) through the API silently files under "LTranspG, VIG" (law 18) instead.

Because of this, the recommended exit of this server is buildsubmiturl, which hands you a prefilled web form with the correct lawtype and lets you press send yourself. submitrequest exists, defaults to dry_run=True, and refuses unless five independent gates all agree — see Safety model.

Documentation

Shortened. The full README is on GitHub.

Nothing above is checked by us. What we check is on the safety report.

FragDenStaat: common questions

Is FragDenStaat MCP server safe?
Mostly: it is graded B (78/100). Read the FragDenStaat safety report
How do I install FragDenStaat?
It runs on your machine. Copy the Claude Code, Cursor, VS Code or Claude Desktop config from the install section.
Does FragDenStaat need an API key?
Yes. The registry entry asks for FDS_TOKEN.
Is FragDenStaat maintained?
The last commit was 61 days ago (2026-09-05). The latest release is v0.1.0.
How does FragDenStaat compare with other MCP servers?
safety score 78/100 (higher than 57% of 48,243 servers); tools 15 (the typical server has 7); tools that change things 27% (typical: 0%. Fewer write tools means less an agent can break). Full comparison.