Biohacking Kompakt
Server Details
Evidence-rated German database of supplements, peptides and longevity methods, plus podcast.
- Status
- Healthy
- Uptime
- 100.0% over 22 days
- Last Tested
- Transport
- Streamable HTTP · MCP 2025-11-25
- URL
- Repository
- phoeser/biohacking-kompakt
- GitHub Stars
- 0
TDQS
Scored across 16 tools
Die Tools decken klar getrennte Ressourcen ab (Themen, Inhalte, Studien, Podcast, Blutwerte, Signalwege, Report) und die Beschreibungen enthalten sogar 'Nicht benutzen für'-Hinweise, die die Abgrenzung unterstützen. Restliche Überlappung: bk_get_topic vs. bk_get_seite (art='thema') liefern beide Themenseiten-Inhalte, und bk_search_topics vs. bk_search_inhalte können bei Namenssuche konkurrieren, wobei die Workflow-Hinweise das meist auflösen.
Durchgängiges Muster bk_ + verb_noun: bk_search_* (topics, inhalte, studien, podcast, blutwerte), bk_get_* (topic, seite, blutwert, podcast_episode, signalweg, report, zitierregeln), bk_list_* (scores, aenderungen, erfahrungen), plus bk_compare_topics. Keine Stilbrüche, auch wenn die Nomen deutsch sind.
16 Tools passen zur Breite der Domäne (mehrere Inhaltstypen mit je Suche + Detailabruf plus Listen-, Vergleichs- und Report-Tools), jedes hat einen erkennbaren Zweck. Leicht am oberen Rand, und bk_get_topic/bk_get_seite könnten für Themenseiten potenziell zusammengeführt werden.
Als read-only Wissensdatenbank ist die Oberfläche nahezu vollständig: Suche und Detailabruf über Themen, Volltext, Studien, Podcast, Blutwerte, Signalwege und Erfahrungen, dazu Vergleich, Report, Änderungsprotokoll und Zitierregeln. Kleinere Lücke: ein direktes Browsing aller Themen ohne Score-Filter oder Suchbegriff ist nur indirekt über bk_list_scores möglich.
Available Tools
16 toolsbk_compare_topicsThemen im BK-Score vergleichenARead-onlyIdempotentInspect
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
| Name | Required | Description | Default |
|---|---|---|---|
| ids | Yes | Zwei bis vier Themen-ids, z. B. ['kreatin','beta-alanin'] | |
| response_format | No | Ausgabeformat: 'markdown' zum Lesen, 'json' zum Weiterverarbeiten | markdown |
Output Schema
| Name | Required | Description |
|---|---|---|
| count | Yes | |
| items | Yes | |
| hinweis | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already cover the safety profile (readOnly, idempotent, non-destructive, open-world). The description adds substantive interpretive context the annotations cannot: the axes measure knowledge state rather than substance, that high human evidence with direction 'negative' is not 'bad', and the meaning of the hype-distance scale. That is real added value beyond structured fields.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Purpose and examples are front-loaded, and the axis/hype-distance semantics are compactly explained in two short sentences. It is slightly dense in the closing lines but every sentence carries information an agent needs to interpret the result.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, yet the description still previews the returned fields and the side-by-side table, and explains how to read the axes. Combined with full schema coverage and annotations, nothing an agent needs to call or interpret this tool is missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema already documents both ids and response_format (including the markdown/json enum). The description only restates the id source and duplicates the schema example, adding little beyond it – baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb (side-by-side comparison) and resource (two to four BK-score topics), and enumerates the concrete output (label, all axes, direction, reasoning, link, comparison table). It also names the sibling scenario it is not for (editorial comparison pages → bk_search_inhalte), so an agent can route correctly without opening other schemas.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly routes the editorially-written comparison case to bk_search_inhalte with art='vergleich', and implies ids are sourced from bk_search_topics. This is clear conditional guidance, though it stops short of a fully explicit 'use this when / not when' framing.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
bk_get_blutwertEinen Blutwert vollständig abrufenARead-onlyIdempotentInspect
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
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | Marker-id oder Name, z. B. 'apob', 'HbA1c', 'Vitamin D' | |
| response_format | No | Ausgabeformat: 'markdown' zum Lesen, 'json' zum Weiterverarbeiten | markdown |
Output Schema
| Name | Required | Description |
|---|---|---|
| id | Yes | |
| url | Yes | |
| hoch | No | |
| kurz | No | |
| name | Yes | |
| folge | No | |
| hebel | Yes | |
| einheit | No | |
| hinweis | Yes | |
| niedrig | No | |
| optimal | No | |
| referenz | No | |
| baustelle | No | |
| bedeutung | No | |
| folge_url | No | |
| stoerfaktoren | Yes | |
| baustelle_name | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, openWorldHint and destructiveHint=false, so safety is covered. The description adds genuine behavioral context beyond them: the target range is only present 'wo die Seite einen nennt', high/low values are hedged as what they 'KÖNNEN' mean, and it instructs the agent to always note that the range on the user's own lab report applies.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Purpose is front-loaded, then a compact example, then a short Args block. The return-field list is dense but earns its place since it defines scope. Slightly long for the value delivered, but no filler sentences.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With an output schema present, return values need not be described, and the safety annotations cover the write/read profile. The description supplies the remaining decision-relevant context (what a marker lookup yields, the interpretation caveat), leaving only pagination/error behavior unaddressed, which is minor for a single-entity getter.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so the baseline is 3 and the schema already documents both parameters and the enum. The description still adds value by linking 'id' to its provenance ('Marker-id aus bk_search_blutwerte') and confirming names are accepted, which helps an agent construct the call without a prior lookup.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource ('Liefert einen Marker der Blutwerte-Seite vollständig') and enumerates exactly what comes back: Bedeutung, Referenzbereich, Zielbereich, hohe/niedrige Werte, Hebel, Störfaktoren, Podcastfolge. This distinguishes it from the sibling search tool bk_search_blutwerte without the agent needing to open a schema.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Gives a concrete usage pattern ('Typische Frage: Mein ApoB ist 110 - was heißt das? -> id=apob, dann gegen referenz und optimal einordnen') and implies the id originates from bk_search_blutwerte. It never states when NOT to use this tool or names a competing sibling explicitly, so it falls short of a full when/when-not/alternatives statement.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
bk_get_podcast_episodeEine Podcastfolge abrufenARead-onlyIdempotentInspect
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.
| Name | Required | Description | Default |
|---|---|---|---|
| nr | Yes | Folgennummer, z. B. 63 | |
| response_format | No | Ausgabeformat: 'markdown' zum Lesen, 'json' zum Weiterverarbeiten | markdown |
Output Schema
| Name | Required | Description |
|---|---|---|
| nr | Yes | |
| apple | Yes | |
| datum | Yes | |
| thema | Yes | |
| titel | Yes | |
| spotify | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already establish readOnly, idempotent, and non-destructive behavior. The description adds useful behavioral context beyond that: thema can be null when no topic is assigned, and if the episode does not exist or is not yet published, the response tells which episode numbers exist.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is compact and well organized into Args, Returns, and Fehlerfaelle. The core behavior is front-loaded and every sentence contributes useful information without redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a single-episode getter, the description covers the input, the full return shape, the conditional null topic, and the invalid-number error behavior. Combined with the output schema and annotations, an agent has everything needed to call the tool correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema already documents both parameters with types, enums, defaults, and descriptions, so schema coverage is 100%. The description's Args section mostly restates this and adds no meaning beyond the structured schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The first sentence states a concrete action ('Liefert eine einzelne Folge') with an exact resource: the 'Biohacking Kompakt' podcast. The nr argument makes clear this is a by-number retrieval, which distinguishes it from the sibling search tool bk_search_podcast.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The use case is inferable: fetch a single known episode by number. However, the description never explicitly says when to prefer this over bk_search_podcast or bk_get_topic, nor does it provide any 'when not to use' guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
bk_get_reportBiohacking-Report: Zahlen zum GesamtbestandARead-onlyIdempotentInspect
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
| Name | Required | Description | Default |
|---|---|---|---|
| bereich | No | Nur diesen Bereich zählen | |
| beispiele | No | Beispiele je Label | |
| response_format | No | Ausgabeformat: 'markdown' zum Lesen, 'json' zum Weiterverarbeiten | markdown |
Output Schema
| Name | Required | Description |
|---|---|---|
| stand | Yes | |
| gesamt | Yes | |
| labels | Yes | |
| bereich | No | |
| csv_url | Yes | |
| bereiche | Yes | |
| lizenz_csv | No | |
| report_url | Yes | |
| nie_am_menschen | Yes | |
| solide_und_positiv | Yes | |
| hype_weit_vor_daten | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint/idempotentHint/openWorldHint, so the safety profile is covered. The description adds real behavioral context beyond them: numbers are computed live from the current inventory and may diverge from the published 2026 report (Stand 15.10.2026, 494 Mittel), and it notes that report is separately available as page/PDF/CSV under report/2026. That is a meaningful caveat an agent must not misreport.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Purpose and metric scope are front-loaded in the first sentence, and the subsequent sentences (example questions, published-report caveat) each carry information an agent needs. The opening sentence is long and list-heavy, but nothing is padding.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so return-shape explanation is rightly omitted. For a read-only aggregation tool the description covers scope, available category slices, and the live-vs-published discrepancy, leaving little an agent needs uncertain.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema already documents all three parameters, enum values and defaults; baseline is 3. The description adds only a small amount beyond it, notably that the examples are the best-studied ones first ("die am besten untersuchten zuerst"), which is genuine but limited added meaning.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific resource (die Kennzahlen des Biohacking-Reports von biohackingkompakt.de) and what is computed (live aus dem aktuellen Bestand), then enumerates the exact metric labels (gut belegt, mit Einschränkungen belegt, dünn belegt, nie am Menschen untersucht, weit vor der Evidenz beworben) and the five Bereiche. That level of specificity makes it unmistakable as an aggregate-statistics tool rather than a per-topic getter like bk_get_topic.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Gives concrete example questions it answers ("Wie viel im Biohacking ist überhaupt belegt?", "Wie steht es um Peptide insgesamt?"), which tells the agent when to reach for it. It does not name an alternative tool or state when not to use it, so it stops short of full routing guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
bk_get_seiteEine Seite von Biohacking Kompakt vollständig lesenARead-onlyIdempotentInspect
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.
| Name | Required | Description | Default |
|---|---|---|---|
| art | Yes | Seitenart: thema, tipp, vergleich, problem, glossar, folge | |
| slug | Yes | Dateiname ohne .html, z. B. 'nmn' (thema), 'schlaf-dunkel' (tipp), '98' (folge) | |
| abschnitt | No | Optional: nur Abschnitte, deren Ueberschrift diesen Text enthaelt, z. B. 'Anwender' oder 'Fragen' | |
| response_format | No | Ausgabeformat: 'markdown' zum Lesen, 'json' zum Weiterverarbeiten | markdown |
Output Schema
| Name | Required | Description |
|---|---|---|
| art | Yes | |
| url | Yes | |
| slug | Yes | |
| titel | Yes | |
| thema_id | Yes | |
| reguliert | Yes | |
| abschnitte | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already cover read-only, idempotent, open-world, and non-destructive safety. The description adds a non-obvious data caveat: deliberately missing application, dosage, and experience sections for regulated topics, plus section-wise delivery.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Front-loads purpose and uses Args/Returns structure. The Args and Returns blocks duplicate the schema and output schema somewhat, but the text remains compact and organized.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a read-only page fetch with full annotations, an output schema, and 100% schema coverage, the description supplies key usage context, a return-shape preview, and the regulated-topic omission. Nothing essential for correct invocation is missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so baseline is 3. The description adds useful meaning for slug ('wie ihn bk_search_inhalte liefert', usually topic id) and abschnitt (matching part of the heading), beyond the schema examples.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb ('Liefert') and resource ('vollstaendigen Text einer Seite von biohackingkompakt.de') and lists supported page types. However it does not explicitly contrast itself with get siblings such as bk_get_topic or bk_get_podcast_episode, so sibling differentiation is incomplete.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly says the typical sequence is after bk_search_inhalte to read a find in context. No when-not guidance or alternative get tools are named.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
bk_get_signalwegSignalwege-Atlas abfragenARead-onlyIdempotentInspect
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).
| Name | Required | Description | Default |
|---|---|---|---|
| id | No | Signalweg-id oder -name, z. B. 'mtor', 'AMPK', 'Autophagie' | |
| thema_id | No | Themen-id, z. B. 'berberin', 'rapamycin', 'zone2-vo2max' | |
| response_format | No | Ausgabeformat: 'markdown' zum Lesen, 'json' zum Weiterverarbeiten | markdown |
Output Schema
| Name | Required | Description |
|---|---|---|
| id | No | |
| url | Yes | |
| name | No | |
| items | No | |
| thema | No | |
| total | No | |
| themen | No | |
| funktion | No | |
| thema_id | No | |
| untertitel | No | |
| beschreibung | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly/idempotent/non-destructive/openWorld, so safety is covered. The description adds non-obvious context: the evidence-level encoding (2/1/0) that qualifies every link and the caveat that a link is a mechanism rather than proven efficacy. It could still say more about result size or pagination, so not a full 5.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Front-loads the resource, then a clean three-bullet breakdown of modes, then the evidence-scale note. The opening sentence enumerates many pathway names, which is somewhat verbose but serves as scope illustration rather than filler.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so return formatting need not be explained. Combined with the mode semantics, evidence-level legend, and sibling cross-reference, an agent has everything needed to choose and invoke this tool correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so the baseline is 3. The description earns extra credit by mapping each parameter to a distinct behavioral mode (id = pathway view, thema_id = inverted topic view, absence = list), which is semantic meaning beyond the schema's field descriptions.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Stated as a specific verb+resource ('Signalwege-Atlas abfragen') and explains the three distinct retrieval modes, so an agent knows exactly what the tool returns in each case. It also names the adjacent tool bk_get_topic that supplies the effect data this tool deliberately omits.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly enumerates when to use each mode: no argument for a full list, id for one pathway with its topics, thema_id for the reverse lookup. It also draws the boundary against bk_get_topic by clarifying that links are mechanisms, not demonstrated human effects.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
bk_get_topicEin Thema vollständig abrufenRead-onlyIdempotentInspect
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.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | Themen-id aus bk_search_topics, z. B. 'kreatin' | |
| view | No | Bereich, falls dieselbe id in zwei Bereichen vorkommt (z. B. 'hbot' in behandlungen und tipps) | |
| response_format | No | Ausgabeformat: 'markdown' zum Lesen, 'json' zum Weiterverarbeiten | markdown |
Output Schema
| Name | Required | Description |
|---|---|---|
| id | Yes | |
| url | Yes | |
| kurz | Yes | |
| name | Yes | |
| tags | Yes | |
| view | Yes | |
| score | Yes | null heisst: kein Score vergeben, keinen erfinden |
| meiden | Yes | |
| nutzen | Yes | |
| status | Yes | |
| artikel | No | Langtext der Themenseite, abschnittsweise: Studien, Grenzen der Daten, Anwenderberichte, haeufige Fragen. Bei regulierten Themen ohne Anwendungsteil. |
| bereich | Yes | |
| quellen | Yes | Wissenschaftliche Belege |
| risiken | Yes | |
| einnahme | Yes | Bei regulierten Themen nach aussen immer null |
| alt_namen | Yes | |
| dosierung | Yes | Bei regulierten Themen nach aussen immer null |
| kategorie | Yes | |
| reguliert | No | true = verschreibungspflichtig oder nicht zugelassen; dann ohne Anwendungsangaben |
| synergien | Yes | |
| umsetzung | Yes | |
| einordnung | Yes | Redaktioneller Vorbehalt - der wichtigste Satz des Eintrags |
| mechanismus | Yes | |
| beschreibung | Yes | |
| evidenz_text | Yes | |
| externer_link | Yes | |
| podcastfolgen | Yes | |
| community_links | Yes | Videos, Foren, Haendlerseiten - kein Beleg, keine Empfehlung; nach aussen immer leer |
| nahrungsquellen | Yes | Lebensmittel - KEINE wissenschaftlichen Quellen |
| anwendungsgebiete | Yes |
bk_get_zitierregelnZitierregeln und Score-ErklärungARead-onlyIdempotentInspect
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.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, openWorldHint, idempotentHint, destructiveHint=false. The description adds a useful caveat that the score axes mean something different from their names, and clarifies that no arguments are needed except possibly response_format. No contradiction with annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three short sentences, front-loaded with purpose, then usage trigger, then args/returns. No wasted words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple read-only retrieval tool, it provides the content scope, the trigger, the argument expectations, and the return type. It also includes an important interpretation warning. There is no output schema, but the description covers what the agent needs.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema has 0 parameters and 100% coverage, so baseline is 4. The description explicitly notes 'Args: keine (ausser response_format)', clarifying that no tool-specific parameters are expected, which is useful for agents.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb and resource: it delivers the official citation guidelines (llms.txt) from Biohacking Kompakt, and details the content (BK score meaning, misunderstood axes, classification). This clearly differentiates it from sibling tools like podcast/topic search or score lists.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It gives an explicit trigger: call once before first citing content. It doesn't name alternatives, but no sibling tool serves this purpose, so the context is clear. It lacks explicit 'when not to use', but that's acceptable for a unique tool.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
bk_list_aenderungenWas hat sich geändert? (Änderungsprotokoll)ARead-onlyIdempotentInspect
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
| Name | Required | Description | Default |
|---|---|---|---|
| typ | No | Art der Änderung | |
| seit | No | Nur Einträge ab diesem Datum (JJJJ-MM-TT) | |
| limit | No | ||
| query | No | Suchbegriff | |
| offset | No | ||
| thema_id | No | Themen-id, z. B. 'retatrutide' | |
| response_format | No | Ausgabeformat: 'markdown' zum Lesen, 'json' zum Weiterverarbeiten | markdown |
Output Schema
| Name | Required | Description |
|---|---|---|
| url | Yes | |
| count | Yes | |
| items | Yes | |
| total | Yes | |
| offset | Yes | |
| has_more | Yes | |
| next_offset | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare this as a safe, read-only, idempotent, open-world read, so the safety profile is covered. The description adds useful context – the changelog nature of the data and that every entry carries a verifiable source – but the only operational detail (default limit 10) is essentially restated from the schema, and nothing is said about ordering or pagination behaviour.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The prose is tight and front-loaded: what the changelog is, then the kinds of entries, then example queries. The trailing Args block partly duplicates fields already in the schema, which is minor waste but does not obscure the core message.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With an output schema present, return values need no explanation, and all seven parameters are optional, so the agent needs only purpose and filtering semantics – both supplied. Enumerating the change categories plus example queries makes this comfortably callable, with only sibling-routing left implicit.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 71%, so several parameters are documented structurally (typ enum, seit pattern, response_format, thema_id). The description adds one genuine clarification – query searches 'Titel und Text' – but otherwise mostly restates the schema's own limits and defaults for limit/offset, whose schema entries carry no description text.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific resource (the content changelog of biohackingkompakt.de) and enumerates exactly what kind of entries it contains – new peer-reviewed studies, retractions, failed approvals, case law, own corrections – each with a verifiable source. That is far more specific than a tautology. It never names a sibling (e.g. bk_search_inhalte) that an agent might confuse it with, so it stops short of full differentiation.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Two concrete example questions ('Was ist neu bei Retatrutid?', 'Welche Bewertungen wurden zuletzt korrigiert?') give an agent clear context for when this tool is the right choice. However, no explicit when-not condition or named alternative (such as bk_search_inhalte or bk_search_studien) is provided, leaving overlap resolution to inference.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
bk_list_erfahrungenErfahrungsberichte von Biohacking KompaktARead-onlyIdempotentInspect
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 }
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | Hoechstzahl der Berichte (1-50) | |
| query | No | Suchbegriff in Substanz, Fazit und Bericht | |
| offset | No | Wie viele Berichte uebersprungen werden | |
| kategorie | No | Kategorie, z. B. 'Supplement', 'Peptid' | |
| response_format | No | Ausgabeformat: 'markdown' zum Lesen, 'json' zum Weiterverarbeiten | markdown |
Output Schema
| Name | Required | Description |
|---|---|---|
| count | Yes | Zahl der Eintraege in dieser Antwort |
| items | Yes | |
| total | Yes | Gesamtzahl der Treffer |
| offset | Yes | Wie viele uebersprungen wurden |
| has_more | Yes | Ob es weitere Treffer gibt |
| next_offset | No | offset fuer die naechste Seite |
| enthaelt_werbung | Yes | true = mindestens ein Bericht ist als Anzeige gekennzeichnet |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Beyond the readOnly/idempotent annotations, the description discloses that the list excludes promotional reports, that total reflects the filtered list, and that promotional reports appear as ads on the website. It also flags the epistemic limitation that a report is a single observation, not a proof.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The main behavior is front-loaded and followed by two purposeful caveats, then structured Args and Returns sections. The Args block is somewhat redundant with the schema, but it is compact and does not waste sentences.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The definition is complete for this listing tool: it states the content, filtering behavior, pagination fields, and return item shape, and it names the relevant sibling tool for efficacy. The output schema and annotations cover the remaining structured details.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema already describes all five parameters at 100% coverage, so the description's Args section does not add much semantic value. It repeats optionality and defaults without adding new meaning beyond what the schema provides.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description opens with a specific verb and resource ('Listet die Erfahrungsberichte von biohackingkompakt.de') and defines the list's content (Selbstversuche, recherchierte Berichte, Dauer, Dosierung, Fazit). It differentiates this listing from the efficacy-oriented BK-Score tool by explicitly stating that a report is only a single observation and not proof.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives explicit guidance not to treat Erfahrungsberichte as evidence of efficacy and points to bk_get_topic for the BK-Score. It also explains the list is filtered to exclude partner-program/rabattcode reports and that total refers to this filtered list, so an agent knows how to interpret results.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
bk_list_scoresThemen nach BK-Score filternRead-onlyIdempotentInspect
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"
| Name | Required | Description | Default |
|---|---|---|---|
| view | No | Auf einen Bereich einschraenken | |
| label | No | Score-Label als Textfilter, z. B. 'Gut belegt', 'Hype', 'Nicht am Menschen' | |
| limit | No | Hoechstzahl der Ergebnisse (1-100) | |
| offset | No | Wie viele Ergebnisse uebersprungen werden | |
| max_hype | No | Hoechstwert des Hype-Abstands (niedrig = Werbung weit vor den Daten) | |
| min_hype | No | Mindestwert des Hype-Abstands (hoch = Werbung deckt sich mit den Daten) | |
| richtung | No | Wohin die vorhandene Human-Evidenz zeigt | |
| sortierung | No | Reihenfolge der Ergebnisse | evidenz_ab |
| max_evidenz | No | Hoechstwert der Human-Evidenz-Achse | |
| min_evidenz | No | Mindestwert der Human-Evidenz-Achse | |
| response_format | No | Ausgabeformat: 'markdown' zum Lesen, 'json' zum Weiterverarbeiten | markdown |
Output Schema
| Name | Required | Description |
|---|---|---|
| count | Yes | Zahl der Eintraege in dieser Antwort |
| items | Yes | |
| total | Yes | Gesamtzahl der Treffer |
| offset | Yes | Wie viele uebersprungen wurden |
| has_more | Yes | Ob es weitere Treffer gibt |
| next_offset | No | offset fuer die naechste Seite |
bk_search_blutwerteBlutwerte des Longevity-Panels durchsuchenARead-onlyIdempotentInspect
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.
| Name | Required | Description | Default |
|---|---|---|---|
| query | No | Suchbegriff, z. B. 'ApoB', 'Ferritin', 'Schilddrüse' | |
| thema | No | 'marker' (Standard), 'panels' (Laborpakete) oder 'regeln' (Messrhythmus, Vorbereitung, Störfaktoren) | marker |
| baustelle | No | Nur Marker dieser Baustelle | |
| nur_einsteiger | No | Nur die Marker des Einsteiger-Panels | |
| response_format | No | Ausgabeformat: 'markdown' zum Lesen, 'json' zum Weiterverarbeiten | markdown |
Output Schema
| Name | Required | Description |
|---|---|---|
| url | Yes | |
| count | No | |
| items | No | |
| total | No | |
| regeln | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly/idempotent/non-destructive/openWorld, so the safety profile is covered. The description adds genuine behavioral context beyond that: the content is orientation, not diagnosis ('sie ordnet ein, sie befundet nicht'), and it describes what each thema mode returns. It does not discuss pagination or result size, so not a full 5.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Reasonably long but front-loaded: purpose first, then the mode branches, then the alternative tool and the disclaimer. Every sentence carries information (markers, mode meanings, routing, caveat) rather than filler; slightly dense with the long marker list.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so return values need not be explained, and the description covers purpose, all parameter semantics, mode routing, the sibling alternative, and the non-diagnostic caveat. Nothing an agent needs to call this correctly is missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, making 3 the baseline, but the description adds meaning over the schema: it maps the opaque enum slugs (entzuendung, naehrstoffe) to readable Baustellen, gives query examples ('ApoB', 'Insulin', 'Eisen'), and clarifies what nur_einsteiger and the thema modes select.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb (Durchsucht) plus resource (Blutwerte-Seite des Longevity-Panels) and enumerates the concrete content returned (Marker mit Referenzbereich, Einheit, Baustelle). It also explicitly names the sibling used for the single-marker case (bk_get_blutwert), so an agent can distinguish it without opening either schema.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Gives explicit when-to-use branches: no query → overview, thema='panels' → Laborpakete, thema='regeln' → Messrhythmus/Vorbereitung, and routes single-marker deep-dives to bk_get_blutwert. This is the kind of routing an agent needs, with no alternatives left to inference.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
bk_search_inhalteAlle Texte von Biohacking Kompakt durchsuchenARead-onlyIdempotentInspect
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.
| Name | Required | Description | Default |
|---|---|---|---|
| art | No | Auf eine Seitenart einschraenken: thema, tipp, vergleich, problem (Fragen & Beschwerden), glossar, folge | |
| limit | No | Hoechstzahl der Fundstellen (1-20) | |
| query | Yes | Frage oder Suchbegriffe, z. B. 'NMN Einnahme morgens', 'Magnesium Schlaf', 'Kreatin Nebenwirkungen Niere' | |
| offset | No | Wie viele Fundstellen uebersprungen werden | |
| response_format | No | Ausgabeformat: 'markdown' zum Lesen, 'json' zum Weiterverarbeiten | markdown |
Output Schema
| Name | Required | Description |
|---|---|---|
| count | Yes | Zahl der Eintraege in dieser Antwort |
| items | Yes | Fundstellen: je Treffer ein Abschnitt einer Seite mit Textauszug |
| total | Yes | Gesamtzahl der Treffer |
| offset | Yes | Wie viele uebersprungen wurden |
| has_more | Yes | Ob es weitere Treffer gibt |
| next_offset | No | offset fuer die naechste Seite |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already cover read-only, idempotent, non-destructive and open-world behavior, so the bar is lower. The description adds genuinely useful non-obvious context: stopwords are ignored, each hit returns page/section/excerpt only, and regulated topics deliberately omit application/dosage/experience sections, which prevents the agent from misreading thin results.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Front-loaded with purpose, then when-to-use with examples, then return shape, follow-up tool, and a caveat – a sensible priority order. The long parenthetical enumeration of page types and five example queries make it longer than strictly necessary, but nearly every sentence carries actionable information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a 5-parameter search tool with full schema coverage and an output schema, this covers what the agent needs: scope, query construction, filtering, hit granularity, the companion retrieval tool, and the regulated-content caveat. Nothing material is left for the agent to infer.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so a 3 is the baseline and the schema already documents all five parameters. The description adds real meaning beyond it by noting that Füllwörter are ignored in the query (relevant to how an agent phrases searches) and glosses the art enum values, though it repeats limit/default values already in the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb (Volltextsuche) and resource (ALLE Seiten von biohackingkompakt.de) and enumerates the covered content types (Themenseiten, Tipps, Vergleiche, Fragen & Beschwerden, Glossar, Podcast-Folgen). The scope word 'ALLE' implicitly distinguishes it from the narrower siblings bk_search_blutwerte, bk_search_studien, bk_search_podcast and bk_search_topics.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Gives a clear when-to-use rule ('konkrete Fragen im Wortlaut, deren Antwort im Fliesstext steht') backed by five sample queries, and names the follow-up tool bk_get_seite for retrieving full sections/pages. What it lacks is an explicit exclusion routing the agent to the specialized sibling searches (Blutwerte, Studien, Podcast) when those are the better fit.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
bk_search_podcastPodcastfolgen von Biohacking Kompakt suchenARead-onlyIdempotentInspect
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).
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | Hoechstzahl der Folgen (1-50) | |
| query | No | Suchbegriff im Folgentitel, z. B. 'Kreatin', 'Schlaf'. Weglassen fuer die neuesten Folgen. | |
| offset | No | Wie viele Folgen uebersprungen werden | |
| thema_id | No | Themen-id aus bk_search_topics - findet die Folgen, die genau dieses Thema behandeln | |
| response_format | No | Ausgabeformat: 'markdown' zum Lesen, 'json' zum Weiterverarbeiten | markdown |
Output Schema
| Name | Required | Description |
|---|---|---|
| rss | Yes | |
| show | Yes | |
| count | Yes | Zahl der Eintraege in dieser Antwort |
| items | Yes | |
| total | Yes | Gesamtzahl der Treffer |
| offset | Yes | Wie viele uebersprungen wurden |
| has_more | Yes | Ob es weitere Treffer gibt |
| next_offset | No | offset fuer die naechste Seite |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already cover the safe-read profile (readOnly, idempotent, non-destructive), so the bar is lower. The description adds genuinely useful behavior: unpublished episodes are never returned and an empty query yields the newest episodes, which is scope behavior not encoded in annotations. It stops short of describing pagination edge cases beyond the return shape.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Front-loaded with purpose, then defaults, then args, returns, and examples in a clean layered structure. The Args block largely restates the schema descriptions, which is mild redundancy, but the examples and exclusion line earn their space.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so the return values need not be explained, yet the description still sketches them usefully. Combined with the exclusion note and examples, an agent has enough to call and route this tool correctly; only deep pagination semantics are left implicit.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so baseline is 3. The description adds cross-tool meaning by tying thema_id to bk_search_topics and clarifying that query matches the title specifically, plus the natural-language examples map queries to parameters. Marginal but real value over the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource ('Sucht in den veroeffentlichten Folgen des Podcasts Biohacking Kompakt') and distinguishes itself from siblings by naming bk_get_podcast_episode-like granularity and explicitly excluding bk_get_topic use cases. An agent can immediately tell this is an episode-search tool.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly states the no-query default (newest episodes), gives three worked examples mapping natural-language questions to parameter settings, and names a concrete exclusion ('Nicht benutzen fuer: den Sachstand zu einem Thema (dafuer bk_get_topic)'). This is routing guidance, not inference.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
bk_search_studienStudien-Datenbank von Biohacking Kompakt durchsuchenARead-onlyIdempotentInspect
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).
| Name | Required | Description | Default |
|---|---|---|---|
| typ | No | Studientyp: meta (Meta-Analyse/systematische Uebersicht), rct (randomisiert), klinisch, beobachtung, fall (Fallbericht), tier (Tier-/Laborstudie), review, leitlinie, register (Studienregister), sonst | |
| limit | No | Hoechstzahl der Treffer (1-50) | |
| query | No | Suchbegriff in Titel, Autor, Journal oder Themenname, z. B. 'creatine', 'Kreatin', 'Cochrane' | |
| offset | No | Wie viele Treffer uebersprungen werden | |
| thema_id | No | Themen-id aus bk_search_topics - liefert genau die Quellen, die diese Themenseite verwendet | |
| seit_jahr | No | Nur Studien ab diesem Erscheinungsjahr | |
| quellenart | No | 'studien' (Standard) oder 'behoerden' fuer Stellungnahmen, Zulassungen, Gesetze, Fachgesellschaften | studien |
| response_format | No | Ausgabeformat: 'markdown' zum Lesen, 'json' zum Weiterverarbeiten | markdown |
Output Schema
| Name | Required | Description |
|---|---|---|
| count | Yes | Zahl der Eintraege in dieser Antwort |
| items | Yes | |
| stand | Yes | Datum des letzten Neubaus der Studien-Datenbank |
| total | Yes | Gesamtzahl der Treffer |
| offset | Yes | Wie viele uebersprungen wurden |
| quelle | Yes | Seite der Studien-Datenbank |
| has_more | Yes | Ob es weitere Treffer gibt |
| next_offset | No | offset fuer die naechste Seite |
| typen_zaehlung | Yes | Wie viele Treffer je Studientyp (vor dem Seitenschnitt) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, openWorldHint=true, destructiveHint=false, so safety is covered structurally. The description adds genuinely useful behavior not in annotations: the default ordering when no query is supplied (by study type, then year descending) and the caveat that Studientyp is an orientation, not a quality grade. However it does not mention rate limits, freshness of 'stand', or pagination semantics beyond the schema.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Front-loaded with the core action and scope, then args, return shape, and examples in a scannable structure. The Returns block largely restates the output schema, which is minor redundancy, but no sentence is filler.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For an 8-parameter, zero-required search tool with an output schema and full annotation coverage, the description supplies everything needed: scope, defaults, sort behavior, parameter hints, examples, and an explicit exclusion. Nothing an agent needs in order to call it correctly is missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the baseline is 3, but the description adds real value beyond the schema: the tip that titles are mostly English ('creatine' findet mehr als 'Kreatin') while topic names are German, and concrete thema_id examples ('kreatin', 'biotin'). This steers parameter choice in ways the schema text does not.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource ('Durchsucht die Studien-Datenbank von biohackingkompakt.de') and quantifies scope (ca. 2.500 Studien, 400 Behoerden-/Rechtsquellen). It explicitly distinguishes itself from the closest sibling by stating it is not for topic assessment (dafuer bk_get_topic), so an agent can route without opening either schema.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Provides four concrete query-to-parameter mappings (thema_id, typ, quellenart) and an explicit exclusion ('Nicht benutzen fuer: die Bewertung eines Themens (dafuer bk_get_topic)'). When-to-use, when-not-to-use, and the alternative are all present.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
bk_search_topicsThemen auf Biohacking Kompakt suchenRead-onlyIdempotentInspect
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).
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | Hoechstzahl der Treffer (1-50) | |
| query | Yes | Suchbegriff, z. B. 'Kreatin', 'Schlaf', 'GLP-1', 'Löwenmähne' | |
| offset | No | Wie viele Treffer uebersprungen werden | |
| bereich | No | Auf einen Bereich einschraenken: supplement, experimental (Peptide), behandlungen, tipps, khavinson | |
| response_format | No | Ausgabeformat: 'markdown' zum Lesen, 'json' zum Weiterverarbeiten | markdown |
Output Schema
| Name | Required | Description |
|---|---|---|
| count | Yes | Zahl der Eintraege in dieser Antwort |
| items | Yes | Die gefundenen Themen |
| total | Yes | Gesamtzahl der Treffer |
| offset | Yes | Wie viele uebersprungen wurden |
| has_more | Yes | Ob es weitere Treffer gibt |
| next_offset | No | offset fuer die naechste Seite |
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
5 tool updates
- Changed
bk_get_blutwert2 fields changed- added
Output schema / properties / baustelle_nameAdded value: +{} - added
Output schema / properties / kurzAdded value: +{}
- Changed
bk_get_report2 fields changed- changed
Input schema / properties / bereich / descriptionPrevious value: -"Nur diesen Bereich zaehlen"New value: +"Nur diesen Bereich zählen" - added
Output schema / properties / lizenz_csvAdded value: +{}
- Changed
bk_get_signalweg2 fields changed- added
Output schema / properties / funktionAdded value: +{} - added
Output schema / properties / untertitelAdded value: +{}
- Changed
bk_list_aenderungen2 fields changed- changed
Input schema / properties / seit / descriptionPrevious value: -"Nur Eintraege ab diesem Datum (JJJJ-MM-TT)"New value: +"Nur Einträge ab diesem Datum (JJJJ-MM-TT)" - changed
Input schema / properties / typ / descriptionPrevious value: -"Art der Aenderung"New value: +"Art der Änderung"
- Changed
bk_search_blutwerte2 fields changed- changed
Input schema / properties / query / descriptionPrevious value: -"Suchbegriff, z. B. 'ApoB', 'Ferritin', 'Schilddruese'"New value: +"Suchbegriff, z. B. 'ApoB', 'Ferritin', 'Schilddrüse'" - changed
Input schema / properties / thema / descriptionPrevious value: -"'marker' (Standard), 'panels' (Laborpakete) oder 'regeln' (Messrhythmus, Vorbereitung, Stoerfaktoren)"New value: +"'marker' (Standard), 'panels' (Laborpakete) oder 'regeln' (Messrhythmus, Vorbereitung, Störfaktoren)"
7 tool updates
- Added
bk_compare_topics - Added
bk_get_blutwert - Added
bk_get_report - Added
bk_get_signalweg - Added
bk_list_aenderungen - Changed
bk_list_scores3 fields changed- added
Input schema / properties / max_hypeAdded value: +{ + "description": "Hoechstwert des Hype-Abstands (niedrig = Werbung weit vor den Daten)", + "maximum": 10, + "minimum": 0, + "type": "integer" +} - changed
Input schema / properties / min_hype / descriptionPrevious value: -"Mindestwert der Hype-Achse"New value: +"Mindestwert des Hype-Abstands (hoch = Werbung deckt sich mit den Daten)" - changed
Input schema / properties / sortierung / enumPrevious value: -[ - "evidenz_ab", - "evidenz_auf", - "hype_ab", - "name" -]New value: +[ + "evidenz_ab", + "evidenz_auf", + "hype_ab", + "hype_auf", + "name" +]
- Added
bk_search_blutwerte
3 tool updates
- Added
bk_get_seite - Changed
bk_get_topic1 field changed- added
Output schema / properties / artikelAdded value: +{ + "description": "Langtext der Themenseite, abschnittsweise: Studien, Grenzen der Daten, Anwenderberichte, haeufige Fragen. Bei regulierten Themen ohne Anwendungsteil.", + "items": { + "additionalProperties": false, + "properties": { + "text": { + "type": "string" + }, + "titel": { + "type": "string" + } + }, + "required": [ + "titel", + "text" + ], + "type": "object" + }, + "type": "array" +}
- Added
bk_search_inhalte
1 tool update
- Added
bk_search_studien
7 tool updates
- First observed
bk_get_podcast_episode - First observed
bk_get_topic - First observed
bk_get_zitierregeln - First observed
bk_list_erfahrungen - First observed
bk_list_scores - First observed
bk_search_podcast - First observed
bk_search_topics
Related MCP Connectors
Peptide research profiles, evidence by tier, comparisons and educational content. No dosing.
993 evidence-graded supplements: claims, doses, safety, interactions, FAQ, PubMed refs. 5 languages
Cited supplement evidence, biomarker effects, interaction checks and brand quality
GRADE-rated clinical evidence on cannabis as medicine (DE/EN). Search and cite studies.
Related MCP Servers
- AlicenseNot gradedqualityAmaintenanceEnables assistants and editors to query a curated, read-only evidence graph for graded findings about what compounds, supplements, nutrients and foods have been shown to do in the human body, each with an automatic A–F grade, the verbatim source sentence, paper, population, dose and a permalink, plus reference-database relations labelled as hypotheses. It also exposes no products, prices or purchase links, and returns no medical advice or rankings of what to take.MIT
- AlicenseNot gradedqualityDmaintenanceEvidence-based supplement intelligence in your terminal, exposed as an MCP server for AI agents to research, compare, stack, and manage supplements.41 npmMIT
- AlicenseAqualityCmaintenanceEvidence-based supplement recommendation MCP server covering 17 supplements and 40+ conditions with medication interaction checking and form quality classification.542 npmMIT

Hormonaly MCP Serverofficial
FlicenseNot gradedqualityDmaintenanceEnables AI agents to access 24 clinical tools for evidence synthesis, protocol lookup, and decision support in peptide, hormone, and longevity medicine.2-
Glama MCP Gateway
Add one secure layer between your agents and this server.