import { JsonLd } from '@/components/json-ld';
import { StaticCodeBlock } from '@/components/static-code-block';
import { articleJsonLd, breadcrumbJsonLd, pageMetadata } from '@/lib/seo';
import Link from 'next/link';
import { ArticleShell, H2, Note, OL, P, Strong, UL } from '../article-shell';

const PATH = '/guides/mcp-server-ohne-code-erstellen';
const TITLE = 'MCP Server ohne Code erstellen und hosten (2026)';
const DESCRIPTION =
  'Wie Sie ohne Programmierkenntnisse einen eigenen MCP Server erstellen und hosten: Tool auf Deutsch oder Englisch beschreiben, generierten TypeScript-Server mit OAuth 2.1 deployen, Install-Snippet in Claude, Cursor oder ChatGPT einfügen.';

export const metadata = pageMetadata({ title: TITLE, description: DESCRIPTION, path: PATH });

export default function Page() {
  return (
    <>
      <JsonLd
        data={articleJsonLd({
          title: TITLE,
          description: DESCRIPTION,
          path: PATH,
          datePublished: '2026-07-08',
          authorName: 'Marco Sadjadi',
          wordCount: 1250,
          inLanguage: 'de',
        })}
      />
      <JsonLd
        data={breadcrumbJsonLd([
          { name: 'Home', path: '/' },
          { name: 'Guides', path: '/guides' },
          { name: TITLE, path: PATH },
        ])}
      />
      <ArticleShell
        title={TITLE}
        subtitle="MCP verbindet KI-Assistenten wie Claude, Cursor und ChatGPT mit Ihren eigenen Tools und Daten. Dieser Guide zeigt den Weg vom Satz in natürlicher Sprache zum gehosteten, OAuth-geschützten Server — ohne eine Zeile Code."
        updated="Juli 2026"
      >
        <H2>Was ist MCP — in zwei Absätzen</H2>
        <P>
          Das <Strong>Model Context Protocol (MCP)</Strong> ist ein offener Standard von Anthropic,
          der KI-Assistenten mit externen Tools, Datenbanken und APIs verbindet. Statt für jeden
          Assistenten eine eigene Integration zu bauen, stellen Sie einen MCP Server bereit — und
          jeder kompatible Client (Claude Desktop, Cursor, ChatGPT, VS Code Copilot, Continue.dev)
          kann ihn nutzen.
        </P>
        <P>
          Ein MCP Server stellt <Strong>Tools</Strong> bereit: klar definierte Funktionen wie
          „durchsuche unser Notion-Workspace" oder „lies Bestellungen aus der Datenbank". Die KI
          entscheidet im Gespräch, wann sie ein Tool aufruft; der Server führt aus und liefert das
          Ergebnis zurück in den Chat.
        </P>

        <H2>Warum „ohne Code" bisher nicht selbstverständlich war</H2>
        <P>
          Einen lokalen Test-Server bekommt man mit dem MCP-SDK schnell hin — wenn man
          programmieren kann. Ein <Strong>produktiver, erreichbarer</Strong> Server ist ein anderes
          Kaliber: Er braucht den Streamable-HTTP-Transport, TLS, eine OAuth-2.1-Autorisierung
          (damit nicht das ganze Internet Ihre Tools aufrufen kann), sichere Verwahrung Ihrer
          API-Schlüssel und Hosting, das nicht nach zwei Wochen umfällt. Genau diese Schicht können
          Sie heute generieren lassen, statt sie zu bauen.
        </P>

        <H2>Der Weg: von der Beschreibung zum laufenden Server</H2>
        <OL>
          <li>
            <Strong>Tool beschreiben — auf Deutsch oder Englisch.</Strong> Ein präziser Satz
            genügt: welche Aufgabe, welche Tools, welche Zugangsdaten. Beispiel unten.
          </li>
          <li>
            <Strong>Spezifikation prüfen.</Strong> Die Plattform (in unserem Fall
            BuildMyMCPServer) analysiert die Beschreibung und schlägt die Tool-Definitionen vor —
            Namen, Parameter, benötigte Secrets. Hier korrigieren Sie, bevor etwas gebaut wird.
          </li>
          <li>
            <Strong>Generieren und deployen lassen.</Strong> Daraus entsteht ein
            TypeScript-MCP-Server, der statisch geprüft, in ein Docker-Image gebaut und auf einer
            eigenen Subdomain deployt wird — hinter einem OAuth-2.1-Authorization-Server mit PKCE.
            Typische Dauer: 45–90 Sekunden.
          </li>
          <li>
            <Strong>Secrets eintragen.</Strong> API-Schlüssel (z.&nbsp;B. Ihr Notion-Token) werden
            AES-256-GCM-verschlüsselt gespeichert und nur zur Laufzeit als Umgebungsvariablen in
            den Container injiziert — sie landen nie im Code und nie in Logs.
          </li>
          <li>
            <Strong>Install-Snippet in den Client kopieren.</Strong> Für Claude Desktop, Cursor
            und ChatGPT gibt es fertige Snippets; beim ersten Zugriff läuft der OAuth-Flow im
            Browser.
          </li>
        </OL>

        <H2>Ein konkretes Beispiel</H2>
        <P>So sieht eine ausreichende Beschreibung aus — Deutsch funktioniert:</P>
        <StaticCodeBlock
          label="Prompt"
          code={`Erstelle einen MCP Server, der unser Notion-Workspace durchsucht.
Tools: search_pages, get_page_content.
Auth: NOTION_API_KEY.`}
        />
        <P>Und so das Ergebnis im Client — ein Eintrag in der Konfiguration von Claude Desktop:</P>
        <StaticCodeBlock
          label="claude_desktop_config.json"
          code={`{
  "mcpServers": {
    "notion": {
      "url": "https://notion-x9.mcp.buildmymcpserver.com/mcp",
      "auth": "oauth2"
    }
  }
}`}
        />

        <H2>Was Sie trotzdem verstehen sollten</H2>
        <P>
          „Ohne Code" heisst nicht „ohne Verantwortung". Drei Dinge bleiben Ihre Entscheidung:
        </P>
        <UL>
          <li>
            <Strong>Rechteumfang der Schlüssel.</Strong> Geben Sie dem Server nur die Rechte, die
            die Tools brauchen — ein Read-only-Schlüssel, wo die Quelle das anbietet. Die KI wird
            jedes Tool nutzen, das existiert.
          </li>
          <li>
            <Strong>Welche Tools existieren.</Strong> Lesende Tools zuerst; schreibende Tools nur,
            wenn der Anwendungsfall sie wirklich verlangt. Mehr dazu in unserer{' '}
            <Link
              href="/guides/mcp-server-security-checklist"
              className="text-[--color-accent] hover:underline"
            >
              Security-Checkliste
            </Link>{' '}
            (Englisch).
          </li>
          <li>
            <Strong>Wem Sie den Betrieb anvertrauen.</Strong> Prüfen Sie die Sicherheitsangaben
            des Anbieters auf Konkretes: Verschlüsselung, Container-Isolation, Quellcode-Export.
            Bei uns steht das auf der <Link href="/security" className="text-[--color-accent] hover:underline">Security-Seite</Link>{' '}
            — und jeden generierten Server können Sie als TypeScript-Quellcode exportieren und
            selbst hosten. Kein Lock-in.
          </li>
        </UL>

        <H2>Kosten</H2>
        <P>
          Der Einstieg ist kostenlos: Der Hobby-Plan umfasst einen Server mit 100&nbsp;000
          Tool-Aufrufen pro Monat auf einer BuildMyMCP-Subdomain. Bezahlpläne skalieren über
          Server-Anzahl und Aufruf-Volumen — Details auf der{' '}
          <Link href="/pricing" className="text-[--color-accent] hover:underline">
            Preisseite
          </Link>
          .
        </P>

        <Note>
          Für die technischen Hintergründe auf Englisch:{' '}
          <Link
            href="/guides/mcp-transports-explained"
            className="text-[--color-accent] hover:underline"
          >
            MCP-Transporte erklärt
          </Link>{' '}
          (warum Streamable HTTP der Standard ist) und{' '}
          <Link
            href="/guides/mcp-oauth-plain-english"
            className="text-[--color-accent] hover:underline"
          >
            OAuth 2.1 für MCP Server
          </Link>{' '}
          (was PKCE, DCR und RFC 8707 leisten).
        </Note>
      </ArticleShell>
    </>
  );
}
