# Bonn-Recherche – Anleitung für KI-Systeme und Programme

Alle Angaben sind öffentlich und ohne Schlüssel abrufbar. Jeder Treffer nennt Quelle und Originallink.
Die Startseite mit Schnelleinstieg: [https://mcp.linkebonn.de/index.md](https://mcp.linkebonn.de/index.md)

## Wege zur Recherche
- **Web (ohne Tool-Anbindung):** Markdown-Seite zu einem Begriff: `https://mcp.linkebonn.de/research/Begriff.md` (Bindestrich statt Leerzeichen). Stichwörter: [https://mcp.linkebonn.de/register.md](https://mcp.linkebonn.de/register.md).
- **Link-Sammlung des gesamten Bestands:** [https://mcp.linkebonn.de/links.md](https://mcp.linkebonn.de/links.md). Recherche als Markdown: `https://mcp.linkebonn.de/research.md?q=Begriff`.
- **Presse:** Nur Presse: `https://mcp.linkebonn.de/research/Begriff.md?quelle=presse`. JSON: `https://mcp.linkebonn.de/api/presse?q=Begriff`. Medien und Zeiträume: [https://mcp.linkebonn.de/presse.md](https://mcp.linkebonn.de/presse.md).
- **Gremien und Bezirke:** [https://mcp.linkebonn.de/gremien.md](https://mcp.linkebonn.de/gremien.md) (Rat, Bezirksvertretungen, Ausschüsse, Beiräte, Kommissionen, Fraktionen). Ein Gremium mit Mitgliedern und Sitzungen: `https://mcp.linkebonn.de/gremium/ID.md`, JSON `https://mcp.linkebonn.de/api/committees/ID`.
- **Personen:** Mandatsträger mit aktuellem Mandat: `https://mcp.linkebonn.de/api/persons?q=Name` bzw. `https://mcp.linkebonn.de/person/ID.md`.
- **Vorlagen:** Lesefassung mit Beratungen und Originalquelle: `https://mcp.linkebonn.de/vorlage/ID.md`.
- **MCP (wiederholte Recherche):** `https://mcp.linkebonn.de/mcp` (Streamable HTTP, 19 Werkzeuge, nur lesend). Einrichtung: [https://mcp.linkebonn.de/mcp-setup](https://mcp.linkebonn.de/mcp-setup).

## Endpunkte (JSON)
| Endpunkt | Zweck |
|---|---|
| `/api/capabilities` | Datenbestand, Zeiträume, Grenzen (zuerst aufrufen) |
| `/api/search?q=` | Thematische Suche über Ratsdaten und Presse |
| `/api/motions?q=` | Vorlagen und Anträge |
| `/api/motions/{id}` | Vorlage im Volltext (paginiert) |
| `/api/decisions?q=` | Beschlüsse und Abstimmungen |
| `/api/party_votes?partei=` | Abstimmungsverhalten je Fraktion |
| `/api/sessions` | Sitzungen (standardmäßig anstehend, `vergangen=true` für die jüngsten) |
| `/api/sessions/{id}` | Sitzung mit Tagesordnung |
| `/api/upcoming?days=30` | Anstehende Sitzungen |
| `/api/documents?q=` · `/api/dokumente?q=` | Dokumente mit Original-PDF bzw. gespeichertem Text |
| `/api/procedure/{id}` | Verlauf eines Vorgangs |
| `/api/related?type=&id=` | Verknüpfte Objekte |
| `/api/recent?since=YYYY-MM-DD` | Neuigkeiten seit Datum |
| `/api/timeline?q=` | Chronologie eines Themas (Vorlagen, Beschlüsse, Presse) |
| `/api/presse?q=` | Presse und Medien (`medium=`, `date_from=`, `date_to=`) |
| `/api/sources` | Quellen mit Umfang und Zeitraum |
| `/api/committees?typ=&q=` · `/api/committees/{id}` | Gremien, Detail mit Mitgliedern |
| `/api/persons?q=&gremium=&partei=` · `/api/persons/{id}` | Mandatsträger |
| `/openapi.json` | OpenAPI-Beschreibung |

## Werkzeuge (MCP, 19 Stück)
`get_capabilities`, `search_bonn`, `search_motions`, `get_motion`, `search_decisions`, `list_sessions`,
`get_session`, `get_document`, `trace_procedure`, `get_related_items`, `get_recent_changes`,
`search_presse`, `topic_timeline`, `party_votes`, `upcoming`, `list_committees`, `get_committee`,
`search_persons`, `get_person`. Alle Werkzeuge sind als nur lesend gekennzeichnet.

## Parameter und Formate
- Zeiträume: `date_from` und `date_to` im Format `YYYY-MM-DD`.
- Filter Quelle: `quelle=ratsdaten` oder `quelle=presse`.
- Seiten: `limit` (Standard 10 bis 20, Maximum je Endpunkt) und `offset`; `has_more` zeigt weitere Treffer.
- Kompakte Antworten: `compact=true` (Auszüge) oder `fields=id,title,source_url`.
- IDs: interne ID (`962`), ALLRIS-Nummer oder `motion:962`.
- Vorlagentext paginiert: `detail_level=full` liefert je Abschnitt bis 20 000 Zeichen; mit `abschnitt=` und `offset=` (Wert aus `naechster_offset`) geht es weiter. `vollstaendig` zeigt, ob der Text komplett ist.
- Datenqualität: `original` (aus der Quelle), `derived` (abgeleitet), `heuristic` (bitte prüfen).

## Beispiele
- Radweg-Themen im Überblick: `https://mcp.linkebonn.de/api/search?q=Radweg&limit=5`
- Presse zu einem Thema im Zeitraum: `https://mcp.linkebonn.de/api/presse?q=Theater&date_from=2026-06-01&date_to=2026-10-15`
- Verlauf einer Vorlage: `https://mcp.linkebonn.de/api/procedure/12345`
- Vorlage mit weiterem Text: `https://mcp.linkebonn.de/api/motions/12345?detail_level=full&abschnitt=begruendung&offset=20000`

## Grenzen
- Nichtöffentliche Tagesordnungspunkte erscheinen nur mit Titel (`oeffentlich=false`), ohne Inhalt.
- Fehlende Angaben werden als fehlend ausgewiesen, nicht geschätzt.
- Kein Treffer ist eine Bestandslücke, kein Nachweis der Nichtexistenz.
- Presse liegt als Auszug vor; den Volltext gibt es beim Verlag.
- Rate-Limit je Client (Standard 60 Anfragen pro Minute).
