MCP-Docs Installation

Setup, Konfiguration und Registrierung des MCP-Docs Servers.

Voraussetzungen

Installation

1. Verzeichnis erstellen

mkdir -p /opt/mcp-servers/mcp-docs
cd /opt/mcp-servers/mcp-docs

2. Virtual Environment

python3 -m venv venv
source venv/bin/activate
pip install mcp pymysql python-dotenv

3. Environment-Datei

# .env
# Hauptdatenbank (ki_system für Dokumentation)
DB_HOST=localhost
DB_PORT=3306
DB_NAME=ki_system
DB_USER=claude_code
DB_PASSWORD=geheim

# Logging-Datenbank (ki_protokoll für mcp_log)
LOG_DB_HOST=localhost
LOG_DB_NAME=ki_protokoll
LOG_DB_USER=mcp_logger
LOG_DB_PASSWORD=geheim

4. Datenbank-Tabelle

-- In ki_system ausführen
CREATE TABLE IF NOT EXISTS dokumentation (
    id INT AUTO_INCREMENT PRIMARY KEY,
    parent_id INT DEFAULT NULL,
    slug VARCHAR(100) NOT NULL,
    path VARCHAR(500) NOT NULL,
    title VARCHAR(255) NOT NULL,
    description TEXT,
    content LONGTEXT,
    status ENUM('draft','published','archived') DEFAULT 'draft',
    sort_order INT DEFAULT 0,
    depth INT DEFAULT 0,
    created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
    updated_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
    
    UNIQUE KEY (path),
    FOREIGN KEY (parent_id) REFERENCES dokumentation(id) ON DELETE SET NULL
);

Registrierung in Claude Code

# MCP-Server registrieren
claude mcp add mcp-docs \
  /opt/mcp-servers/mcp-docs/venv/bin/python \
  /opt/mcp-servers/mcp-docs/server.py

# Registrierung prüfen
claude mcp list

Test

# In Claude Code Session
docs_list(compact=True)
docs_statistics()
docs_hierarchy()

Fehlerbehebung

Server startet nicht

# Manuell testen
/opt/mcp-servers/mcp-docs/venv/bin/python \
  /opt/mcp-servers/mcp-docs/server.py

# Logs prüfen
tail -f ~/.claude/logs/mcp-*.log

Datenbankverbindung fehlgeschlagen

Tool nicht gefunden

# MCP-Server neu registrieren
claude mcp remove mcp-docs
claude mcp add mcp-docs ...

Berechtigungen

DB-UserDatenbankRechte
claude_codeki_systemSELECT, INSERT, UPDATE, DELETE auf dokumentation
mcp_loggerki_protokollINSERT auf mcp_log

Konfiguration (config.py)

from pathlib import Path
from dotenv import load_dotenv
import os

load_dotenv(Path(__file__).parent / ".env")

# Hauptdatenbank (ki_system)
DB_CONFIG = {
    "host": os.getenv("DB_HOST", "localhost"),
    "port": int(os.getenv("DB_PORT", 3306)),
    "database": os.getenv("DB_NAME", "ki_system"),
    "user": os.getenv("DB_USER"),
    "password": os.getenv("DB_PASSWORD"),
}

# Logging-Datenbank (ki_protokoll)
LOG_DB_CONFIG = {
    "host": os.getenv("LOG_DB_HOST", "localhost"),
    "database": os.getenv("LOG_DB_NAME", "ki_protokoll"),
    "user": os.getenv("LOG_DB_USER"),
    "password": os.getenv("LOG_DB_PASSWORD"),
}