DokuMCP

CodingRoman/DokuMCP

3.3

If you are the rightful owner of DokuMCP and would like to certify it and/or have it hosted online, please leave a comment on the right or send an email to henry@mcphub.com.

The ChmMcpServer is a model context protocol server designed for GitHub Copilot in Visual Studio, focusing on extracting and indexing .chm documentation files.

Tools
3
Resources
0
Prompts
0

ChmMcpServer (NanaZip-first, .NET 8, STDIO)

MCP-Server für GitHub Copilot (Visual Studio), der .chm-Dokumentationen aus einem Drop-Ordner extrahiert (bevorzugt mit NanaZip/7-Zip, optional Fallback hh.exe), als HTML cached und mit Lucene.NET indiziert.

Features

  • Drop-Ordner: local\chm-drop\ (relativ zur EXE) – kein fester Pfad nötig
  • Extraktion: NanaZip/7-Zip zuerst, hh.exe nur als Fallback
  • Robust: per-Datei-Lock, Warten bis Datei „ready“, inkrementelles Update (SHA-256)
  • Persistent Index: local\index\
  • Cache-Limit: --max-cache-gb (FIFO-Aufräumen)
  • Tools: list_sources, search_docs(query, topK), get_topic(path)

Build & Setup

dotnet build -c Release
# Ordner (falls nicht vorhanden)
mkdir -Force .\local\chm-drop, .\local\cache, .\local\index
# Start (beobachtet Drop-Ordner)
.\src\ChmMcpServer in\Release
et8.0\ChmMcpServer.exe --watch

Standardpfade ohne feste Angaben: Drop=local\chm-drop, Cache=local\cache, Index=local\index (relativ zur EXE).

Visual Studio (global, ohne feste Pfade)

  1. Optional: scripts\install-global-mcp.ps1 ausführen (baut Release, fügt EXE-Pfad zum Benutzer-PATH, erstellt %USERPROFILE%\.mcp.json).
  2. In Copilot Chat → Tools → devexpress-chm aktivieren.

Nutzung

  • .chm-Dateien nach local\chm-drop\ kopieren oder entfernen.
  • Suche: search_docs("XAF Property Editor", 8)
  • HTML holen: get_topic("...\local\cache\<hash8>\path\to\file.htm")

Hinweise

  • Für Store-Installationen von NanaZip/7-Zip werden die App-Aliase (z. B. NanaZipC.exe, 7z.exe) automatisch gefunden.
  • CHMs, die von Windows blockiert sind (Zone.Identifier), ggf. mit Unblock-File oder per Eigenschaften Zulassen.