Helfer & Profi
Free German neighborhood marketplace: search local help requests and providers by postal code.
사용해야 할까요
품질 및 안전성
발견 사항 (6)
- HIGH
- LOWprovider_reviews에서
- LOWcreate_job에서
- LOWsubmit_offer에서
- LOWregister_provider에서
- INFOsubmit_review에서
도구 정의와 프로토콜 준수에 대한 자동 분석을 기반으로 합니다.
컨텍스트 비용
이는 서버의 도구가 모델의 컨텍스트에 로드될 때마다 소비되는 대략적인 토큰 수입니다. 수치가 높을수록 다른 작업에 사용할 수 있는 주의가 줄어듭니다.
설치
원클릭 설치
`claude_desktop_config.json` 파일에 다음을 추가하세요:
{
"mcpServers": {
"helfer-und-profi": {
"url": "https://pcbyuhvyjgadanzlghmw.supabase.co/functions/v1/mcp"
}
}
}원격 엔드포인트
https://pcbyuhvyjgadanzlghmw.supabase.co/functions/v1/mcpstreamable-http할 수 있는 일
도구 목록
도구 (10)
🟢search_jobs(q, location, radius_km, max_results)
Offene Gesuche suchen (ohne Kontaktdaten). location: nur Ziffern = Anfang der PLZ ('69'), sonst Ortsname. Umkreissuche: location = 5-stellige PLZ und radius_km (1–200); dann mit distance_km (Luftlinie) und nach Entfernung sortiert.
입력 스키마
{
"type": "object",
"properties": {
"q": {
"type": "string",
"description": "Stichwort, z. B. 'Rasen'",
"maxLength": 100
},
"location": {
"type": "string",
"description": "PLZ-Anfang oder Ort; für Umkreissuche 5-stellige PLZ",
"maxLength": 35
},
"radius_km": {
"type": "integer",
"minimum": 1,
"maximum": 200,
"description": "Umkreis in km um die PLZ in location"
},
"max_results": {
"type": "integer",
"minimum": 1,
"maximum": 100
}
},
"required": [],
"additionalProperties": false
}🟢search_providers(q, near, radius_km, max_results)
Freigeschaltete Anbieter mit Durchschnittsbewertung. q: Stichwort oder Anfang der PLZ. Umkreissuche: near = 5-stellige PLZ und radius_km (1–200); dann mit distance_km (Luftlinie) und nach Entfernung sortiert.
입력 스키마
{
"type": "object",
"properties": {
"q": {
"type": "string",
"description": "Stichwort oder PLZ-Anfang",
"maxLength": 100
},
"near": {
"type": "string",
"description": "5-stellige PLZ als Mittelpunkt der Umkreissuche",
"maxLength": 5
},
"radius_km": {
"type": "integer",
"minimum": 1,
"maximum": 200,
"description": "Umkreis in km um near"
},
"max_results": {
"type": "integer",
"minimum": 1,
"maximum": 100
}
},
"required": [],
"additionalProperties": false
}🟢get_job(job_id)
Ein einzelnes sichtbares Gesuch (ohne Kontaktdaten), z. B. aus einem geteilten Link …/#gesuch=12. Leere Liste, wenn es nicht mehr sichtbar ist.
입력 스키마
{
"type": "object",
"properties": {
"job_id": {
"type": "integer"
}
},
"required": [
"job_id"
],
"additionalProperties": false
}🟢provider_reviews(provider_id, max_results)
Veröffentlichte Bewertungen eines Anbieters (nur von vermittelten Kunden).
입력 스키마
{
"type": "object",
"properties": {
"provider_id": {
"type": "integer"
},
"max_results": {
"type": "integer",
"minimum": 1,
"maximum": 200
}
},
"required": [
"provider_id"
],
"additionalProperties": false
}🟢contact_provider(provider_id, name, contact, message, location, ...)
Einen Anbieter aus dem Verzeichnis für den Nutzer anfragen (provider_id aus search_providers). Nur nach Zustimmung des Nutzers. Die Anfrage geht mit Name, Kontakt, Ort und Nachricht an den Anbieter; er meldet sich direkt beim Nutzer. Keine Internet-Links.
입력 스키마
{
"type": "object",
"properties": {
"provider_id": {
"type": "integer"
},
"name": {
"type": "string",
"description": "Name des Nutzers",
"maxLength": 60
},
"contact": {
"type": "string",
"description": "Telefon (mind. 6 Ziffern) oder E-Mail – geht an den Anbieter",
"maxLength": 90
},
"message": {
"type": "string",
"description": "Was gebraucht wird, 10–500 Zeichen",
"maxLength": 500
},
"location": {
"type": "string",
"description": "Optional: PLZ und Ort",
"maxLength": 40
},
"text_only": {
"type": "boolean",
"description": "true, wenn der Nutzer nur schriftlich kontaktiert werden möchte (SMS, Messenger oder E-Mail), keine Anrufe"
},
"consent": {
"type": "boolean",
"description": "true nur nach ausdrücklicher Zustimmung des Nutzers zur Datenschutzerklärung"
}
},
"required": [
"provider_id",
"name",
"contact",
"message",
"consent"
],
"additionalProperties": false
}🟡create_job(title, contact, display_name, location, budget_eur, ...)
Gesuch für den Nutzer aufgeben. Nur nach Bestätigung durch den Nutzer. Erscheint je nach Einstellung sofort oder nach Prüfung. Enthält contact eine E-Mail-Adresse, bekommt der Nutzer Angebote automatisch per E-Mail; mit nur einer Telefonnummer ruft der Betreiber an.
입력 스키마
{
"type": "object",
"properties": {
"title": {
"type": "string",
"description": "Was gebraucht wird, 5–240 Zeichen, ohne Adresse/Telefon/Links",
"maxLength": 240
},
"contact": {
"type": "string",
"description": "Telefon oder E-Mail (wird nie veröffentlicht; mit E-Mail kommen Angebote automatisch)",
"maxLength": 90
},
"display_name": {
"type": "string",
"description": "Kurzname, z. B. 'Maria B.'",
"maxLength": 40
},
"location": {
"type": "string",
"description": "PLZ + Ort, z. B. '69412 Eberbach'",
"maxLength": 35
},
"budget_eur": {
"type": "number",
"minimum": 5,
"maximum": 10000
},
"house_call": {
"type": "boolean"
},
"text_only": {
"type": "boolean",
"description": "true, wenn der Nutzer nur schriftlich kontaktiert werden möchte (SMS, Messenger oder E-Mail), keine Anrufe"
},
"consent": {
"type": "boolean",
"description": "true nur nach ausdrücklicher Zustimmung des Nutzers zur Datenschutzerklärung"
}
},
"required": [
"title",
"contact",
"location",
"consent"
],
"additionalProperties": false
}🟡submit_offer(job_id, name, contact, price_eur, message, ...)
Als Anbieter ein Angebot zu einem Gesuch abgeben. Es geht mit Name, Kontakt, Preis und Nachricht an den Auftraggeber (per E-Mail, sonst über den Betreiber). Nur nach Zustimmung des Nutzers. Keine Internet-Links.
입력 스키마
{
"type": "object",
"properties": {
"job_id": {
"type": "integer"
},
"name": {
"type": "string",
"description": "Name oder Betrieb",
"maxLength": 80
},
"contact": {
"type": "string",
"description": "Telefon (mind. 6 Ziffern) oder E-Mail – geht an den Auftraggeber",
"maxLength": 90
},
"price_eur": {
"type": "number",
"minimum": 5,
"maximum": 50000
},
"message": {
"type": "string",
"description": "Kurze Nachricht",
"maxLength": 350
},
"text_only": {
"type": "boolean",
"description": "true, wenn der Nutzer nur schriftlich kontaktiert werden möchte (SMS, Messenger oder E-Mail), keine Anrufe"
},
"consent": {
"type": "boolean",
"description": "true nur nach ausdrücklicher Zustimmung des Nutzers zur Datenschutzerklärung"
}
},
"required": [
"job_id",
"name",
"contact",
"consent"
],
"additionalProperties": false
}⚪register_provider(name, contact, services, location, adult, ...)
Anmeldung als Anbieter (nur Volljährige). Erscheint nach Prüfung durch den Betreiber. name, location und services werden öffentlich: dort keine Telefonnummer, E-Mail, Straße oder Links – Kontaktdaten nur in contact.
입력 스키마
{
"type": "object",
"properties": {
"name": {
"type": "string",
"description": "Name, Studio oder Betrieb",
"maxLength": 80
},
"contact": {
"type": "string",
"description": "Telefon oder E-Mail",
"maxLength": 90
},
"services": {
"type": "string",
"description": "Leistungen",
"maxLength": 180
},
"location": {
"type": "string",
"description": "PLZ + Ort des Standorts",
"maxLength": 50
},
"adult": {
"type": "boolean",
"description": "Nutzer ist volljährig"
},
"consent": {
"type": "boolean",
"description": "true nur nach ausdrücklicher Zustimmung des Nutzers zur Datenschutzerklärung"
}
},
"required": [
"name",
"contact",
"services",
"location",
"adult",
"consent"
],
"additionalProperties": false
}🟡submit_review(code, stars, comment, reviewer_name, consent)
Bewertung mit dem einmaligen Bewertungscode (Format XXXX-XXXX), den der Kunde nach einer Vermittlung erhalten hat.
입력 스키마
{
"type": "object",
"properties": {
"code": {
"type": "string",
"description": "Bewertungscode",
"maxLength": 20
},
"stars": {
"type": "integer",
"minimum": 1,
"maximum": 5
},
"comment": {
"type": "string",
"description": "Text",
"maxLength": 500
},
"reviewer_name": {
"type": "string",
"description": "Name oder Kürzel",
"maxLength": 40
},
"consent": {
"type": "boolean",
"description": "Zustimmung zur Veröffentlichung"
}
},
"required": [
"code",
"stars",
"consent"
],
"additionalProperties": false
}⚪report_content(target_type, target_id, reason, contact)
Rechtswidrigen Inhalt melden (Art. 16 DSA): target_type job, review oder provider.
입력 스키마
{
"type": "object",
"properties": {
"target_type": {
"type": "string",
"enum": [
"job",
"review",
"provider"
]
},
"target_id": {
"type": "integer"
},
"reason": {
"type": "string",
"description": "Begründung, 5–500 Zeichen",
"maxLength": 500
},
"contact": {
"type": "string",
"description": "Optional: E-Mail für Rückmeldung",
"maxLength": 90
}
},
"required": [
"target_type",
"target_id",
"reason"
],
"additionalProperties": false
}커뮤니티
증거