技能潮 SkillTide 提交收录
官方说明7 个来源MCP 服务8 天前
notDIRK/fds-mcp

notDIRK/fds-mcp

Freedom-of-information requests in Germany via
在 GitHub 查看 ↗直链 · 无中转页
配置模板(请按你的客户端调整)
claude mcp add fds-mcp -- npx -y fds-mcp
这是根据仓库名生成的可粘贴骨架,命令行参数与包名请以该项目 README 为准。
★ 数取值
0 ★ · notDIRK/fds-mcp · 取自 GitHub 搜索 API · (2026-10-16 20:00:20 核对)
来源明细
收录自 punkpeye/awesome-mcp-servers 榜单(我们从中收集的条目之一) · 条目类型:MCP 服务
收录与活跃
收录于 2026-10-09 · 最近见到 2026-10-16 · 共见到 32 次 · 被 7 个来源列出
评分构成
综合分 703 · 7 个来源 · mcp
常见问题(答案都来自我们的记录)
怎么安装?
我们【没有】从该仓库取到安装命令(我们的 install 覆盖率只有约 4%)。请看它的 README 或 releases 页。
它适合谁 / 用来做什么?
我们把它归在这些标签下: MCP 服务。标签来自条目自身,不是我们强加的分类。
谁维护它、还在更新吗?
仓库 notDIRK/fds-mcp;我们收录于 2026-10-09;最近见到 2026-10-16。这里没有"官方认证"或"质量评级"——我们只记录来源与时间。
第三方质量标记

fds-mcp — FragDenStaat.de for AI assistants

以下摘录自该仓库的 README(片段) · 在 GitHub 读完整 README →

**An MCP server for
FragDenStaat.de, the German freedom-of-information platform
built on froide.**
*Deutsche Fassung*
**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
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:
| | |
|---|---|
| search_authorities, get_authority, get_law | work, with no account |
| check_jurisdiction | **cannot work there** — /api/v1/georegion/ holds 0 rows on .at against 24,216 on .de. Nothing this client can fix |
| the token-bound tools | need an OAuth application registered on that instance |
| the pre-send rule set | encodes **German** FOI law and is not portable. Treat submitting through another instance as unverified |
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 law_type field**. The API therefore always
files under publicbody.default_law, 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 build_submit_url**, which
hands you a prefilled web form with the correct law_type and lets you press send
yourself. submit_request exists, defaults to dry_run=True, and refuses unless five
independent gates all agree — see Safety model.
---
Documentation
- What the API can and cannot do — every limit we hit, how we
measured it, the dead ends we tried, and the mistakes we made along the way
- OAuth setup, with screenshots — registering the application,
scopes, the redirect-URI rules, and what to do when the local HTTPS listener is blocked
- README.de.md and docs/oauth-setup.de.md — the
same documents in German. US English is the source; the German version follows it.
Installation
Or run it without installing anything, straight from PyPI:
From a checkout, for development:
Requires Python 3.10 or newer.
Register it with your MCP client
The server speaks stdio. For Claude Code:
For a client that reads a JSON config:
Or without installing it at all:
The four green tools work immediately, with no account and no token.
---
OAuth setup
The yellow and red tools need an OAuth 2.0 bearer token. FragDenStaat supports exactly
two authentication schemes for its API — OAuth2 and session cookies. There is **no
来源
awesome · https://github.com/notDIRK/fds-mcp
按领域浏览
MCP 服务
收录于
昨天

更多MCP 服务

查看MCP 服务全部 5,525 条 →

所属领域与标签

每个标签都能点进去看同类的全部条目。数字是当前库里的真实条数。

浏览全部领域 →

← 返回索引