{"protocolVersion":"2025-06-18","serverInfo":{"name":"netzhandwerker-agent-tools","title":"Netzhandwerker Agent Tools","version":"1.0.0"},"capabilities":{"tools":{"listChanged":false}},"transport":{"type":"http","endpoint":"https://tools.halowerk.com/mcp","methods":["POST"]},"payment":{"protocol":"x402","network":"eip155:8453","asset":"USDC","note":"tools/list ist kostenfrei. tools/call rechnet den Werkzeugpreis ueber x402 ab."},"tools":[{"name":"screenshot","description":"Rendert eine URL in Headless Chrome und liefert PNG als Base64 plus kurzlebige Abhol-URL. Viewport, Vollseite und Wartebedingung steuerbar. Preis: 0.004 USDC je Aufruf, Abrechnung ueber x402.","inputSchema":{"type":"object","required":["url"],"properties":{"url":{"type":"string","description":"Ziel-URL, http oder https"},"width":{"type":"integer","default":1280,"minimum":320,"maximum":2560},"height":{"type":"integer","default":800,"minimum":320,"maximum":2000},"full_page":{"type":"boolean","default":false},"wait_until":{"type":"string","enum":["domcontentloaded","load","networkidle0","networkidle2"],"default":"domcontentloaded"},"wait_ms":{"type":"integer","default":0,"maximum":10000},"include_base64":{"type":"boolean","default":true}}}},{"name":"url_risk_scan","description":"Loest die vollstaendige Weiterleitungskette auf und belegt jeden Sprung mit Statuscode, Zielhost, Protokoll-, Registrierungsdomain-, Land- und ASN-Wechsel. Loest Kurz-URLs bis Tiefe fuenf auf, meldet Punycode und Homographen in beiden Schreibweisen, prueft Zertifikat, Domainalter, Registrar, Nameserver, ASN, Hoster und Land, fragt offene Sperrlisten und DNSBL fuer die Ziel-IP ab, vergleicht Content-Type gegen Dateiendung und durchsucht den Seitentext nach versteckten Anweisungen an Sprachmodelle. Nur lesend, kein JavaScript, Koerper auf 3 MB begrenzt, 25 Sekunden Zeitlimit. Das Ergebnis ist eine Einschaetzung mit Belegen, kein Urteil. Preis: 0.004 USDC je Aufruf, Abrechnung ueber x402.","inputSchema":{"type":"object","required":["url"],"properties":{"url":{"type":"string","description":"Zu pruefende URL, http oder https"},"follow_redirects":{"type":"boolean","default":true,"const":true,"description":"Fest auf true. Ohne die vollstaendige Kette ist das Ziel nicht beurteilbar."},"fetch_body":{"type":"boolean","default":true,"description":"Seiteninhalt lesen und auf Prompt-Injection pruefen. Bei false entfaellt der Injection-Befund."}}}},{"name":"domain_intel","description":"Vollständiges Domainprofil: A/AAAA/MX/NS/TXT/CNAME/SOA, Mail-Setup (SPF, DMARC, DKIM-Hinweis, MTA-STS), TLS-Zertifikat mit Restlaufzeit, WHOIS-Kerndaten, Registrierbarkeit und Subdomains aus Certificate Transparency. Preis: 0.003 USDC je Aufruf, Abrechnung ueber x402.","inputSchema":{"type":"object","required":["domain"],"properties":{"domain":{"type":"string","description":"Domain ohne Schema, z. B. example.com"},"include_whois":{"type":"boolean","default":true},"include_tls":{"type":"boolean","default":true},"include_subdomains":{"type":"boolean","default":true}}}},{"name":"tech_detect","description":"Erkennt CMS, Shop, Framework, Server, CDN, Analytics, Consent-Tool, Zahlungsanbieter und Marketing-Stack aus Headern, HTML und Skript-URLs. Liefert Trefferliste mit Kategorie, Beleg und Sicherheit. Preis: 0.003 USDC je Aufruf, Abrechnung ueber x402.","inputSchema":{"type":"object","required":["url"],"properties":{"url":{"type":"string"},"render":{"type":"boolean","default":false,"description":"Headless Chrome statt reinem HTTP-Abruf"}}}},{"name":"email_validate","description":"Syntax, Domain, MX-Einträge, Wegwerf-Anbieter, Rollenkonto, Freemailer, Tippfehler-Vorschlag und Zustellwahrscheinlichkeit. Optional SMTP-Handshake für Postfachprüfung. Preis: 0.001 USDC je Aufruf, Abrechnung ueber x402.","inputSchema":{"type":"object","properties":{"email":{"type":"string"},"emails":{"type":"array","items":{"type":"string"},"description":"Stapel bis 50 Adressen, ein Preis pro Aufruf"},"smtp_check":{"type":"boolean","default":false}}}},{"name":"mail_security_check","description":"Prüft MX, SPF, DKIM, DMARC, MTA-STS, TLS-RPT, BIMI, TLS am Mailserver und DNSSEC einer Domain und leitet daraus Spoofing-Risiko, Punktzahl und Befunde ab. Jeder Befund trägt einen fertigen DNS-Datensatz zum Einfügen statt einer Empfehlung in Prosa. Rein lesend: kein Versand, keine Testmail, keine Relay-Nutzung. Preis: 0.002 USDC je Aufruf, Abrechnung ueber x402.","inputSchema":{"type":"object","required":["domain"],"properties":{"domain":{"type":"string","description":"Domain ohne Schema, z. B. example.com"},"dkim_selectors":{"type":"array","items":{"type":"string"},"maxItems":25,"description":"Eigene DKIM-Selektoren. Werden zusätzlich zu 25 gängigen Namen probiert, da Selektoren im DNS nicht auflistbar sind."},"no_cache":{"type":"boolean","default":false,"description":"Ergebnis-Cache von 6 Stunden je Domain umgehen"}}}},{"name":"ip_reputation","description":"Liefert ASN, Netzbetreiber, Land, Reverse-DNS, Bogon-Status, Tor-Exit-Erkennung und eine Rechenzentrums-Wahrscheinlichkeit. Grundlage für Betrugs- und Moderationsagenten. Preis: 0.001 USDC je Aufruf, Abrechnung ueber x402.","inputSchema":{"type":"object","properties":{"ip":{"type":"string"},"ips":{"type":"array","items":{"type":"string"},"description":"Stapel bis 25 Adressen"}}}},{"name":"geocode","description":"Vorwärts- und Rückwärtsgeokodierung mit normalisierter Adresse (Straße, Hausnummer, PLZ, Ort, Bundesland, Land) und Ergebnis-Cache. Kein Schlüssel, kein Konto. Preis: 0.001 USDC je Aufruf, Abrechnung ueber x402.","inputSchema":{"type":"object","properties":{"query":{"type":"string","description":"Freitext-Adresse für Vorwärtssuche"},"lat":{"type":"number"},"lon":{"type":"number"},"limit":{"type":"integer","default":3,"maximum":10},"country":{"type":"string","description":"ISO-Code zur Einschränkung, z. B. de"}}}},{"name":"workdays","description":"Feiertagsliste je Bundesland für DE, AT und CH, Werktagsprüfung, Werktage zwischen zwei Daten, Werktage addieren und Zeitzonen-Offset inklusive Sommerzeit. Preis: 0.001 USDC je Aufruf, Abrechnung ueber x402.","inputSchema":{"type":"object","properties":{"country":{"type":"string","default":"DE","enum":["DE","AT","CH"]},"region":{"type":"string","description":"Bundeslandkürzel, z. B. NW, BY, SN"},"year":{"type":"integer"},"date":{"type":"string","description":"ISO-Datum für Werktagsprüfung"},"from":{"type":"string"},"to":{"type":"string"},"add_workdays":{"type":"integer","description":"Werktage auf date addieren"},"timezone":{"type":"string","default":"Europe/Berlin"}}}},{"name":"weather_ensemble","description":"Vergleicht ICON, ECMWF, GFS, MeteoFrance, UKMO und JMA für einen Punkt. Liefert je Stunde Median, Spannweite, Modell-Einigkeit und daraus abgeleitete Regenwahrscheinlichkeit statt einer einzelnen Modellmeinung. Preis: 0.005 USDC je Aufruf, Abrechnung ueber x402.","inputSchema":{"type":"object","required":["lat","lon"],"properties":{"lat":{"type":"number"},"lon":{"type":"number"},"hours":{"type":"integer","default":24,"maximum":72},"variables":{"type":"array","items":{"type":"string"},"default":["temperature_2m","precipitation","wind_speed_10m"]}}}},{"name":"site_audit","description":"Prueft eine Adresse auf Technik, Geschwindigkeit, Sicherheit, Auffindbarkeit und Barrierefreiheit. Je Abschnitt strukturierte Werte, dazu Punkte von 0 bis 100 und eine Befundliste, in der jeder Eintrag einen Beleg traegt: Header, Zeichenkette, URL oder Messwert. Der Schweregrad kritisch bleibt belegter Kompromittierung und offenen Zugaengen vorbehalten. Ausschliesslich lesende Pruefungen, keine Anmeldeversuche, keine Einschleusung, kein Lasttest. Abschnitte laufen parallel; ein Abschnitt, der scheitert, liefert null und einen Grund unter unavailable_sections, statt den Aufruf zu kippen. Preis: 0.020 USDC je Aufruf, Abrechnung ueber x402.","inputSchema":{"type":"object","required":["url"],"properties":{"url":{"type":"string","description":"Ziel-URL, http oder https"},"sections":{"type":"array","items":{"type":"string","enum":["tech","speed","security","seo","a11y"]},"default":["tech","speed","security","seo","a11y"],"description":"Abschnitte, die geprueft werden sollen. Voreinstellung: alle fuenf."},"viewport":{"type":"string","enum":["mobile","desktop"],"default":"mobile"}}}},{"name":"news_feed","description":"Holt mehrere RSS- oder Atom-Feeds parallel, normalisiert Titel und Zeitstempel und fasst dieselbe Meldung aus verschiedenen Quellen zu einem Cluster zusammen. Liefert je Meldung Quellenzahl als Relevanzsignal. Preis: 0.002 USDC je Aufruf, Abrechnung ueber x402.","inputSchema":{"type":"object","properties":{"feeds":{"type":"array","items":{"type":"string"},"description":"Bis 12 Feed-URLs"},"preset":{"type":"string","enum":["de_news","de_tech","de_wirtschaft"],"description":"Fertige Feedliste statt eigener URLs"},"limit":{"type":"integer","default":30,"maximum":100},"max_age_hours":{"type":"integer","default":24,"maximum":168}}}},{"name":"eu_business_check","description":"Prüft eine europäische Umsatzsteuer-Identifikationsnummer auf Länderpräfix, Länge, Zeichenvorrat und Prüfziffer, soweit das Verfahren je Land festgelegt ist, und fragt anschließend den VIES-Dienst der EU-Kommission ab. Liefert Firmenname ohne Rechtsformzusatz, Rechtsform getrennt und die Anschrift zerlegt, sofern der Mitgliedstaat sie herausgibt. Optional werden das Impressum einer Website und ein erwarteter Firmenname abgeglichen. Auskunft, keine steuerliche Bestätigung. Preis: 0.003 USDC je Aufruf, Abrechnung ueber x402.","inputSchema":{"type":"object","required":["vat_id"],"properties":{"vat_id":{"type":"string","description":"USt-IdNr. mit Länderpräfix, z. B. DE123456789. Leer- und Satzzeichen werden entfernt."},"website":{"type":"string","description":"Optional. Website des Unternehmens; deren Impressum wird geholt und abgeglichen."},"expected_name":{"type":"string","description":"Optional. Erwarteter Firmenname für einen unscharfen Vergleich mit dem VIES-Namen."}}}},{"name":"x402_trust_radar","description":"Prüft x402-Endpunkte auf Erreichbarkeit und Latenz, gültiges 402-Angebot, maschinenlesbare Discovery-Dokumente, Preistreue zwischen /pricing und Challenge, Zahlungsfähigkeit der payTo-Adresse auf Base, Bazaar-Metadaten und Stabilität im eigenen Verlauf. Es wird nie gekauft: angefordert wird ausschließlich die Challenge, kein Settlement, keine Zahlung, kein Testkauf. Jede Einordnung trägt ihre Belege im Feld evidence. Eigene Endpunkte werden als is_own markiert und nach denselben Regeln bewertet. Preis: 0.008 USDC je geprüftem Endpunkt, höchstens 20 je Aufruf, mindestens 0.008 USDC. depth ändert den Preis nicht. Abrechnung über x402.","inputSchema":{"type":"object","properties":{"endpoints":{"type":"array","items":{"type":"string"},"maxItems":20,"description":"Zu prüfende Endpunkt-URLs, höchstens 20 je Aufruf"},"discover":{"type":"boolean","description":"Statt eigener Liste: Endpunkte aus dem Coinbase-Bazaar ziehen"},"limit":{"type":"integer","default":20,"maximum":20,"description":"Nur zusammen mit discover: wie viele Endpunkte gezogen werden"},"depth":{"type":"string","enum":["quick","full"],"default":"quick","description":"quick lässt Verlauf und Facilitator-Prüfung weg, 4 s je Endpunkt. full prüft beides, 12 s je Endpunkt. Der Preis bleibt gleich."}}}},{"name":"site_inventory","description":"Nimmt eine Domain oder eine Sitemap-URL und liefert je Seite die Angaben, aus denen sich Auffindbarkeit beurteilen laesst: finale Adresse, Statuscode, Weiterleitungskette, Titel, Meta-Description, Canonical, hreflang, erkannte Sprache, robots-Meta, X-Robots-Tag, Inhaltstyp, Groesse, Ladezeit, H1, Zahl der internen und externen Verweise und das Datum aus JSON-LD. Jede Seite traegt ein eigenes Feld zur Indexierbarkeit mit Begruendung. Dazu ein Sammelbefund ueber Dubletten-Titel, fehlende Canonicals, zu lange Weiterleitungsketten, verwaiste Sitemap-Eintraege, 404 in der Sitemap und gemischte Sprachen ohne hreflang. Die Adressen kommen aus der Sitemap, ersatzweise aus einem Feed, und erst wenn beides fehlt aus einem Crawl der Startseite. robots.txt ist bindend und nicht abschaltbar; gesperrte Pfade erscheinen als skipped mit Grund. Hoechstens zwei gleichzeitige Anfragen je Zielhost mit mindestens 300 ms Abstand, ein groesseres Crawl-delay wird uebernommen. Nur lesende Abrufe, kein Lasttest. Die Gesamtlaufzeit ist begrenzt; danach gibt es ein Teilergebnis mit truncated=true, und abgerechnet wird nur, was geholt wurde. Preis: 0.010 USDC bis 25 Seiten, ab Seite 26 zusaetzlich 0.0003 USDC je Seite, hoechstens 200 Seiten und hoechstens 0.062 USDC. Der Betrag wird vor der Zahlung aus max_pages berechnet und im 402-Angebot genannt. Werden weniger Seiten geholt als angeboten, wird der signierte Betrag nicht abgebucht: die Antwort ist ein neues 402 mit dem niedrigeren Preis und einem result_token, das das fertige Ergebnis ohne neuen Lauf ausliefert.","inputSchema":{"type":"object","required":["target"],"properties":{"target":{"type":"string","description":"Domain oder Sitemap-URL, z. B. https://example.com oder https://example.com/sitemap.xml"},"max_pages":{"type":"integer","minimum":1,"maximum":200,"default":25,"description":"Obergrenze der Seiten. Bestimmt den Preis im 402-Angebot."},"source":{"type":"string","enum":["sitemap","crawl","auto"],"default":"auto","description":"auto fragt erst robots.txt nach einer Sitemap, dann /sitemap.xml und /sitemap_index.xml, dann Feeds, und crawlt nur, wenn nichts davon vorhanden ist."},"include_subdomains":{"type":"boolean","default":false,"description":"Subdomains derselben registrierbaren Domain mit aufnehmen"},"respect_robots":{"type":"boolean","default":true,"description":"Fest auf true. Ein Aufruf mit false wird abgewiesen."},"result_token":{"type":"string","description":"Nur fuer die zweite Runde nach einer Nachquotierung: holt das bereits fertige Ergebnis ab, ohne erneut zu crawlen."}}}}]}