Skip to main content
Glama

openwiki-mcp

MCP-Server, der die Dokumentationsgenerierung von OpenWiki (OpenChamber) als Model Context Protocol-Tools bereitstellt, sodass ein offizieller, unveränderter OpenCode (oder jeder andere MCP-Host) Repository-Wikis generieren und aktualisieren kann.

Völlig unabhängig vom opencode-Quellbaum – openwiki selbst wird als externes Paket aufgelöst (npm-Installation oder ein gestaffeltes Offline-Bundle), und Agent-Anmeldeinformationen werden über Umgebungsvariablen weitergeleitet, niemals gespeichert.

Tools

Tool

Entspricht Agent

Anmerkungen

openwiki_status

— (nur lokal)

Überprüft openwiki/ + .last-update.json. Kein Agent, kein Modell, funktioniert offline.

openwiki_generate

init

Erstmalige Wiki-Generierung. Optional steuert userMessage den Agenten.

openwiki_update

update

Diff-basierte Aktualisierung; nur veraltete Seiten werden neu generiert.

Related MCP server: Minecraft Wiki MCP Server

Voraussetzungen

  • Node.js >= 22 (der MCP-Server und der Agent-Unterprozess laufen beide unter node)

  • Eine openwiki-Paketinstallation:

    npm install -g openwiki          # online machine, or
    # offline machine: copy a prepared bundle and point at it
    set OPENWIKI_PACKAGE_ROOT=D:\path\to\staged\bundle\node_modules\openwiki

    OPENWIKI_PACKAGE_ROOT kann entweder direkt auf das Paketverzeichnis oder auf eine Struktur zeigen, die node_modules/openwiki enthält. Das gestaffelte Bundle benötigt keine Junction- oder Symlink-Tricks – Node löst die nackten Importe des Agenten über den normalen node_modules-Durchlauf auf.

Agent-Modellkonfiguration

Der Server leitet (niemals speichert) die folgenden Variablen in den Agent-Unterprozess weiter:

Umgebungsvariable (Serverseite)

Bedeutung

OPENWIKI_PROVIDER

openai (Standard) oder openai-compatible

OPENWIKI_MODEL_ID

Modell-ID, z.B. gpt-5

OPENAI_COMPATIBLE_BASE_URL

Zeigen Sie auf ein lokales OpenAI-kompatibles Gateway, um echte Schlüssel aus der Agent-Umgebung fernzuhalten

OPENAI_COMPATIBLE_API_KEY

Schlüssel für den openai-kompatiblen Anbieter

OPENAI_API_KEY

Schlüssel für den openai-Anbieter

OPENWIKI_PACKAGE_ROOT

Optional; expliziter Pfad zur openwiki-Installation

Pro-Aufruf-modelId/language/userMessage-Tool-Argumente überschreiben die Umgebung für diesen Durchlauf.

Registrierung bei OpenCode

Fügen Sie zu Ihrer opencode.json / opencode.jsonc hinzu:

{
  "mcp": {
    "openwiki": {
      "type": "local",
      "command": ["node", "D:/path/to/openwiki-mcp/dist/index.js"],
      "environment": {
        "OPENWIKI_PACKAGE_ROOT": "D:/path/to/staged/bundle/node_modules/openwiki",
        "OPENWIKI_PROVIDER": "openai-compatible",
        "OPENWIKI_MODEL_ID": "gpt-5",
        "OPENAI_COMPATIBLE_BASE_URL": "http://127.0.0.1:4096/v1"
      }
    }
  }
}

Die drei Tools erscheinen dann in jeder OpenCode-Unterhaltung als gewöhnliche Tools.

Entwicklung

npm install
npm run build        # tsc -> dist/
npm test             # node --test (status inspection unit tests)
npm run dev          # run the server via tsx (dev)

Rauchtests:

node scripts/smoke.mjs <dir> status        # local inspection only
node scripts/smoke.mjs <dir> init "note"   # full agent run (needs model env)

Manuelle MCP-Protokollüberprüfung:

@'
{"jsonrpc":"2.0","id":0,"method":"initialize","params":{"protocolVersion":"2025-03-26","capabilities":{},"clientInfo":{"name":"t","version":"1"}}}
{"jsonrpc":"2.0","method":"notifications/initialized"}
{"jsonrpc":"2.0","id":1,"method":"tools/list"}
'@ | node dist/index.js

Entwurfsnotizen

  • src/openwiki/resolve.ts – Paketauflösung: OPENWIKI_PACKAGE_ROOT, dann require.resolve("openwiki/package.json").

  • src/openwiki/worker.mjs – Adapter-Worker: liest einen Job von stdin, importiert den Agent-Einstiegspunkt über den absoluten Pfad, gibt NDJSON-Fortschritt auf stdout aus. Portiert vom opencode-Fork-Adapter packages/openwiki und unabhängig gehalten.

  • src/openwiki/run.ts – startet den Worker als Kind des MCP-Servers, sodass ein hängender Agent niemals den MCP-Host zum Absturz bringen kann.

  • src/status.ts – lokale Statusüberprüfung (keine Modellkosten).

  • v0.1 ordnet generate dem Agenten-Befehl init zu, was openwiki 0.3.x entspricht, wo init der Erstgenerierungsbefehl und update der Aktualisierungsbefehl ist.

Related MCP Connectors

Related MCP Servers