docmd enthält einen nativen Model Context Protocol (MCP)-Server, der es AI-Entwicklungsagenten ermöglicht, programmatisch und über eine sichere lokale Verbindung mit Ihrem Dokumentations-Workspace zu interagieren.

Was ist MCP?

Das Model Context Protocol ist ein offener Standard, um AI-Modelle mit externen Tools und Datenquellen zu verbinden. Es verwendet JSON-RPC 2.0-Nachrichten über eine Transport-Schicht (stdio, HTTP). docmd implementiert den stdio-Transport — der Agent spawnt docmd mcp als Child-Process und kommuniziert via stdin/stdout.

Schnellstart

docmd mcp

Dies startet den MCP-Server über stdio. Es werden keine Netzwerk-Ports geöffnet — die gesamte Kommunikation findet über Standard-Ein-/Ausgabe-Streams statt.

Claude Desktop-Konfiguration

Fügen Sie dies zu Ihrer Claude Desktop claude_desktop_config.json hinzu:

claude_desktop_config.json
{
  "mcpServers": {
    "docmd": {
      "command": "npx",
      "args": ["@docmd/core", "mcp"],
      "cwd": "/path/to/your/docs/project"
    }
  }
}

Cursor / Windsurf-Konfiguration

Fügen Sie dies zu den MCP-Einstellungen Ihres Editors hinzu:

mcp_settings.json
{
  "command": "npx @docmd/core mcp",
  "transport": "stdio"
}

Verfügbare Tools

Der MCP-Server stellt sechs Tools bereit, die Agenten aufrufen können:

Tool Beschreibung
search_docs Volltextsuche über alle Dokumentations-Dateien. Gibt passende Zeilen mit Dateipfaden und Zeilennummern zurück.
list_docs Listet alle Markdown-Dateien im Projekt auf (optional beschränkt auf ein Unterverzeichnis wie eine Locale oder Version). Gibt relative Pfade zurück, damit der Agent den Dokumentationsbaum navigieren kann, bevor er einzelne Dateien liest.
read_doc Liest den rohen Markdown-Inhalt einer beliebigen Dokumentations-Datei über ihren relativen Pfad. Der Pfad ist auf das Projekt-Wurzelverzeichnis beschränkt.
get_config Ruft die aufgelöste docmd.config ab — Titel, Quell-/Ausgabeverzeichnisse, konfigurierte Locales, Versionen und aktivierte Plugins. Sensible Werte (API-Schlüssel, Analytics-IDs) werden aus der Antwort entfernt.
validate_docs Führt eine Link-Validierung über alle Markdown-Dateien aus. Gibt eine Liste defekter Links mit Datei, Zeile und Ziel zurück.
get_llms_context Ruft den vollständigen llms-full.txt-Kontext ab — die vereinte Inhaltsdarstellung der gesamten Dokumentations-Site, optimiert für die LLM-Ingestion.

Tool-Schemas

search_docs

{
  "name": "search_docs",
  "inputSchema": {
    "type": "object",
    "properties": {
      "query": { "type": "string", "description": "Der zu suchende Begriff oder Ausdruck." }
    },
    "required": ["query"]
  }
}

list_docs

{
  "name": "list_docs",
  "inputSchema": {
    "type": "object",
    "properties": {
      "subdir": { "type": "string", "description": "Optionales Unterverzeichnis zur Einschränkung der Auflistung (z. B. 'en', 'v1', 'guides'). Der Pfad ist auf das konfigurierte Quellverzeichnis beschränkt." }
    }
  }
}

read_doc

{
  "name": "read_doc",
  "inputSchema": {
    "type": "object",
    "properties": {
      "route": { "type": "string", "description": "Relativer Pfad zur Markdown-Datei (z. B. docs/getting-started.md). Muss innerhalb des Projekt-Wurzelverzeichnisses aufgelöst werden." }
    },
    "required": ["route"]
  }
}

get_config

{
  "name": "get_config",
  "inputSchema": {
    "type": "object",
    "properties": {}
  }
}

validate_docs / get_llms_context

Keine Eingabeparameter erforderlich.

Protokoll-Details

docmd implementiert die MCP-Spezifikation (Protokollversion 2025-03-26):

  • Transport: stdio — JSON-RPC 2.0-Nachrichten über stdin/stdout, eine pro Zeile
  • Diagnostik: Geloggt nach stderr (greift nicht in den JSON-RPC-Stream ein)
  • Lebenszyklus: initializenotifications/initialized → Tool-Calls
  • Ping: Antwortet auf ping-Anfragen mit {} (für Connection-Health-Checks erforderlich)
  • Capabilities: Deklariert tools, resources und prompts (Tools sind die primäre Schnittstelle)

Datenschutz & Sicherheit

  • Nur lokal: Der Server läuft als Child-Process — keine Netzwerk-Exposition, keine geöffneten Ports
  • Sandboxed: Datei-Operationen sind auf das Projekt-Arbeitsverzeichnis beschränkt
  • Keine Telemetrie: Es werden keine Daten übertragen — die gesamte Verarbeitung findet auf Ihrer Maschine statt

Ergänzende Features

Der MCP-Server arbeitet Hand in Hand mit anderen AI-First-Features in docmd:

  • llms.txt / llms-full.txt: Zur Build-Zeit vom llms-Plugin generiert. Jeder Agent kann diese Dateien ohne MCP direkt von Ihrer deployed Site abrufen.
  • Copy-Context-Widget: Ein Browser-UI-Button, der optimierten Seiten-Inhalt in die Zwischenablage kopiert, damit Sie ihn bequem in AI-Chat-Fenster einfügen können.
  • SKILL.md: Beim docmd init automatisch generierte Agent-Anleitung. Sie verweist auf die Wissensdatenbank docmd-skills.
Wann MCP vs. llms.txt

Verwenden Sie MCP, wenn ein Agent während der Entwicklung interaktiv suchen, bestimmte Dateien lesen oder Links validieren muss. Verwenden Sie llms-full.txt, wenn ein Agent den gesamten Dokumentations-Kontext in einem einzigen Fetch benötigt (z. B. für RAG oder Pre-Prompting).