# Biohacking Kompakt

> Evidence-rated German database of supplements, peptides and longevity methods, plus podcast.

- name: de.biohackingkompakt/biohacking-kompakt
- version: 1.4.2
- connection class: R0 (autonomous)
- trust: 95/100
- quality: 83/100 (good)
- owner: not claimed
- descriptor: https://api.protogrid.dev/v1/servers/de.biohackingkompakt%2Fbiohacking-kompakt
- tools: https://api.protogrid.dev/v1/servers/de.biohackingkompakt%2Fbiohacking-kompakt/tools

**An agent can connect right now, no human step.** Remote endpoint, no authentication, reachable on the last probe.

## Connection (mcpServers)

```json
{
  "mcpServers": {
    "biohacking-kompakt": {
      "type": "http",
      "url": "https://mcp.biohackingkompakt.de/mcp"
    }
  }
}
```


## Trust

- hygiene: 100
- liveness: 99
- freshness: 100
- provenance: 85
- drivers: +repository +dns-namespace +website +reachable +uptime-97% +updated-24d-ago
- Derived from observable signals (official registry feed and our own credential-free probes); no code audit performed.

## Quality 83/100 (good)

### protocol: 75 (weight 25)

- warn `protocol.modern`: newest supported version is 2025-11-25; 2026-07-28 not supported, older versions are deprecated until 2027-07-28
- n/a `protocol.stateless`: only applies to 2026-07-28 servers
- pass `protocol.transport`: streamable HTTP
- n/a `protocol.list_ttl`: only applies to 2026-07-28 servers

### authorization: n/a (weight 15)

- n/a `auth.prm`, `auth.as_metadata`, `auth.cimd`: no remote uses OAuth
- n/a `auth.secret_in_url`: no templated URL

### tool hygiene: 93 (weight 30)

- pass `tools.descriptions`: every tool has a description
- warn `tools.description_length`: 6 tools have descriptions over 1,024 characters, which crowds the context
- pass `tools.schemas`: every tool has an object input schema
- pass `tools.annotations`: 16 of 16 tools declare readOnlyHint or destructiveHint
- pass `tools.directory_hints`: every tool declares readOnlyHint, destructiveHint, idempotentHint and openWorldHint
- pass `tools.token_cost`: about 7,472 tokens to load every tool
- pass `tools.api_dump`: tools are not a one-to-one API dump

### stability: 75 (weight 15)

- warn `stability.changes`: 20 tool changes in 30 days
- pass `stability.rug_pull`: no tool changed its meaning under the same name

### dependencies: n/a (weight 15)

- n/a `deps.known_vulns`, `deps.mcp_sdk_version`, `deps.resolvable`: no npm or PyPI package

- tools: 16, about 7,472 tokens to load them all
- tool set hash: 641dd4623dea864cb3f803b7fbf54ba2
- tools last changed: 2026-10-16T15:25:39.130Z
- badge: [![protogrid quality](https://protogrid.dev/badge/de.biohackingkompakt/biohacking-kompakt.svg)](https://protogrid.dev/servers/de.biohackingkompakt/biohacking-kompakt)
- Checks run on what our credential-free, read-only probes observe; tools are never called and no code audit is performed.

### Tool changes

- 2026-10-16 `bk_list_aenderungen` changed (title, description, inputSchema)
  - before: Das inhaltliche Aenderungsprotokoll von biohackingkompakt.de: wo sich die Grundlage eines Themas nachtraeglich verschoben hat - neue begutachtete Studien, zurueckgezogene Arbeiten, gescheiterte Zulassungen, neue Rechtsprechung, eigene Korrekturen. Jeder Eintrag nennt eine ueberpruefbare Quelle. Gut fuer "Was ist neu bei Retatrutid?" oder "Welche Bewertungen wurden zuletzt korrigiert?". Args: - query (string): optional, Suchbegriff in Titel und Text - thema_id (string): optional, nur Eintraege zu diesem Thema - typ: optional 'Evidenz' | 'Recht' | 'Korrektur' - seit (string, JJJJ-MM-TT): optional - limit (1-50, Standard 10), offset, response_format
  - after: Das inhaltliche Änderungsprotokoll von biohackingkompakt.de: wo sich die Grundlage eines Themas nachträglich verschoben hat - neue begutachtete Studien, zurückgezogene Arbeiten, gescheiterte Zulassungen, neue Rechtsprechung, eigene Korrekturen. Jeder Eintrag nennt eine überprüfbare Quelle. Gut für "Was ist neu bei Retatrutid?" oder "Welche Bewertungen wurden zuletzt korrigiert?". Args: - query (string): optional, Suchbegriff in Titel und Text - thema_id (string): optional, nur Einträge zu diesem Thema - typ: optional 'Evidenz' | 'Recht' | 'Korrektur' - seit (string, JJJJ-MM-TT): optional - limit (1-50, Standard 10), offset, response_format
- 2026-10-16 `bk_get_report` changed (description, inputSchema, outputSchema)
  - before: Die Kennzahlen des Biohacking-Reports von biohackingkompakt.de, live aus dem aktuellen Bestand gerechnet: wie viele Mittel gut belegt, mit Einschraenkungen belegt, duenn belegt, nie am Menschen untersucht oder weit vor der Evidenz beworben sind - insgesamt und je Bereich (Supplements, Peptide & Experimentelles, Anwendungen, Alltags-Tipps, Bioregulatoren). Gut fuer Fragen wie "Wie viel im Biohacking ist ueberhaupt belegt?" oder "Wie steht es um Peptide insgesamt?". Der veroeffentlichte Report 2026 (Stand 15.10.2026, 494 Mittel) liegt als Seite, PDF und CSV unter report/2026 - die Zahlen hier koennen davon abweichen, weil sie den heutigen Bestand zaehlen. Args: - bereich: optional 'supplement' | 'experimental' | 'behandlungen' | 'tipps' | 'khavinson' - beispiele (number 0-10, Standard 5): wie viele Beispiele je Label (die am besten untersuchten zuerst) - response_format
  - after: Die Kennzahlen des Biohacking-Reports von biohackingkompakt.de, live aus dem aktuellen Bestand gerechnet: wie viele Mittel gut belegt, mit Einschränkungen belegt, dünn belegt, nie am Menschen untersucht oder weit vor der Evidenz beworben sind - insgesamt und je Bereich (Supplements, Peptide & Experimentelles, Anwendungen, Alltags-Tipps, Bioregulatoren). Gut für Fragen wie "Wie viel im Biohacking ist überhaupt belegt?" oder "Wie steht es um Peptide insgesamt?". Der veröffentlichte Report 2026 (Stand 15.10.2026, 494 Mittel) liegt als Seite, PDF und CSV unter report/2026 - die Zahlen hier können davon abweichen, weil sie den heutigen Bestand zählen. Args: - bereich: optional 'supplement' | 'experimental' | 'behandlungen' | 'tipps' | 'khavinson' - beispiele (number 0-10, Standard 5): wie viele Beispiele je Label (die am besten untersuchten zuerst) - response_format
- 2026-10-16 `bk_compare_topics` changed (description)
  - before: Stellt zwei bis vier Themen im BK-Score nebeneinander, z. B. "Kreatin oder Beta-Alanin?", "NMN gegen Nicotinamid-Ribosid", "Sauna oder Kryotherapie?". Liefert je Thema Label, alle Achsen, Richtung, die Begruendung und den Link - plus eine Tabelle zum direkten Vergleich. Fuer redaktionell geschriebene Vergleichsseiten (z. B. Semaglutid vs. Tirzepatid) gibt es zusaetzlich bk_search_inhalte mit art='vergleich'. Die Achsen bewerten den WISSENSSTAND, nicht die Substanz. Ein hoeherer Wert heisst nicht "besser": Hohe Human-Evidenz mit Richtung 'negativ' heisst gut untersucht und Nutzen nicht gezeigt. Hype-Abstand: 10 = Werbung deckt sich mit den Daten, niedrig = Werbung weit vor den Daten. Args: - ids (string[]): 2-4 Themen-ids aus bk_search_topics, z. B. ['kreatin', 'beta-alanin'] - response_format
  - after: Stellt zwei bis vier Themen im BK-Score nebeneinander, z. B. "Kreatin oder Beta-Alanin?", "NMN gegen Nicotinamid-Ribosid", "Sauna oder Kryotherapie?". Liefert je Thema Label, alle Achsen, Richtung, die Begründung und den Link - plus eine Tabelle zum direkten Vergleich. Für redaktionell geschriebene Vergleichsseiten (z. B. Semaglutid vs. Tirzepatid) gibt es zusätzlich bk_search_inhalte mit art='vergleich'. Die Achsen bewerten den WISSENSSTAND, nicht die Substanz. Ein höherer Wert heißt nicht "besser": Hohe Human-Evidenz mit Richtung 'negativ' heißt gut untersucht und Nutzen nicht gezeigt. Hype-Abstand: 10 = Werbung deckt sich mit den Daten, niedrig = Werbung weit vor den Daten. Args: - ids (string[]): 2-4 Themen-ids aus bk_search_topics, z. B. ['kreatin', 'beta-alanin'] - response_format
- 2026-10-16 `bk_get_signalweg` changed (description, outputSchema)
  - before: Der Signalwege-Atlas von biohackingkompakt.de: die grossen Alterungs- und Stoffwechselschalter (mTOR, AMPK, Sirtuine/NAD+, Autophagie, Insulin/IGF-1, GLP-1, HIF-1a, Nrf2, NF-kB, Seneszenz, Epigenetik, zirkadiane Uhr ...) und welche Themen der Seite an welchem Schalter ansetzen. Drei Wege: - ohne Angabe: alle Signalwege mit Kurzbeschreibung - id='mtor': ein Signalweg mit Erklaerung und allen Themen, die ihn aktivieren, hemmen oder modulieren - thema_id='berberin': umgekehrt - an welchen Signalwegen ein Thema ansetzt Jede Verknuepfung traegt eine Belegstufe: 2 = gut belegt, 1 = moderat, 0 = experimentell. Eine Verknuepfung beschreibt einen Mechanismus, keine nachgewiesene Wirkung am Menschen - dafuer ist der BK-Score da (bk_get_topic).
  - after: Der Signalwege-Atlas von biohackingkompakt.de: die großen Alterungs- und Stoffwechselschalter (mTOR, AMPK, Sirtuine/NAD+, Autophagie, Insulin/IGF-1, GLP-1, HIF-1a, Nrf2, NF-kB, Seneszenz, Epigenetik, zirkadiane Uhr ...) und welche Themen der Seite an welchem Schalter ansetzen. Drei Wege: - ohne Angabe: alle Signalwege mit Kurzbeschreibung - id='mtor': ein Signalweg mit Erklärung und allen Themen, die ihn aktivieren, hemmen oder modulieren - thema_id='berberin': umgekehrt - an welchen Signalwegen ein Thema ansetzt Jede Verknüpfung trägt eine Belegstufe: 2 = gut belegt, 1 = moderat, 0 = experimentell. Eine Verknüpfung beschreibt einen Mechanismus, keine nachgewiesene Wirkung am Menschen - dafür ist der BK-Score da (bk_get_topic).
- 2026-10-16 `bk_get_blutwert` changed (title, description, outputSchema)
  - before: Liefert einen Marker der Blutwerte-Seite vollstaendig: Bedeutung, Referenzbereich, Zielbereich (wo die Seite einen nennt), was hohe und niedrige Werte bedeuten KOENNEN, Hebel, Stoerfaktoren vor der Messung und die Podcastfolge dazu. Typische Frage: "Mein ApoB ist 110 - was heisst das?" -> id='apob', dann den Wert gegen 'referenz' und 'optimal' einordnen und immer dazusagen, dass der Bereich auf dem eigenen Befund gilt. Args: - id (string): Marker-id aus bk_search_blutwerte, z. B. 'apob', 'hba1c', 'ferritin'. Auch der Name wird erkannt. - response_format
  - after: Liefert einen Marker der Blutwerte-Seite vollständig: Bedeutung, Referenzbereich, Zielbereich (wo die Seite einen nennt), was hohe und niedrige Werte bedeuten KÖNNEN, Hebel, Störfaktoren vor der Messung und die Podcastfolge dazu. Typische Frage: "Mein ApoB ist 110 - was heißt das?" -> id='apob', dann den Wert gegen 'referenz' und 'optimal' einordnen und immer dazusagen, dass der Bereich auf dem eigenen Befund gilt. Args: - id (string): Marker-id aus bk_search_blutwerte, z. B. 'apob', 'hba1c', 'ferritin'. Auch der Name wird erkannt. - response_format
- 2026-10-16 `bk_search_blutwerte` changed (description, inputSchema)
  - before: Durchsucht die Blutwerte-Seite von biohackingkompakt.de (Longevity-Panel aus Folge 58): Marker wie HbA1c, Nuechtern-Insulin, ApoB, Lp(a), hsCRP, Vitamin D, Ferritin, Testosteron, Schilddruese - jeweils mit Referenzbereich, Einheit und der "Baustelle" (Zucker, Herz, Entzuendung, Hormone, Naehrstoffe, Organe). Ohne Suchbegriff liefert es die Uebersicht: alle Marker nach Baustelle. Mit thema='panels' die Laborpakete (kleines/grosses Blutbild, Lipidprofil ...) mit Kassen-/Kosteninfo, mit thema='regeln' Messrhythmus, Vorbereitung, Stoerfaktoren und das Einsteiger-Panel ("Fuenf-Sterne-Minimum"). Fuer einen einzelnen Marker mit Bedeutung, was hohe/niedrige Werte heissen koennen, Hebeln und Stoerfaktoren danach bk_get_blutwert. Args: - query (string): optional, z. B. 'ApoB', 'Insulin', 'Eisen' - baustelle: optional 'zucker' | 'herz' | 'entzuendung' | 'hormone' | 'naehrstoffe' | 'organe' - nur_einsteiger (boolean): nur das Einsteiger-Panel - thema: 'marker' (Standard) | 'panels' | 'regeln' - response_format Keine Diagnose: Die Seite ordnet ein, sie befundet nicht.
  - after: Durchsucht die Blutwerte-Seite von biohackingkompakt.de (Longevity-Panel aus Folge 58): Marker wie HbA1c, Nüchtern-Insulin, ApoB, Lp(a), hsCRP, Vitamin D, Ferritin, Testosteron, Schilddrüse - jeweils mit Referenzbereich, Einheit und der "Baustelle" (Zucker, Herz, Entzündung, Hormone, Nährstoffe, Organe). Ohne Suchbegriff liefert es die Übersicht: alle Marker nach Baustelle. Mit thema='panels' die Laborpakete (kleines/großes Blutbild, Lipidprofil ...) mit Kassen-/Kosteninfo, mit thema='regeln' Messrhythmus, Vorbereitung, Störfaktoren und das Einsteiger-Panel ("Fünf-Sterne-Minimum"). Für einen einzelnen Marker mit Bedeutung, was hohe/niedrige Werte heißen können, Hebeln und Störfaktoren danach bk_get_blutwert. Args: - query (string): optional, z. B. 'ApoB', 'Insulin', 'Eisen' - baustelle: optional 'zucker' | 'herz' | 'entzuendung' | 'hormone' | 'naehrstoffe' | 'organe' - nur_einsteiger (boolean): nur das Einsteiger-Panel - thema: 'marker' (Standard) | 'panels' | 'regeln' - response_format Keine Diagnose: Die Seite ordnet ein, sie befundet nicht.
- 2026-10-16 `bk_list_aenderungen` added
  - Das inhaltliche Aenderungsprotokoll von biohackingkompakt.de: wo sich die Grundlage eines Themas nachtraeglich verschoben hat - neue begutachtete Studien, zurueckgezogene Arbeiten, gescheiterte Zulassungen, neue Rechtsprechung, eigene Korrekturen. Jeder Eintrag nennt eine ueberpruefbare Quelle. Gut fuer "Was ist neu bei Retatrutid?" oder "Welche Bewertungen wurden zuletzt korrigiert?". Args: - query (string): optional, Suchbegriff in Titel und Text - thema_id (string): optional, nur Eintraege zu diesem Thema - typ: optional 'Evidenz' | 'Recht' | 'Korrektur' - seit (string, JJJJ-MM-TT): optional - limit (1-50, Standard 10), offset, response_format
- 2026-10-16 `bk_get_report` added
  - Die Kennzahlen des Biohacking-Reports von biohackingkompakt.de, live aus dem aktuellen Bestand gerechnet: wie viele Mittel gut belegt, mit Einschraenkungen belegt, duenn belegt, nie am Menschen untersucht oder weit vor der Evidenz beworben sind - insgesamt und je Bereich (Supplements, Peptide & Experimentelles, Anwendungen, Alltags-Tipps, Bioregulatoren). Gut fuer Fragen wie "Wie viel im Biohacking ist ueberhaupt belegt?" oder "Wie steht es um Peptide insgesamt?". Der veroeffentlichte Report 2026 (Stand 15.10.2026, 494 Mittel) liegt als Seite, PDF und CSV unter report/2026 - die Zahlen hier koennen davon abweichen, weil sie den heutigen Bestand zaehlen. Args: - bereich: optional 'supplement' | 'experimental' | 'behandlungen' | 'tipps' | 'khavinson' - beispiele (number 0-10, Standard 5): wie viele Beispiele je Label (die am besten untersuchten zuerst) - response_format
- 2026-10-16 `bk_compare_topics` added
  - Stellt zwei bis vier Themen im BK-Score nebeneinander, z. B. "Kreatin oder Beta-Alanin?", "NMN gegen Nicotinamid-Ribosid", "Sauna oder Kryotherapie?". Liefert je Thema Label, alle Achsen, Richtung, die Begruendung und den Link - plus eine Tabelle zum direkten Vergleich. Fuer redaktionell geschriebene Vergleichsseiten (z. B. Semaglutid vs. Tirzepatid) gibt es zusaetzlich bk_search_inhalte mit art='vergleich'. Die Achsen bewerten den WISSENSSTAND, nicht die Substanz. Ein hoeherer Wert heisst nicht "besser": Hohe Human-Evidenz mit Richtung 'negativ' heisst gut untersucht und Nutzen nicht gezeigt. Hype-Abstand: 10 = Werbung deckt sich mit den Daten, niedrig = Werbung weit vor den Daten. Args: - ids (string[]): 2-4 Themen-ids aus bk_search_topics, z. B. ['kreatin', 'beta-alanin'] - response_format
- 2026-10-16 `bk_get_signalweg` added
  - Der Signalwege-Atlas von biohackingkompakt.de: die grossen Alterungs- und Stoffwechselschalter (mTOR, AMPK, Sirtuine/NAD+, Autophagie, Insulin/IGF-1, GLP-1, HIF-1a, Nrf2, NF-kB, Seneszenz, Epigenetik, zirkadiane Uhr ...) und welche Themen der Seite an welchem Schalter ansetzen. Drei Wege: - ohne Angabe: alle Signalwege mit Kurzbeschreibung - id='mtor': ein Signalweg mit Erklaerung und allen Themen, die ihn aktivieren, hemmen oder modulieren - thema_id='berberin': umgekehrt - an welchen Signalwegen ein Thema ansetzt Jede Verknuepfung traegt eine Belegstufe: 2 = gut belegt, 1 = moderat, 0 = experimentell. Eine Verknuepfung beschreibt einen Mechanismus, keine nachgewiesene Wirkung am Menschen - dafuer ist der BK-Score da (bk_get_topic).

Full history: https://api.protogrid.dev/v1/servers/de.biohackingkompakt%2Fbiohacking-kompakt/changes

## Remotes

- https://mcp.biohackingkompakt.de/mcp (streamable-http, auth none, reachable true, uptime30d 0.96703297)

## Packages

_none_

## Tools (16)

- `bk_compare_topics`: Stellt zwei bis vier Themen im BK-Score nebeneinander, z. B. "Kreatin oder Beta-Alanin?", "NMN gegen Nicotinamid-Ribosid", "Sauna oder Kryotherapie?". Liefert je Thema Label, alle Achsen, Richtung, die Begründung und den Link - plus eine Tabelle zum direkten Vergleich.

Für redaktionell geschriebene Vergleichsseiten (z. B. Semaglutid vs. Tirzepatid) gibt es zusätzlich bk_search_inhalte mit art='vergleich'.

Die Achsen bewerten den WISSENSSTAND, nicht die Substanz. Ein höherer Wert heißt nicht "besser": Hohe Human-Evidenz mit Richtung 'negativ' heißt gut untersucht und Nutzen nicht gezeigt. Hype-Abstand: 10 = Werbung deckt sich mit den Daten, niedrig = Werbung weit vor den Daten.

Args:
  - ids (string[]): 2-4 Themen-ids aus bk_search_topics, z. B. ['kreatin', 'beta-alanin']
  - response_format
- `bk_get_blutwert`: Liefert einen Marker der Blutwerte-Seite vollständig: Bedeutung, Referenzbereich, Zielbereich (wo die Seite einen nennt), was hohe und niedrige Werte bedeuten KÖNNEN, Hebel, Störfaktoren vor der Messung und die Podcastfolge dazu.

Typische Frage: "Mein ApoB ist 110 - was heißt das?" -> id='apob', dann den Wert gegen 'referenz' und 'optimal' einordnen und immer dazusagen, dass der Bereich auf dem eigenen Befund gilt.

Args:
  - id (string): Marker-id aus bk_search_blutwerte, z. B. 'apob', 'hba1c', 'ferritin'. Auch der Name wird erkannt.
  - response_format
- `bk_get_podcast_episode`: Liefert eine einzelne Folge des Podcasts "Biohacking Kompakt" mit Titel, Erscheinungsdatum, Hoerlinks und - wenn die Folge einem Thema der Seite zugeordnet ist - dessen Kurzfassung samt BK-Score.

Args:
  - nr (number): Folgennummer
  - response_format ('markdown' | 'json')

Returns: { nr, titel, datum, spotify, apple, thema: { id, view, name, kurz, score_label } | null }

Fehlerfaelle:
  - Folge existiert nicht oder ist noch nicht erschienen: die Antwort sagt, welche Nummern es gibt.
- `bk_get_report`: Die Kennzahlen des Biohacking-Reports von biohackingkompakt.de, live aus dem aktuellen Bestand gerechnet: wie viele Mittel gut belegt, mit Einschränkungen belegt, dünn belegt, nie am Menschen untersucht oder weit vor der Evidenz beworben sind - insgesamt und je Bereich (Supplements, Peptide & Experimentelles, Anwendungen, Alltags-Tipps, Bioregulatoren).

Gut für Fragen wie "Wie viel im Biohacking ist überhaupt belegt?" oder "Wie steht es um Peptide insgesamt?". Der veröffentlichte Report 2026 (Stand 15.10.2026, 494 Mittel) liegt als Seite, PDF und CSV unter report/2026 - die Zahlen hier können davon abweichen, weil sie den heutigen Bestand zählen.

Args:
  - bereich: optional 'supplement' | 'experimental' | 'behandlungen' | 'tipps' | 'khavinson'
  - beispiele (number 0-10, Standard 5): wie viele Beispiele je Label (die am besten untersuchten zuerst)
  - response_format
- `bk_get_seite`: Liefert den vollstaendigen Text einer Seite von biohackingkompakt.de, abschnittsweise: Themenseiten, Tipps, Vergleiche, Fragen & Beschwerden, Glossar oder Podcast-Folgenseiten. Typisch nach bk_search_inhalte, um einen Fund im Zusammenhang zu lesen.

Args:
  - art ('thema' | 'tipp' | 'vergleich' | 'problem' | 'glossar' | 'folge')
  - slug (string): Dateiname ohne .html, wie ihn bk_search_inhalte liefert. Bei Themen meist gleich der Themen-id.
  - abschnitt (string): optional, nur passende Abschnitte (Teil der Ueberschrift)
  - response_format ('markdown' | 'json')

Returns: { art, slug, titel, url, thema_id, reguliert, abschnitte: [{ titel, text }] }

Bei regulierten Themen fehlen Abschnitte zu Anwendung, Einnahme und Erfahrungen bewusst.
- `bk_get_signalweg`: Der Signalwege-Atlas von biohackingkompakt.de: die großen Alterungs- und Stoffwechselschalter (mTOR, AMPK, Sirtuine/NAD+, Autophagie, Insulin/IGF-1, GLP-1, HIF-1a, Nrf2, NF-kB, Seneszenz, Epigenetik, zirkadiane Uhr ...) und welche Themen der Seite an welchem Schalter ansetzen.

Drei Wege:
  - ohne Angabe: alle Signalwege mit Kurzbeschreibung
  - id='mtor': ein Signalweg mit Erklärung und allen Themen, die ihn aktivieren, hemmen oder modulieren
  - thema_id='berberin': umgekehrt - an welchen Signalwegen ein Thema ansetzt

Jede Verknüpfung trägt eine Belegstufe: 2 = gut belegt, 1 = moderat, 0 = experimentell. Eine Verknüpfung beschreibt einen Mechanismus, keine nachgewiesene Wirkung am Menschen - dafür ist der BK-Score da (bk_get_topic).
- `bk_get_topic`: Liefert einen Themen-Eintrag von biohackingkompakt.de vollstaendig: Beschreibung, Wirkmechanismus, was dafuer spricht, Risiken, Dosierung und Einnahme (wo vorhanden), Status, Quellen mit Links, der BK-Score mit allen fuenf Achsen samt Begruendung, die Podcastfolgen zum Thema - und seit 1.6 den kompletten Langtext der Themenseite (Feld artikel): Studien im Einzelnen, was gut belegt ist, wo die Daten aufhoeren, Sicherheit, was Anwender berichten, haeufige Fragen.

Fuer praktische Fragen zu einem bestimmten Thema ("Wann nehme ich X?", "Welche Nebenwirkungen hat X?", "Was berichten Anwender?") ist dies das richtige Werkzeug - die Antwort steht in den Feldern einnahme/risiken oder im artikel.

Der BK-Score bewertet den WISSENSSTAND, nicht die Substanz. Eine hohe Sicherheits-Achse heisst "gut untersucht", nicht "harmlos"; eine hohe Human-Evidenz heisst "viel untersucht" - wohin die Evidenz zeigt, sagt das Feld richtung.

Args:
  - id (string): Themen-id, z. B. 'kreatin', 'semaglutide', 'ihht'
  - view (string): optional, wenn die id mehrdeutig ist
  - response_format ('markdown' | 'json')

Returns: { id, view, name, bereich, kurz, beschreibung, mechanismus, nutzen[], risiken[], dosierung, einnahme, status, einordnung, evidenz_text, quellen[], nahrungsquellen, community_links[], reguliert?, score{...}, podcastfolgen[], url, artikel?: [{ titel, text }] }

Regulierte Themen (verschreibungspflichtige Arzneimittel, nicht zugelassene Substanzen wie Peptide,
SARMs und Bioregulatoren) tragen "reguliert": true. Bei ihnen sind "dosierung" und "einnahme" leer und
"community_links" bleibt leer - die Antwort ordnet die Studienlage ein und enthaelt bewusst keine
Anwendungs- oder Bezugsinformationen. Gib das so weiter: Nenne die Evidenzlage, nenne den
verschreibungspflichtigen Status, und verweise fuer die Anwendung auf aerztliche Begleitung.

Zwei Felder, die man leicht verwechselt: "quellen" sind wissenschaftliche Belege (nur bei Peptiden und
Bioregulatoren gefuellt), "nahrungsquellen" ist bei Supplements der Fliesstext, in welchen Lebensmitteln der
Stoff vorkommt. "community_links" sind Videos, Foren und Haendlerseiten - keine Belege und keine Empfehlung.
Die vollstaendige Studienliste eines Themas - auch bei Supplements - liefert bk_search_studien mit thema_id.

Beispiele:
  - "Erklaer mir Kreatin mit euren Quellen" -> id="kreatin"
  - Nicht benutzen fuer: eine Liste ("Welche Themen sind gut belegt?" -> bk_list_scores).

Fehlerfaelle:
  - Unbekannte id: die Antwort nennt die aehnlichsten vorhandenen ids.
- `bk_get_zitierregeln`: Liefert die offiziellen Hinweise von Biohacking Kompakt zum korrekten Zitieren (die llms.txt der Seite): wofuer der BK-Score steht, welche drei Achsen regelmaessig missverstanden werden, und wie die Inhalte einzuordnen sind.

Vor dem ersten Zitieren von Inhalten dieser Seite einmal aufrufen — die Score-Achsen bedeuten etwas anderes, als ihre Namen vermuten lassen.

Args: keine (ausser response_format)
Returns: der Text der Zitierregeln.
- `bk_list_aenderungen`: Das inhaltliche Änderungsprotokoll von biohackingkompakt.de: wo sich die Grundlage eines Themas nachträglich verschoben hat - neue begutachtete Studien, zurückgezogene Arbeiten, gescheiterte Zulassungen, neue Rechtsprechung, eigene Korrekturen. Jeder Eintrag nennt eine überprüfbare Quelle.

Gut für "Was ist neu bei Retatrutid?" oder "Welche Bewertungen wurden zuletzt korrigiert?".

Args:
  - query (string): optional, Suchbegriff in Titel und Text
  - thema_id (string): optional, nur Einträge zu diesem Thema
  - typ: optional 'Evidenz' | 'Recht' | 'Korrektur'
  - seit (string, JJJJ-MM-TT): optional
  - limit (1-50, Standard 10), offset, response_format
- `bk_list_erfahrungen`: Listet die Erfahrungsberichte von biohackingkompakt.de: Selbstversuche und recherchierte Berichte zu Supplements, Peptiden und Anwendungen, mit Dauer, Dosierung, Fazit sowie dem, was gut und was schlecht lief.

Wichtig zur Einordnung: Ein Erfahrungsbericht ist eine Einzelbeobachtung, kein Beleg. Er sagt nichts darueber aus, ob etwas wirkt - dafuer ist der BK-Score da (bk_get_topic).
Diese Liste ist gefiltert: Berichte, die im Zusammenhang mit einem Partnerprogramm oder Rabattcode stehen, sind hier NICHT enthalten. `total` bezieht sich auf die gefilterte Liste. Auf biohackingkompakt.de stehen sie, dort als Anzeige gekennzeichnet.

Args:
  - query (string): optionaler Suchbegriff
  - kategorie (string): optionaler Kategoriefilter
  - limit (1-50, Standard 10), offset, response_format

Returns: { total, count, offset, items: [{ id, substanz, kategorie, autor, datum, dauer, dosis, bewertung, fazit, positiv[], negativ[], anzeige, shop_id }], has_more, next_offset }
- `bk_list_scores`: Listet Themen nach ihrer Bewertung im BK-Score - dem Kern von Biohacking Kompakt. Damit lassen sich Fragen beantworten wie "Was ist wirklich gut belegt?", "Wo ist der Hype groesser als die Evidenz?" oder "Welche Peptide sind am Menschen ueberhaupt nicht untersucht?".

Der Score hat fuenf Achsen (jeweils 0-10) und bewertet den WISSENSSTAND, nicht die Substanz:
  - evidenz: wie viel und wie gut am Menschen untersucht. Sagt NICHT, ob es wirkt - dafuer ist richtung da.
  - richtung: wohin die vorhandene Evidenz zeigt (positiv, gemischt, negativ, offen).
  - sicherheit: wie gut die Sicherheitslage untersucht ist. Hoch heisst "gut untersucht", NICHT "harmlos".
  - anwendung: wie lange und breit angewendet. Kein Wirksamkeitsbeleg - Aderlass haette hier eine 10.
  - hype: der Hype-Abstand. 10 = die Werbung deckt sich mit den Daten, niedrig = die Werbung ist den Daten weit voraus. Niedrig ist also das Warnsignal, nicht hoch.

Args:
  - view, label, richtung, min_evidenz, max_evidenz, min_hype, max_hype: Filter (alle optional)
  - sortierung ('evidenz_ab' | 'evidenz_auf' | 'hype_ab' | 'hype_auf' (groesster Abstand zuerst) | 'name')
  - limit (1-100, Standard 25), offset, response_format

Returns: { total, count, offset, items: [{ id, view, name, label, evidenz, richtung, sicherheit, anwendung, hype, url }], has_more, next_offset }

Beispiele:
  - "Was ist gut belegt und wirkt?" -> min_evidenz=7, richtung="positiv"
  - "Wo ist der Hype groesser als die Evidenz?" -> max_hype=3, sortierung="hype_auf"
- `bk_search_blutwerte`: Durchsucht die Blutwerte-Seite von biohackingkompakt.de (Longevity-Panel aus Folge 58): Marker wie HbA1c, Nüchtern-Insulin, ApoB, Lp(a), hsCRP, Vitamin D, Ferritin, Testosteron, Schilddrüse - jeweils mit Referenzbereich, Einheit und der "Baustelle" (Zucker, Herz, Entzündung, Hormone, Nährstoffe, Organe).

Ohne Suchbegriff liefert es die Übersicht: alle Marker nach Baustelle. Mit thema='panels' die Laborpakete (kleines/großes Blutbild, Lipidprofil ...) mit Kassen-/Kosteninfo, mit thema='regeln' Messrhythmus, Vorbereitung, Störfaktoren und das Einsteiger-Panel ("Fünf-Sterne-Minimum").

Für einen einzelnen Marker mit Bedeutung, was hohe/niedrige Werte heißen können, Hebeln und Störfaktoren danach bk_get_blutwert.

Args:
  - query (string): optional, z. B. 'ApoB', 'Insulin', 'Eisen'
  - baustelle: optional 'zucker' | 'herz' | 'entzuendung' | 'hormone' | 'naehrstoffe' | 'organe'
  - nur_einsteiger (boolean): nur das Einsteiger-Panel
  - thema: 'marker' (Standard) | 'panels' | 'regeln'
  - response_format

Keine Diagnose: Die Seite ordnet ein, sie befundet nicht.
- `bk_search_inhalte`: Volltextsuche ueber ALLE Seiten von biohackingkompakt.de: die ausfuehrlichen Themenseiten (Studien im Einzelnen, was gut belegt ist, wo die Daten aufhoeren, Sicherheit, was Anwender berichten, haeufige Fragen), Tipps und Routinen, Vergleiche ("A oder B?"), Fragen & Beschwerden, Glossar und die Podcast-Folgenseiten.

Das ist das richtige Werkzeug fuer konkrete Fragen im Wortlaut, deren Antwort im Fliesstext steht - etwa "Wann nehme ich NMN am besten?", "Was berichten Anwender von Ashwagandha?", "Ist Kreatin schlecht fuer die Niere?", "Was hilft gegen Heisshunger?", "Magnesium oder Glycin zum Schlafen?".

Liefert je Fundstelle die Seite, den Abschnitt und einen Textauszug. Den ganzen Abschnitt bzw. die ganze Seite liefert danach bk_get_seite mit art und slug.

Args:
  - query (string): Frage oder Suchbegriffe, 2-200 Zeichen. Fuellwoerter werden ignoriert.
  - art ('thema' | 'tipp' | 'vergleich' | 'problem' | 'glossar' | 'folge'): optional
  - limit (1-20, Standard 6), offset, response_format

Returns: { total, count, offset, items: [{ art, slug, seite, abschnitt, auszug, url, thema_id, reguliert }], has_more, next_offset }

Bei regulierten Themen (Peptide, verschreibungspflichtige oder nicht zugelassene Stoffe) enthalten die Texte bewusst keine Anwendungs-, Einnahme- oder Erfahrungsabschnitte.
- `bk_search_podcast`: Sucht in den veroeffentlichten Folgen des Podcasts "Biohacking Kompakt" - ein deutschsprachiger Wissenschaftspodcast mit Paul und Paula, redaktionell verantwortet von Biohacking Kompakt.

Ohne Suchbegriff kommen die neuesten Folgen zurueck. Noch nicht erschienene Folgen werden nie ausgegeben.

Args:
  - query (string): optionaler Suchbegriff im Titel
  - thema_id (string): optional, findet die Folgen zu genau diesem Thema
  - limit (1-50, Standard 10), offset, response_format

Returns: { total, count, offset, items: [{ nr, titel, datum, thema_id, view, spotify, apple }], has_more, next_offset }

Beispiele:
  - "Gibt es eine Folge ueber Kreatin?" -> query="Kreatin"
  - "Was sind die neuesten Folgen?" -> ohne query, limit=5
  - Nicht benutzen fuer: den Sachstand zu einem Thema (dafuer bk_get_topic).
- `bk_search_studien`: Durchsucht die Studien-Datenbank von biohackingkompakt.de: rund 2.500 Studien und knapp 400 Behoerden- und Rechtsquellen, auf die sich die Themen-, Tipp-, Vergleichs- und Frageseiten stuetzen. Jede Studie mit Originaltitel, Erstautor, Journal, Jahr, Studientyp, Link (PubMed/DOI) und den Themenseiten, die sie verwenden.

Der Studientyp stammt aus PubMed bzw. Europe PMC und ist eine Orientierung, keine Qualitaetsnote: Eine Tierstudie sagt nichts ueber den Menschen, eine kleine randomisierte Studie weniger als eine grosse. Was eine Studie fuer ein Thema bedeutet, steht in bk_get_topic (BK-Score und Begruendung).

Args:
  - query (string): optionaler Suchbegriff (Titel sind meist englisch - 'creatine' findet mehr als 'Kreatin'; Themennamen sind deutsch)
  - thema_id (string): optional, die Quellen genau einer Themenseite, z. B. 'kreatin', 'biotin'
  - typ: optional, z. B. 'meta' oder 'rct'
  - seit_jahr (number): optional
  - quellenart: 'studien' (Standard) oder 'behoerden'
  - limit (1-50, Standard 10), offset, response_format

Returns: { stand, quelle, total, count, offset, typen_zaehlung{typ: anzahl}, items: [{ titel, autor, journal, jahr, typ, typ_name, url, pmid, doi, herausgeber, themen[{art, name, url, thema_id}] }], has_more, next_offset }

Ohne Suchbegriff wird nach Studientyp sortiert (Meta-Analysen, dann randomisierte Studien ...) und innerhalb davon nach Jahr, neueste zuerst.

Beispiele:
  - "Welche Studien nutzt ihr zu Kreatin?" -> thema_id="kreatin"
  - "Gibt es Meta-Analysen zu Biotin und Haaren?" -> thema_id="biotin", typ="meta"
  - "Was sagt das BfR zu Ashwagandha?" -> thema_id="ashwagandha", quellenart="behoerden"
  - Nicht benutzen fuer: die Bewertung eines Themens (dafuer bk_get_topic).
- `bk_search_topics`: Sucht in allen Themen von biohackingkompakt.de - Supplements, Peptide und experimentelle Substanzen, Anwendungen und Therapien, Biohacking-Tipps und Khavinson-Bioregulatoren. Durchsucht Namen, Zweitnamen, Schlagworte und Beschreibungstexte; Umlaute und Schreibweisen sind egal.

Liefert je Treffer eine Kurzfassung mit dem BK-Score. Fuer den vollstaendigen Eintrag mit Einnahme, Belegen, Risiken, Anwenderberichten und haeufigen Fragen danach bk_get_topic mit der zurueckgegebenen id aufrufen. Fuer Fragen, deren Antwort im Fliesstext irgendeiner Seite steht, bk_search_inhalte.

Args:
  - query (string): Suchbegriff, 2-120 Zeichen
  - bereich ('supplement' | 'experimental' | 'behandlungen' | 'tipps' | 'khavinson'): optionale Einschraenkung
  - limit (number): 1-50, Standard 10
  - offset (number): fuer weitere Seiten
  - response_format ('markdown' | 'json')

Returns: { total, count, offset, items: [{ id, view, name, bereich, kurz, score_label, evidenz, richtung, url }], has_more, next_offset }

Beispiele:
  - "Was steht bei euch zu Kreatin?" -> query="Kreatin"
  - "Welche Peptide zum Abnehmen habt ihr?" -> query="Abnehmen", bereich="experimental"
  - Nicht benutzen fuer: eine Podcastfolge finden (dafuer bk_search_podcast).
