Server definition
- Hash
- sha256:d45667e204273dbfbb7c199ff9a43395bd15460cd8d0af46e40187c11fa93be0
- What it is
- What a remote MCP server returned when asked what it offers: 8 tools
The blob, as servednamed by its sha256
{
"instructions": "Verzeichnis lokaler Betriebe in Deutschland über 81 Kategorien (Ärzte, Handwerk, Handel, Banken, Dienstleister). Ablauf: Kategorie wählen (list_categories bei Unklarheit), dann find_nearby mit category + plz/lat/lon/city, get_business für Details. Daten sind öffentliche Verzeichnisdaten (OSM/Overture) und nicht vom Betrieb bestätigt - das dem Nutzer so sagen. Echte Termine können NICHT gebucht werden; sandbox_* Tools arbeiten nur mit fiktiven Beispiel-Betrieben, sandbox_request_appointment erst nach ausdrücklicher Zustimmung. atm_fee_hint liefert nur eine Gebühren-Indikation, keine Finanzberatung.",
"tools": [
{
"description": "Markiert Bankfilialen in der Nähe als vermutlich gebührenfrei (gleiches Automatennetz wie die eigene Bank) oder möglicherweise kostenpflichtig. Nur Indikation, keine Garantie, keine Finanzberatung.",
"inputSchema": {
"properties": {
"city": {
"description": "Ortsname, z. B. Berlin (ungenauer als plz/lat/lon)",
"type": "string"
},
"lat": {
"description": "Breitengrad (zusammen mit lon), WGS84",
"type": "number"
},
"limit": {
"default": 10,
"maximum": 50,
"minimum": 1,
"type": "integer"
},
"lon": {
"description": "Längengrad (zusammen mit lat), WGS84",
"type": "number"
},
"plz": {
"description": "Deutsche Postleitzahl, z. B. 10115",
"pattern": "^[0-9]{5}$",
"type": "string"
},
"radius_km": {
"default": 5,
"description": "Suchradius in km",
"maximum": 50,
"minimum": 0.1,
"type": "number"
},
"your_bank_or_network": {
"description": "Eigene Bank oder Netz, z. B. Sparkasse, Volksbank, Cash Group",
"type": "string"
}
},
"required": [
"your_bank_or_network"
],
"type": "object"
},
"name": "atm_fee_hint",
"outputSchema": null
},
{
"description": "Findet lokale Betriebe einer Kategorie in Deutschland (z. B. Zahnärzte, Banken, Elektriker) im Umkreis einer PLZ, Koordinate oder eines Orts, sortiert nach Entfernung, mit Öffnungsstatus zum gewünschten Zeitpunkt. Öffentliche Verzeichnisdaten (OpenStreetMap/Overture), nicht vom Betrieb bestätigt. Keine Anmeldung nötig.",
"inputSchema": {
"properties": {
"at": {
"description": "Zeitpunkt ISO 8601 (Europe/Berlin, wenn ohne Zone). Standard: jetzt",
"type": "string"
},
"booking_capable": {
"description": "Nur Einträge mit bekannter Online-Buchungsseite",
"type": "boolean"
},
"category": {
"description": "Kategorie-Slug aus list_categories, z. B. zahnarzt, bank, elektriker. Deutsche Bezeichnungen wie 'Zahnärzte' werden ebenfalls erkannt.",
"type": "string"
},
"city": {
"description": "Ortsname, z. B. Berlin (ungenauer als plz/lat/lon)",
"type": "string"
},
"has_phone": {
"type": "boolean"
},
"has_website": {
"type": "boolean"
},
"lat": {
"description": "Breitengrad (zusammen mit lon), WGS84",
"type": "number"
},
"limit": {
"default": 10,
"maximum": 50,
"minimum": 1,
"type": "integer"
},
"lon": {
"description": "Längengrad (zusammen mit lat), WGS84",
"type": "number"
},
"open_at_time": {
"description": "Nur Einträge, die zum Zeitpunkt nicht sicher geschlossen sind",
"type": "boolean"
},
"plz": {
"description": "Deutsche Postleitzahl, z. B. 10115",
"pattern": "^[0-9]{5}$",
"type": "string"
},
"q": {
"description": "Namensfilter (Teilstring)",
"type": "string"
},
"radius_km": {
"default": 5,
"description": "Suchradius in km",
"maximum": 50,
"minimum": 0.1,
"type": "number"
}
},
"required": [
"category"
],
"type": "object"
},
"name": "find_nearby",
"outputSchema": null
},
{
"description": "Liefert Adresse, Kontakt, Öffnungszeiten und Öffnungsstatus zu einer ID aus find_nearby.",
"inputSchema": {
"properties": {
"at": {
"description": "Zeitpunkt ISO 8601 für den Öffnungsstatus",
"type": "string"
},
"category": {
"description": "Kategorie-Slug aus list_categories, z. B. zahnarzt, bank, elektriker. Deutsche Bezeichnungen wie 'Zahnärzte' werden ebenfalls erkannt.",
"type": "string"
},
"id": {
"description": "ID aus find_nearby, z. B. osm/node/123",
"type": "string"
}
},
"required": [
"category",
"id"
],
"type": "object"
},
"name": "get_business",
"outputSchema": null
},
{
"description": "Listet alle Branchen/Kategorien dieses Verzeichnisses für Deutschland (z. B. Zahnarzt, Bank, Elektriker, Bäcker) mit Anzahl Einträgen. Optional mit Suchbegriff filtern.",
"inputSchema": {
"properties": {
"query": {
"description": "Suchbegriff, z. B. arzt",
"type": "string"
}
},
"type": "object"
},
"name": "list_categories",
"outputSchema": null
},
{
"description": "SANDBOX, Anmeldung nötig: merkt einen Slot bei einem fiktiven Beispiel-Betrieb für 15 Minuten vor. Liefert hold_id und Ablaufzeit. Es fällt kein Preis an, niemand wird kontaktiert.",
"inputSchema": {
"properties": {
"business_id": {
"description": "ID aus sandbox_list_sample_businesses (sample/...)",
"type": "string"
},
"category": {
"description": "Kategorie-Slug aus list_categories, z. B. zahnarzt, bank, elektriker. Deutsche Bezeichnungen wie 'Zahnärzte' werden ebenfalls erkannt.",
"type": "string"
},
"date": {
"description": "YYYY-MM-DD",
"type": "string"
},
"duration_minutes": {
"default": 30,
"enum": [
30,
60,
90,
120
],
"type": "integer"
},
"start_time": {
"description": "HH:MM im 30-Minuten-Raster",
"type": "string"
},
"topic": {
"description": "Anliegen, z. B. Allgemeine Beratung",
"maxLength": 200,
"type": "string"
}
},
"required": [
"category",
"business_id",
"date",
"start_time",
"topic"
],
"type": "object"
},
"name": "sandbox_hold_slot",
"outputSchema": null
},
{
"description": "SANDBOX: listet fiktive Beispiel-Betriebe mit freien Terminslots für ein Datum. Zum Testen des Terminflows - echte Betriebe sind nicht buchbar.",
"inputSchema": {
"properties": {
"category": {
"description": "Kategorie-Slug aus list_categories, z. B. zahnarzt, bank, elektriker. Deutsche Bezeichnungen wie 'Zahnärzte' werden ebenfalls erkannt.",
"type": "string"
},
"date": {
"description": "YYYY-MM-DD, Standard: morgen",
"type": "string"
}
},
"required": [
"category"
],
"type": "object"
},
"name": "sandbox_list_sample_businesses",
"outputSchema": null
},
{
"description": "SANDBOX, Anmeldung nötig: zeigt eigene Holds und Sandbox-Termine (nur die des angemeldeten Nutzers).",
"inputSchema": {
"properties": {
"appointment_id": {
"type": "string"
},
"category": {
"description": "Kategorie-Slug aus list_categories, z. B. zahnarzt, bank, elektriker. Deutsche Bezeichnungen wie 'Zahnärzte' werden ebenfalls erkannt.",
"type": "string"
},
"hold_id": {
"type": "string"
}
},
"required": [
"category"
],
"type": "object"
},
"name": "sandbox_my_bookings",
"outputSchema": null
},
{
"description": "SANDBOX, Anmeldung nötig: wandelt einen Hold in einen Sandbox-Termin um. Erst aufrufen, nachdem der Nutzer ausdrücklich zugestimmt hat (user_approved=true). idempotency_key verhindert Doppelbuchungen: gleicher Key liefert denselben Termin. Kein echter Betrieb wird kontaktiert.",
"inputSchema": {
"properties": {
"category": {
"description": "Kategorie-Slug aus list_categories, z. B. zahnarzt, bank, elektriker. Deutsche Bezeichnungen wie 'Zahnärzte' werden ebenfalls erkannt.",
"type": "string"
},
"hold_id": {
"type": "string"
},
"idempotency_key": {
"description": "Eindeutiger Key pro Anfrage, bei Wiederholung identisch",
"maxLength": 128,
"minLength": 8,
"type": "string"
},
"user_approved": {
"description": "Nur true, wenn der Nutzer ausdrücklich bestätigt hat",
"type": "boolean"
}
},
"required": [
"category",
"hold_id",
"user_approved",
"idempotency_key"
],
"type": "object"
},
"name": "sandbox_request_appointment",
"outputSchema": null
}
]
}Verify it yourself
curl -s https://api.teppi.xyz/v1/evidence/sha256:d45667e204273dbfbb7c199ff9a43395bd15460cd8d0af46e40187c11fa93be0 | sha256sum