Skip to content

MCP-Konfiguration

Das Model Context Protocol (MCP) ermöglicht es Sidian, sich mit externen Werkzeugen und Diensten zu verbinden und so die Fähigkeiten der KI über die reine Code-Bearbeitung hinaus zu erweitern. Diese Anleitung behandelt die Konfiguration und Verwaltung von MCP-Servern.

Was ist MCP?

MCP ist ein standardisiertes Protokoll, das es KI-Assistenten ermöglicht, sich sicher mit externen Werkzeugen und Datenquellen zu verbinden:

Fähigkeiten

  • Dateisystemoperationen
  • Verwaltung von Git-Repositorys
  • Datenbankabfragen
  • API-Integrationen
  • Speicher- und Kontextverwaltung

Vorteile

  • Sichere Ausführung in einer Sandbox
  • Standardisiertes Protokoll
  • Erweiterbare Architektur
  • Von der Community betriebene Server
  • Einfache Konfiguration

Konfigurationsort

Sidian liest die MCP-Konfiguration vom folgenden Speicherort:

Konfigurationsdatei

  • Windows: C:\Users\{IhrBenutzername}\.sidian\mcp.json
  • macOS: ~/.sidian/mcp.json
  • Linux: ~/.sidian/mcp.json

Grundkonfiguration

Die MCP-Konfigurationsdatei verwendet das JSON-Format mit der folgenden Struktur:

json
{
  "mcpServers": {
    "filesystem": {
      "command": "npx",
      "args": ["-y", "@modelcontextprotocol/server-filesystem", "/pfad/zu/ihrem/arbeitsbereich"],
      "env": {}
    },
    "git": {
      "command": "npx",
      "args": ["-y", "@modelcontextprotocol/server-git", "--repository", "/pfad/zu/ihrem/git/repository"],
      "env": {}
    },
    "memory": {
      "command": "npx",
      "args": ["-y", "@modelcontextprotocol/server-memory"],
      "env": {}
    }
  }
}

Beliebte MCP-Server

Hier sind einige häufig verwendete MCP-Server und ihre Konfigurationen:

Dateisystem-Server

Bietet Dateisystemzugriff zum Lesen, Schreiben und Verwalten von Dateien:

json
{
  "mcpServers": {
    "filesystem": {
      "command": "npx",
      "args": ["-y", "@modelcontextprotocol/server-filesystem", "/pfad/zu/ihrem/arbeitsbereich"],
      "env": {}
    }
  }
}

Git-Server

Ermöglicht Git-Operationen und die Verwaltung von Repositorys:

json
{
  "mcpServers": {
    "git": {
      "command": "npx",
      "args": ["-y", "@modelcontextprotocol/server-git", "--repository", "/pfad/zu/ihrem/git/repo"],
      "env": {}
    }
  }
}

Speicher-Server

Bietet persistenten Speicher für KI-Konversationen:

json
{
  "mcpServers": {
    "memory": {
      "command": "npx",
      "args": ["-y", "@modelcontextprotocol/server-memory"],
      "env": {}
    }
  }
}

Datenbank-Server

Verbindet sich mit Datenbanken für Abfragen und Operationen:

json
{
  "mcpServers": {
    "brave-search": {
      "command": "npx",
      "args": ["-y", "@modelcontextprotocol/server-brave-search"],
      "env": {
        "BRAVE_API_KEY": "ihr-brave-api-schlüssel-hier"
      }
    }
  }
}

Erweiterte Konfiguration

Umgebungsvariablen

Setzen Sie Umgebungsvariablen für MCP-Server:

json
{
  "mcpServers": {
    "custom-server": {
      "command": "node",
      "args": ["/pfad/zu/custom-server.js"],
      "env": {
        "API_KEY": "ihr-api-schlüssel",
        "DEBUG": "true",
        "TIMEOUT": "30000"
      }
    }
  }
}

Server-Optionen

Konfigurieren Sie serverspezifische Optionen:

json
{
  "mcpServers": {
    "web-server": {
      "command": "npx",
      "args": ["-y", "@modelcontextprotocol/server-web"],
      "options": {
        "timeout": 30000,
        "retries": 3,
        "logLevel": "info"
      }
    }
  }
}

Bedingte Konfiguration

Verwenden Sie unterschiedliche Konfigurationen je nach Umgebung:

json
{
  "mcpServers": {
    "filesystem": {
      "command": "npx",
      "args": [
        "-y",
        "@modelcontextprotocol/server-filesystem",
        "        "${SIDIAN_PROJECT_ROOT:-/standard/pfad}""
      ]
    }
  }
}

Sicherheitsüberlegungen

Sandboxing

  • MCP-Server laufen in isolierten Prozessen
  • Begrenzter Zugriff auf Systemressourcen
  • Konfigurierbare Berechtigungsgrenzen
  • Audit-Protokollierung für alle Operationen

Zugriffskontrolle

  • Whitelisting von erlaubten Verzeichnissen und Dateien
  • Einschränkung des Netzwerkzugriffs
  • Begrenzung der Befehlsausführung
  • Überwachung der Ressourcennutzung

Bewährte Praktiken

  • Verwenden Sie die minimal erforderlichen Berechtigungen
  • Aktualisieren Sie die MCP-Server-Pakete regelmäßig
  • Überwachen Sie die Server-Protokolle auf verdächtige Aktivitäten
  • Verwenden Sie Umgebungsvariablen für sensible Daten

Fehlerbehebung

Server startet nicht

  • Überprüfen Sie, ob Node.js installiert und zugänglich ist
  • Verifizieren Sie, dass das Server-Paket installiert ist: npm list -g
  • Überprüfen Sie die Syntax der MCP-Konfigurationsdatei
  • Suchen Sie in den Server-Protokollen nach spezifischen Fehlermeldungen
  • Versuchen Sie, den Server-Befehl manuell im Terminal auszuführen

Berechtigungsfehler

  • Stellen Sie sicher, dass Sidian Lese-/Schreibzugriff auf die konfigurierten Verzeichnisse hat
  • Überprüfen Sie die Dateisystemberechtigungen der Projektordner
  • Führen Sie Sidian bei Bedarf als Administrator aus (Windows)
  • Vergewissern Sie sich, dass die MCP-Konfigurationsdatei lesbar ist

Server stürzt ständig ab

  • Aktualisieren Sie das MCP-Server-Paket auf die neueste Version
  • Suchen Sie nach widersprüchlichen Node.js-Versionen
  • Erhöhen Sie die Timeout-Werte in der Konfiguration
  • Überwachen Sie die Systemressourcen (CPU, Speicher)
  • Überprüfen Sie die Server-Protokolle auf Fehlermuster

Leistungsprobleme

  • Reduzieren Sie die Anzahl der aktiven MCP-Server
  • Optimieren Sie die Server-Konfigurationen
  • Verwenden Sie lokale statt Remote-Server
  • Überwachen Sie die Netzwerklatenz bei Remote-Servern
  • Erwägen Sie Caching-Strategien

Benutzerdefinierte MCP-Server

Erstellen benutzerdefinierter Server

Sie können benutzerdefinierte MCP-Server für spezifische Anforderungen erstellen:

javascript
// custom-server.js
const { Server } = require('@modelcontextprotocol/sdk/server/index.js');
const { StdioServerTransport } = require('@modelcontextprotocol/sdk/server/stdio.js');

const server = new Server({
  name: 'custom-server',
  version: '1.0.0'
});

// Fügen Sie hier Ihre benutzerdefinierten Werkzeuge und Ressourcen hinzu
server.setRequestHandler('tools/list', async () => {
  return {
    tools: [
      {
        name: 'custom-tool',
        description: 'Ein benutzerdefiniertes Werkzeug für spezifische Operationen',
        inputSchema: {
          type: 'object',
          properties: {
            input: { type: 'string' }
          }
        }
      }
    ]
  };
});

const transport = new StdioServerTransport();
server.connect(transport);

Konfiguration für benutzerdefinierten Server

json
{
  "mcpServers": {
    "custom": {
      "command": "node",
      "args": ["/pfad/zu/custom-server.js"]
    }
  }
}

Überwachung und Protokollierung

Server-Status

Überwachen Sie den MCP-Server-Status in Sidian:

  • Überprüfen Sie den Verbindungsstatus des Servers in den Einstellungen
  • Sehen Sie sich die Server-Protokolle im Ausgabefenster an
  • Überwachen Sie die Ressourcennutzung
  • Verfolgen Sie Fehlerraten und Leistung

Debugging

Aktivieren Sie die Debug-Protokollierung zur Fehlerbehebung:

json
{
  "mcpServers": {
    "debug-server": {
      "command": "npx",
      "args": ["-y", "@modelcontextprotocol/server-filesystem", "/pfad"],
      "env": {
        "DEBUG": "*",
        "LOG_LEVEL": "debug"
      }
    }
  }
}

Die MCP-Konfiguration ermöglicht es Ihnen, die KI-Fähigkeiten von Sidian erheblich zu erweitern. Beginnen Sie mit einfachen Servern und fügen Sie bei Bedarf schrittweise komplexere Konfigurationen hinzu.