# Öffentliche geistesblick-Schnittstellen

Diese rein lesenden Schnittstellen erschließen veröffentlichte Website-Texte zu Leistungen, Portfolio, Person und Kontakt. Sie benötigen keine Anmeldung und geben keinen Zugriff auf das CMS, Entwürfe, Formulareingaben oder interne Daten. Es gibt keine Versand-, Buchungs-, Bestell- oder Zahlungsfunktion.

Basisadresse: `https://geistesblick.de`

## Zugriff und Anmeldung

Die öffentlichen Lesewege benötigen weder Konto noch API-Schlüssel. [auth.md](https://geistesblick.de/auth.md) beschreibt die realen Endpunkte und Zugriffsgrenzen; die Datei kündigt keine Agentenregistrierung oder Token-Ausgabe an. OAuth-/OIDC-Metadaten werden nicht veröffentlicht, weil diese Schnittstellen keine geschützten Ressourcen bereitstellen.

Die [Personal-Agent-Protocol-Deklaration](https://geistesblick.de/.well-known/poppy.json) nach Entwurf 0.3 beschränkt sich auf die öffentlich besuchbare Website (`web`). Sie bietet keine authentifizierte Browsersitzung und keinen Konversationsagenten. Metadaten allein belegen keine vollständige Protokollintegration.

Auf der Startseite können unterstützte Browser über die experimentelle WebMCP-API das öffentliche Seitenverzeichnis und den Inhalt eines gelisteten Pfads lesen. Die Tools verwenden dieselben HTTP-Endpunkte wie unten beschrieben und lesen keine Kontaktfelder oder privaten DOM-Inhalte. Der Website-Check bietet seine eigenen Tools weiterhin auf `/website-check` an.

## Zusätzliche Textquelle

[llms.txt](https://geistesblick.de/llms.txt) ist der kurze Wegweiser. [llms-full.txt](https://geistesblick.de/llms-full.txt) fasst dieselben zugelassenen, veröffentlichten Seiten mit kanonischen Quellenlinks zusammen. Die Zusammenstellung ist ein optionaler Leseweg. Sie ersetzt weder die HTML-Quellen noch eine Suchindexierung und garantiert keine Aufnahme in KI-Antworten. Bei einem fehlgeschlagenen Seitenabruf wird keine unvollständige Sammlung als erfolgreich ausgegeben.

## HTTP-API

### Seitenverzeichnis

`GET /api/public/pages`

```json
{
  "pages": [
    {
      "path": "/portfolio",
      "title": "Portfolio und Referenzen",
      "url": "https://geistesblick.de/portfolio"
    }
  ]
}
```

Die Darstellung zeigt ein einzelnes Beispiel. Die tatsächliche Antwort enthält alle zugelassenen Seiten. Wählen Sie den `path` aus dieser Antwort, statt beliebige URLs zu übergeben.

### Seiteninhalt

`GET /api/public/page?path=%2Fportfolio`

```json
{
  "path": "/portfolio",
  "title": "Portfolio und Referenzen",
  "url": "https://geistesblick.de/portfolio",
  "contentType": "text/markdown",
  "content": "Veröffentlichter Seiteninhalt als Markdown."
}
```

Die JSON-Felder sind beispielhaft; der tatsächliche `content` ist der aus der öffentlichen Seite extrahierte Text. Ein belegtes Änderungsdatum kann als optionales `lastModified` in ISO-8601-Form hinzukommen. Fehlt dieses Feld, wird kein Datum behauptet. `url` ist die kanonische Quelle für Zitate, nicht die API-Adresse.

Es gibt ausschließlich den Parameter `path` mit einem Wert aus dem Seitenverzeichnis. Externe URLs, CMS-Abfragen, Preview-Parameter und frei wählbare Fetch-Ziele werden nicht angenommen. Nicht erfolgreiche Antworten enthalten keinen ersatzweise erfundenen Seiteninhalt. Clients sollen Fehler berücksichtigen und Abrufe nicht unbegrenzt wiederholen.

GET und HEAD sind unterstützt. Fehlerantworten sind JSON mit einem `error`-Feld:

| Status | Fehler | Bedeutung |
| --- | --- | --- |
| 400 | `invalid_request` | Fehlender, doppelter oder zusätzlicher Parameter oder zu lange Anfrage-URL. |
| 400 | `preview_not_supported` | Ein Preview-Cookie ist vorhanden; diese öffentliche Schnittstelle unterstützt keine Vorschau. |
| 404 | `unknown_page` | Der angefragte Pfad ist nicht freigegeben. |
| 405 | `method_not_allowed` | Die Methode ist nicht GET oder HEAD. |
| 503 | `content_unavailable` | Öffentlicher Inhalt ist vorübergehend nicht abrufbar. `Retry-After: 5` beachten. |

Intern werden ausschließlich die freigegebenen kanonischen HTTPS-Seiten abgerufen. Cookies und Anmeldedaten des Clients werden dabei nicht weitergegeben. Der interne Lesecache hält öffentliche Inhalte bis zu 120 Sekunden vor; dies ist kein Echtzeit-Zugriff auf die Redaktion. Die HTTP-API selbst liefert `Cache-Control: no-store`, damit Anfrage- und Preview-Prüfungen nicht durch einen gemeinsamen Antwortcache umgangen werden.

Die maschinenlesbare Beschreibung steht in [OpenAPI 3.1](https://geistesblick.de/agent-api/openapi.json), der API-Katalog unter [/.well-known/api-catalog](https://geistesblick.de/.well-known/api-catalog).
Die kompatiblen Einstiegspfade `/openapi.json` und `/.well-known/openapi.json` liefern dieselbe OpenAPI-Beschreibung.

## Markdown ohne API

Die aufgeführten Website-Seiten unterstützen zusätzlich HTTP-Content-Negotiation: `Accept: text/markdown` fordert die Markdown-Darstellung an. Normale Browser erhalten HTML. Formularfelder und Skripte sind keine Bestandteile der Markdown-Darstellung.

Für Clients, deren Infrastruktur diesen Header nicht weitergibt, stehen dieselben Inhalte auch unter expliziten Markdown-Adressen bereit: `/index.md` für die Startseite und beispielsweise `/service/webdesign/index.md` für Webdesign. Diese Adressen verwenden dieselbe feste Liste freigegebener Seiten und dieselben Zugriffskontrollen wie die HTTP-API. GET und HEAD sind möglich; zusätzliche Suchparameter, Vorschauen und private Pfade werden abgewiesen. Fehler bleiben Fehlerantworten und werden nicht als erfolgreicher Markdown-Inhalt ausgegeben. Der kanonische Quellenlink verweist weiterhin auf die ursprüngliche HTML-Seite.

## MCP

Adresse: `https://geistesblick.de/mcp`

Transport: Streamable HTTP. Veröffentlichte und getestete Protokollversion: `2025-11-25`.

- `list_pages`: Listet die freigegebenen Seiten mit Titel und URL.
- `get_page`: Liest den öffentlichen Markdown-Inhalt eines gelisteten `path`.
- `resources/list` und `resources/read`: Erschließen dieselben Seiten über ihre kanonischen HTTPS-URLs.

Alle bereitgestellten Tools lesen ausschließlich öffentliche Inhalte. Es gibt keine Änderungen, Subscriptions oder vom Client frei bestimmbaren Ziel-URLs. Die tatsächlichen Tool-Schemata werden über das MCP-Protokoll abgerufen, nicht aus der Server Card abgeleitet. Diese Veröffentlichung behauptet keine Unterstützung neuerer MCP-Protokollversionen.

Die [Server Card](https://geistesblick.de/mcp/server-card) beschreibt die Verbindung. Sie ist zusätzlich am Kompatibilitätspfad [/.well-known/mcp/server-card.json](https://geistesblick.de/.well-known/mcp/server-card.json) erreichbar. Der [ARD-Katalog](https://geistesblick.de/.well-known/ard.json) und der bestehende [AI-Katalog](https://geistesblick.de/.well-known/ai-catalog.json) verweisen mit identischen Einträgen auf die kanonische Card. Der zusätzliche ARD-Discovery-Pfad folgt der Spezifikation v0.91; das Feld `specVersion` im gemeinsamen JSON gehört zum bisherigen AI-Catalog-Format. Server Cards und diese AI-Discovery-Konvention sind experimentell, kein universell unterstützter Verbindungsstandard.

## Agent Skill

Der [Skills-Index](https://geistesblick.de/.well-known/agent-skills/index.json) stellt einen öffentlichen Recherche-Skill bereit. Er beschreibt, wie Agenten Leistungen und Referenzen lesen, die konkrete Eigenleistung korrekt zuordnen und Quellen zitieren können. Er enthält keine ausführbaren Skripte. Der Index verwendet den Discovery-Entwurf v0.2.0 und einen SHA-256-Digest der ausgelieferten Skill-Datei.

Ein installierter oder geladener Skill erteilt keine Berechtigung, Nachrichten zu versenden oder einen Auftrag auszulösen. Die Schnittstellen selbst haben diese Funktionen nicht.

## Nutzung und Quellen

Die APIs erleichtern den Zugriff auf bereits öffentliche Inhalte. Für Inhalte, deren entsprechende Rechte bei geistesblick liegen, sind Suchindexierung und die Verwendung als Quelle für aktuelle KI-Antworten erlaubt. Modelltraining und Fine-Tuning sind nicht erlaubt. Damit wird keine zusätzliche Lizenz für Fotos, Logos oder Kundenmaterial Dritter erteilt; bestehende Rechte und Zugangsbeschränkungen bleiben unberührt.

Die maschinenlesbaren Präferenzen stehen in [ai.txt](https://geistesblick.de/.well-known/ai.txt) und [robots.txt](https://geistesblick.de/robots.txt): `search=yes, ai-input=yes, ai-train=no`. Sie erklären die gewünschte Nutzung, erzwingen sie aber nicht technisch. Quellenangaben mit kanonischem Link sind empfohlen. Veröffentlichte Informationen können sich ändern; bei einer fachlichen Auskunft sind die passende Quelle und der tatsächliche Abrufstand maßgeblich.

Für OpenAIs dokumentierte Trainingssteuerung enthält robots.txt zusätzlich eine eigene `GPTBot`-Gruppe mit `Disallow: /`. Die unabhängige Freigabe für `OAI-SearchBot` bleibt bestehen.

Technische Grundlagen: [RFC 9727](https://www.rfc-editor.org/rfc/rfc9727.html), [MCP Server Cards](https://github.com/modelcontextprotocol/ext-server-card), [Agent Skills Discovery v0.2.0](https://github.com/cloudflare/agent-skills-discovery-rfc).
