{
  "$schema": "https://webforge24.de/.well-known/agents.json",
  "spec_version": "0.1",
  "updated": "2026-07-21",

  "business": {
    "name": "WebForge24",
    "category": "WebDesignAgency",
    "about": "Professionelle Website-Erstellung im monatlichen Abo — statt hoher Einmalkosten eine faire Monatsrate inklusive Hosting, Wartung und Support. Zusätzlich praxisnahe KI-Beratung für KMU.",
    "founding_year": 2024,
    "url": "https://webforge24.de",
    "region": "Deutschland, Schwerpunkt Süddeutschland",
    "languages": ["de"]
  },

  "agent_actions": {
    "read_content": {
      "allowed": true,
      "note": "Alle öffentlichen Seiten dürfen gelesen, zitiert und in Antworten verwendet werden. Quellenangabe erwünscht."
    },
    "compare_plans": {
      "allowed": true,
      "note": "Der vollständige Katalog steht unten unter 'catalog' — kein Scraping nötig."
    },
    "request_contact": {
      "allowed": true,
      "method": "POST",
      "url": "https://hmrdxxxthntawxxknncl.supabase.co/functions/v1/send-contact-email",
      "note": "Unverbindliche Anfrage oder Beratungswunsch im Auftrag eines Nutzers."
    },
    "start_subscription": {
      "allowed": true,
      "method": "POST",
      "url": "https://hmrdxxxthntawxxknncl.supabase.co/functions/v1/agent-checkout",
      "note": "Agenten dürfen ein Abo im Auftrag ihres Nutzers starten. Der Endpoint liefert eine Stripe-Checkout-URL zurück — die Zahlung schließt der Mensch selbst ab."
    },
    "manage_account": {
      "allowed": true,
      "via": "mcp",
      "note": "Für bestehende Kunden über den MCP-Server mit OAuth. Siehe Abschnitt 'mcp'."
    }
  },

  "constraints": {
    "authorization_required": "Der Agent muss nachweisbar im Auftrag des Nutzers handeln und das mit user_authorized: true bestätigen. Die Angabe wird in den Stripe-Metadaten protokolliert.",
    "payment": "Zahlungsdaten werden nie an den Agenten übergeben. Der Nutzer schließt die Zahlung auf der von Stripe gehosteten Seite selbst ab.",
    "trial": "Jedes Abo startet mit 21 Tagen kostenlosem Test. Die Karte wird erst danach belastet.",
    "commitment": "Keine Mindestvertragslaufzeit.",
    "personal_data": "Personenbezogene Daten ausschließlich über die hier genannten Endpoints übermitteln, nie über Drittwege.",
    "honest_identification": "Bitte agent.name wahrheitsgemäß setzen — daran hängen Rate-Limits und die Nachvollziehbarkeit."
  },

  "catalog": {
    "currency": "EUR",
    "billing": "Abo, monatlich oder jährlich",
    "trial_days": 21,
    "plans": [
      {
        "id": "einfach",
        "name": "Einfach",
        "price_monthly": 29,
        "price_yearly_per_month": 24,
        "target": "Kleine Unternehmen, Freelancer, Startups",
        "includes": [
          "One-Pager Website",
          "Responsive Design",
          "SSL-Zertifikat",
          "Basis-SEO",
          "Kontaktformular",
          "DSGVO-konform",
          "Hosting",
          "E-Mail-Support"
        ]
      },
      {
        "id": "standard",
        "name": "Standard",
        "price_monthly": 49,
        "price_yearly_per_month": 42,
        "target": "Mittelständische Unternehmen, Praxen, Kanzleien",
        "includes": [
          "Multi-Page Website bis 5 Seiten",
          "Alles aus Einfach",
          "Blog- und News-Bereich",
          "Google-Maps-Integration",
          "Social-Media-Integration",
          "Erweiterte SEO-Optimierung",
          "Analytics-Dashboard",
          "Telefon- und E-Mail-Support"
        ]
      },
      {
        "id": "komplex",
        "name": "Komplex",
        "price_monthly": 89,
        "price_yearly_per_month": 75,
        "target": "Größere Unternehmen, E-Commerce, komplexe Anforderungen",
        "includes": [
          "Unbegrenzte Seiten",
          "Alles aus Standard",
          "E-Commerce-Funktionen",
          "Buchungssystem-Integration"
        ]
      }
    ]
  },

  "api": {
    "available": true,
    "auth": "none",
    "note": "Kein API-Key nötig. Missbrauchsschutz über Agent-Identifikation und Rate-Limits.",
    "endpoints": [
      {
        "name": "start_subscription",
        "method": "POST",
        "url": "https://hmrdxxxthntawxxknncl.supabase.co/functions/v1/agent-checkout",
        "content_type": "application/json",
        "description": "Legt bei Bedarf ein Konto an und erzeugt eine Stripe-Checkout-Session. Gibt die Checkout-URL zurück, die der Nutzer selbst öffnet und bezahlt.",
        "required": ["agent.name", "user_authorized", "email", "plan"],
        "optional": ["agent.operator", "agent.contact", "full_name", "company", "billing_cycle"],
        "example_request": {
          "agent": { "name": "mein-agent", "operator": "Betreiber", "contact": "kontakt@betreiber.tld" },
          "user_authorized": true,
          "email": "kunde@example.com",
          "full_name": "Max Mustermann",
          "company": "Mustermann GmbH",
          "plan": "standard",
          "billing_cycle": "monthly"
        },
        "responses": {
          "201": "Erfolg — liefert checkout_url, session_id, trial_days",
          "400": "Pflichtfeld fehlt, Plan oder Zyklus ungültig, E-Mail unbrauchbar",
          "429": "Rate-Limit bei Kontoanlage",
          "405": "Falsche HTTP-Methode"
        }
      },
      {
        "name": "request_contact",
        "method": "POST",
        "url": "https://hmrdxxxthntawxxknncl.supabase.co/functions/v1/send-contact-email",
        "content_type": "application/json",
        "description": "Unverbindliche Anfrage. Ein Mensch meldet sich beim Nutzer.",
        "required": ["name", "email", "message"],
        "optional": ["company", "phone", "serviceInterest", "newsletterConsent"]
      }
    ]
  },

  "mcp": {
    "available": true,
    "url": "https://hmrdxxxthntawxxknncl.supabase.co/functions/v1/mcp",
    "auth": "oauth",
    "audience": "Bestandskunden",
    "note": "Für Nutzer mit bestehendem WebForge24-Konto. Nach OAuth-Zustimmung stehen diese Werkzeuge bereit.",
    "tools": [
      "whoami",
      "list_my_projects",
      "list_my_websites",
      "list_my_invoices",
      "list_my_tickets",
      "create_support_ticket"
    ]
  },

  "content": {
    "index": "https://webforge24.de/llms.txt",
    "agents_page": "https://webforge24.de/agents",
    "agents_markdown": "https://webforge24.de/agents.md",
    "pricing": "https://webforge24.de/preise",
    "sitemap": "https://webforge24.de/sitemap.xml"
  },

  "contact": {
    "website": "https://webforge24.de",
    "contact_form": "https://webforge24.de/kontakt"
  }
}
