Skip to main content
Glama

Docs MCP Server

Schmiedeabzeichen

Dieses Projekt bietet einen flexiblen Model Context Protocol (MCP)-Server, der von Probe betrieben wird und dafür konzipiert ist, Dokumentationen oder Codebasen für KI-Assistenten durchsuchbar zu machen.

Sie können mit Code oder Ihren Dokumenten chatten, indem Sie einfach auf ein Git-Repo oder einen Ordner zeigen.

npx -y @buger/docs-mcp@latest --gitUrl https://github.com/buger/probe

Anwendungsfälle:

  • Chatten Sie mit jedem GitHub-Repository: Richten Sie den Server auf ein öffentliches oder privates Git-Repository, um Abfragen zu dessen Inhalten in natürlicher Sprache zu ermöglichen.

  • Durchsuchen Sie Ihre Dokumentation: Integrieren Sie die Dokumentation Ihres Projekts (aus einem lokalen Verzeichnis oder Git), um die Suche zu vereinfachen.

  • Erstellen Sie benutzerdefinierte MCP-Server: Verwenden Sie dieses Projekt als Vorlage, um Ihre eigenen offiziellen MCP-Server zu erstellen, die auf bestimmte Dokumentationssätze oder sogar Codebasen zugeschnitten sind.

Die Inhaltsquelle (Dokumentation oder Code) kann während des npm run build Schritts vorab in das Paket integriert oder zur Laufzeit dynamisch über lokale Verzeichnisse oder Git-Repositorys konfiguriert werden. Standardmäßig lädt der Server bei Verwendung einer gitUrl ohne Aktivierung automatischer Updates ein .tar.gz Archiv für einen schnelleren Start herunter. Vollständiges Git-Klonen wird nur verwendet, wenn autoUpdateInterval größer als 0 ist.

Merkmale

  • Powered by Probe: Nutzt die Suchmaschine Probe für effiziente und relevante Ergebnisse.

  • Flexible Inhaltsquellen: Fügen Sie ein bestimmtes lokales Verzeichnis ein oder klonen Sie ein Git-Repository.

  • Vorgefertigter Inhalt: Optional können Sie Dokumentations-/Codeinhalte direkt in das Paket bündeln.

  • Dynamische Konfiguration: Konfigurieren Sie Inhaltsquellen, Git-Einstellungen und MCP-Tooldetails über Konfigurationsdateien, CLI-Argumente oder Umgebungsvariablen.

  • Automatische Git-Updates: Halten Sie Inhalte aktuell, indem Sie Änderungen in einem konfigurierbaren Intervall automatisch aus einem Git-Repository abrufen.

  • Anpassbares MCP-Tool: Definieren Sie den Namen und die Beschreibung des Suchtools, das KI-Assistenten angezeigt wird.

  • KI-Integration: Nahtlose Integration mit KI-Assistenten, die das Model Context Protocol (MCP) unterstützen.

Related MCP server: CodeAlive MCP

Verwendung

Die primäre Möglichkeit, diesen Server zu nutzen, ist über npx . Dadurch wird das Paket heruntergeladen und ausgeführt, ohne dass eine lokale Installation erforderlich ist. Dies erleichtert die Integration mit KI-Assistenten und MCP-Clients (wie IDE-Erweiterungen).

Installation über Smithery

So installieren Sie Docs MCP Server für Claude Desktop automatisch über Smithery :

npx -y @smithery/cli install @buger/docs-mcp --client claude

Integration mit MCP-Clients (z. B. IDEs)

Sie können Ihren MCP-Client so konfigurieren, dass dieser Server mit npx gestartet wird. Hier sind Beispiele für die Konfiguration eines Clients (die Syntax kann je nach Client variieren):

Beispiel 1: Dynamisches Durchsuchen eines Git-Repositorys (Tyk Docs)

Diese Konfiguration weist den Client an, das neueste @buger/docs-mcp -Paket mit npx auszuführen und es dynamisch auf das Tyk-Dokumentationsrepository zu verweisen. Das Argument -y bestätigt automatisch die npx Installationsaufforderung. Die Argumente --toolName und --toolDescription passen die Anzeige des Suchwerkzeugs für den KI-Assistenten an.

{
  "mcpServers": {
    "tyk-docs-search": {
      "command": "npx",
      "args": [
        "-y",
        "@buger/docs-mcp@latest",
        "--gitUrl",
        "https://github.com/TykTechnologies/tyk-docs",
        "--toolName",
        "search_tyk_docs",
        "--toolDescription",
        "Search Tyk API Management Documentation"
      ],
      "enabled": true
    }
  }
}

Alternativ erlauben einige Clients die direkte Angabe des vollständigen Befehls. Sie können dasselbe wie in Beispiel 1 erreichen, indem Sie Folgendes verwenden:

npx -y @buger/docs-mcp@latest --gitUrl https://github.com/TykTechnologies/tyk-docs --toolName search_tyk_docs --toolDescription "Search Tyk API Management Documentation"

Beispiel 2: Verwendung eines vorgefertigten, gebrandeten MCP-Servers (z. B. Tyk-Paket)

Wenn ein Team ein vorgefertigtes Paket mit spezifischer Dokumentation veröffentlicht (z. B. @tyk-technologies/docs-mcp ), vereinfacht sich die Konfiguration, da die Inhaltsquelle und die Tooldetails in dieses Paket integriert sind. Das Argument -y wird weiterhin für npx empfohlen.

{
  "mcpServers": {
    "tyk-official-docs": {
      "command": "npx",
      "args": [
        "-y",
        "@tyk-technologies/docs-mcp@latest"
      ],
      "enabled": true
    }
  }
}

Dieser Ansatz eignet sich ideal für die Bereitstellung standardisierter Suchfunktionen für offizielle Dokumentationen oder Codebasen. Weitere Informationen finden Sie weiter unten im Abschnitt „Erstellen eines eigenen vorgefertigten MCP-Servers“.

Hier ist ein Beispiel, wie das Tyk-Team einen eigenen MCP-Dokumentationsserver erstellt hat : https://github.com/TykTechnologies/docs-mcp .

Konfiguration

Erstellen Sie eine Datei docs-mcp.config.json im Stammverzeichnis, um die Standardinhaltsquelle und die MCP-Tooldetails zu definieren, die während des Builds und zur Laufzeit verwendet werden (sofern sie nicht durch CLI-Argumente oder Umgebungsvariablen überschrieben werden).

Beispiel 1: Verwenden eines lokalen Verzeichnisses

{
  "includeDir": "/Users/username/projects/my-project/docs",
  "toolName": "search_my_project_docs",
  "toolDescription": "Search the documentation for My Project.",
  "ignorePatterns": [
    "node_modules",
    ".git",
    "build",
    "*.log"
  ]
}

Beispiel 2: Verwenden eines Git-Repositorys

{
  "gitUrl": "https://github.com/your-org/your-codebase.git",
  "gitRef": "develop",
  "autoUpdateInterval": 15,
  "toolName": "search_codebase",
  "toolDescription": "Search the main company codebase.",
  "ignorePatterns": [
    "*.test.js",
    "dist/",
    "__snapshots__"
  ]
}

Konfigurationsoptionen

  • includeDir : (Build/Runtime) Absoluter Pfad zu einem lokalen Verzeichnis, dessen Inhalt während des Builds in das data kopiert oder zur Laufzeit direkt verwendet wird, wenn dataDir nicht angegeben ist. Verwenden Sie dies ODER gitUrl .

  • gitUrl : (Build/Runtime) URL des Git-Repositorys. Verwenden Sie diese oder includeDir .

    • Wenn autoUpdateInterval 0 (Standard) ist, versucht der Server, ein .tar.gz Archiv direkt herunterzuladen (aktuell wird die GitHub-URL-Struktur angenommen: https://github.com/{owner}/{repo}/archive/{ref}.tar.gz ). Dies ist schneller, unterstützt aber keine Updates.

    • Wenn autoUpdateInterval > 0, führt der Server einen git clone durch und aktiviert regelmäßige Updates.

  • gitRef : (Build/Runtime) Der zu verwendende Branch, Tag oder Commit-Hash aus der gitUrl (Standard: main ). Wird sowohl für den Tarball-Download als auch für Git-Clone/Pull verwendet.

  • autoUpdateInterval : (Laufzeit) Intervall in Minuten für die automatische Überprüfung auf Git-Updates (Standard: 0, deaktiviert). Ein Wert > 0 aktiviert Git-Klonen und regelmäßige git pull Operationen. Der git Befehl muss im Systempfad verfügbar sein.

  • dataDir : (Laufzeit) Pfad zum Verzeichnis mit dem zur Laufzeit zu durchsuchenden Inhalt. Überschreibt Inhalte aus includeDir oder gitUrl die in der Konfigurationsdatei definiert oder im Paket integriert sind. Nützlich, um den Server ohne Neuaufbau auf Live-Daten zu verweisen.

  • toolName : (Build/Runtime) Der Name des vom Server bereitgestellten MCP-Tools (Standard: search_docs ). Wählen Sie einen aussagekräftigen, zum Inhalt passenden Namen.

  • toolDescription : (Build/Runtime) Die Beschreibung des MCP-Tools, die den KI-Assistenten angezeigt wird (Standard: „Dokumentation mithilfe der Probe-Suchmaschine durchsuchen.“).

  • ignorePatterns : (Build/Runtime) Ein Array von Glob-Mustern.

  • enableBuildCleanup : (Build) Wenn „ true (Standard), werden nach dem Build-Schritt gängige Binär-/Mediendateien (Bilder, Videos, Archive usw.) sowie Dateien größer als 100 KB aus dem data entfernt. Auf false setzen, um diese Bereinigung zu deaktivieren.

    • Bei Verwendung von includeDir während des Builds: Dateien, die diesen Mustern entsprechen, werden beim Kopieren in data ausgeschlossen. .gitignore -Regeln werden ebenfalls beachtet.

    • Bei Verwendung gitUrl oder dataDir zur Laufzeit: Dateien, die diesen Mustern im data entsprechen, werden vom Suchindexer ignoriert.

Vorrang:

  1. Laufzeitkonfiguration (Höchste): CLI-Argumente ( --dataDir , --gitUrl usw.) und Umgebungsvariablen ( DATA_DIR , GIT_URL usw.) überschreiben alle anderen Einstellungen. CLI-Argumente haben Vorrang vor Umgebungsvariablen.

  2. Build-Time-Konfiguration: Einstellungen in docs-mcp.config.json ( includeDir , gitUrl , toolName usw.) definieren Standardwerte, die während npm run build verwendet werden und auch als Laufzeitstandardwerte dienen, wenn sie nicht überschrieben werden.

  3. Standardwerte (niedrigste): Wenn keine Konfiguration angegeben ist, werden interne Standardwerte verwendet (z. B. toolName: 'search_docs' , autoUpdateInterval: 5 ).

Hinweis: Wenn sowohl includeDir als auch gitUrl in derselben Konfigurationsquelle bereitgestellt werden (z. B. beide in der Konfigurationsdatei oder beide als CLI-Argumente), hat gitUrl Vorrang.

Erstellen Ihres eigenen vorgefertigten MCP-Servers

Sie können dieses Projekt als Vorlage verwenden, um Ihr eigenes npm-Paket mit vorinstallierter Dokumentation oder Code zu erstellen und zu veröffentlichen. Dies ermöglicht Benutzern eine konfigurationsfreie Erfahrung (wie im obigen Beispiel 2).

  1. Dieses Repository forken/klonen: Beginnen Sie mit dem Code dieses Projekts.

  2. Konfigurieren Sie docs-mcp.config.json : Definieren Sie das includeDir oder gitUrl das auf Ihre Inhaltsquelle verweist. Legen Sie den Standardwert toolName und toolDescription fest.

  3. Aktualisieren Sie package.json : Ändern Sie den name (z. B. @my-org/my-docs-mcp ), version , description usw.

  4. Erstellen: Führen Sie npm run build aus. Dadurch wird Ihr Inhalt in das data geklont/kopiert und das Paket bereitgestellt.

  5. Veröffentlichen: Führen Sie npm publish aus (Sie müssen die npm-Authentifizierung konfiguriert haben).

Jetzt können Benutzer Ihren spezifischen Dokumentationsserver einfach ausführen: npx @my-org/my-docs-mcp@latest .

(Die vorherigen Abschnitte „Ausführen“, „Dynamische Konfiguration zur Laufzeit“ und „Umgebungsvariablen“ wurden entfernt, da die Verwendung npx mit Argumenten innerhalb von Clientkonfigurationen jetzt die primäre dokumentierte Methode ist.)

Verwendung mit KI-Assistenten

Dieser MCP-Server stellt verbundenen KI-Assistenten über das Model Context Protocol ein Suchtool zur Verfügung. Name und Beschreibung des Tools sind konfigurierbar (siehe Abschnitt „Konfiguration“). Es durchsucht den Inhalt im aktuell aktiven data (bestimmt durch Build-Einstellungen, Konfigurationsdatei, CLI-Argumente oder Umgebungsvariablen).

Werkzeugparameter:

  • query : Eine Abfrage in natürlicher Sprache oder Schlüsselwörter, die beschreiben, wonach gesucht werden soll (z. B. „Gateway konfigurieren“, „Beispiel für eine Datenbankverbindung“, „Benutzerauthentifizierung“). Der Server nutzt die Suchfunktionen von Probe, um relevante Inhalte zu finden. (Erforderlich)

  • page : Die Seitenzahl der Ergebnisse bei vielen Treffern. Standardmäßig 1, falls nicht angegeben. (Optional)

Beispiel für einen Toolaufruf (unter Verwendung von search_tyk_docs aus Verwendungsbeispiel 1):

{
  "tool_name": "search_tyk_docs",
  "arguments": {
    "query": "gateway rate limiting",
    "page": 1 // Requesting the first page
  }
}

Beispiel für einen Tool-Aufruf (mit dem Tool aus dem Paket @tyk/docs-mcp ):

Angenommen, das vorgefertigte Paket @tyk/docs-mcp hat seinen Toolnamen als search_tyk_official_docs definiert:

{
  "tool_name": "search_tyk_official_docs",
  "arguments": {
    "query": "dashboard api access",
    "page": 2 // Requesting the second page
  }
}

(Der vorherige Abschnitt „Veröffentlichen als npm-Paket“ wurde durch den obigen Abschnitt „Erstellen Ihres eigenen vorgefertigten MCP-Servers“ ersetzt.)

Lizenz

MIT

Available Tools

1 tool
search_docsA

Search documentation using the probe search engine.

ParametersJSON Schema
NameRequiredDescriptionDefault
queryYesElasticsearch query string. Focus on keywords and use ES syntax (e.g., "install AND guide", "configure OR setup", "api NOT internal").
pageNoOptional page number for pagination of results (e.g., 1, 2, 3...). Default is 1.

TDQS

A3.6/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the full burden. It only states 'Search documentation' which implies a read operation, but does not disclose any behavioral traits such as rate limits, authentication needs, or side effects. The description is minimal.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single concise sentence that clearly conveys the tool's action. It is appropriately sized and front-loaded with the main purpose.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the simplicity of the tool (2 parameters, no output schema, no siblings, no annotations), the description adequately covers the essential information. It explains the tool's function and the search engine used, which is sufficient for an agent to understand its purpose.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, with detailed descriptions for both parameters (query with ES syntax, page with pagination). The tool description adds no extra information beyond the schema, which is acceptable given high coverage.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the verb 'Search' and the resource 'documentation', and specifies the search engine 'probe search engine'. It is specific and directly communicates the tool's purpose.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description does not provide explicit guidance on when to use this tool versus alternatives. Since there are no sibling tools, it is less critical, but it could still mention scenarios or prerequisites. The mention of the search engine provides some context.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

  1. 1 tool update
    • First observedsearch_docs

TDQS

A3.6/5.0

Scored across 1 tool

Disambiguation5/5

With only one tool, there is no risk of confusion or overlap between tools.

Naming Consistency5/5

Single tool, so naming consistency is perfect by default.

Tool Count2/5

A single tool for a documentation search server is too few, limiting its utility.

Completeness2/5

Only search is provided; missing tools to list, retrieve, or manage documentation sources.

Maintenance

ActivityInactive
ResponsivenessUnresponsive

Related MCP Connectors

Related MCP Servers

  • A
    license
    Not graded
    quality
    A
    maintenance
    A Model Context Protocol server that enhances AI agents by providing deep semantic understanding of codebases, enabling more intelligent interactions through advanced code search and contextual awareness.
    90
    MIT
  • A
    license
    Not graded
    quality
    D
    maintenance
    A Model Context Protocol server providing file search and question tools for AI models. Enables keyword search in files with line numbers and integration with external chat services.
    284 npm
    MIT