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:
{
"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:
{
"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:
{
"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:
{
"mcpServers": {
"memory": {
"command": "npx",
"args": ["-y", "@modelcontextprotocol/server-memory"],
"env": {}
}
}
}
Datenbank-Server
Verbindet sich mit Datenbanken für Abfragen und Operationen:
{
"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:
{
"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:
{
"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:
{
"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:
// 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
{
"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:
{
"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.