MCP
Benutzer-mcp.json plus Arbeitsbereich .spirit/mcp.json. Der Arbeitsbereich gewinnt bei gleichem Servernamen.
MCP-Server fügen Tools, Ressourcen und Prompts von außerhalb von Spirit hinzu.
| Bereich | Pfad |
|---|---|
| Benutzer | {spiritDataDir}/mcp.json |
| Arbeitsbereich | {workspace}/.spirit/mcp.json |
Wenn beide Dateien denselben Servernamen definieren, gewinnt der Arbeitsbereich-Eintrag.
Verwalten Sie Server in Einstellungen → MCPs oder mit spirit mcp in der CLI (list, show, init, enable, disable, inspect, tools, call-tool, …).
MCP-Tools werden in dieselbe Tool-Liste integriert, die der Agent bereits hat. Sie durchlaufen weiterhin die Genehmigung, wenn sie ein hohes Risiko darstellen.
Dateifelder
Das Root-Objekt hat nur servers. Jeder Server muss transport enthalten, mit type gesetzt auf stdio oder http.
| Feld | Beschreibung |
|---|---|
servers | Objekt. Schlüssel sind Servernamen |
displayName | Optional. UI-Label; standardmäßig der Servername. display_name wird ebenfalls akzeptiert |
enabled | Optional. Standardmäßig true |
capabilities.tools | Optional. Standardmäßig true |
capabilities.resources | Optional. Standardmäßig true |
capabilities.prompts | Optional. Standardmäßig true |
transport.type | Erforderlich. stdio oder http |
stdio
| Feld | Beschreibung |
|---|---|
command | Erforderlich. Startbefehl |
args | Optional. Befehlsargumente |
env | Optional. Umgebungsvariablen. Werte können ${env:NAME} verwenden |
cwd | Optional. Arbeitsverzeichnis |
timeoutMs | Optional. Timeout in Millisekunden. timeout_ms wird ebenfalls akzeptiert |
stderr | Optional. inherit (Standard) oder pipe |
http
| Feld | Beschreibung |
|---|---|
url | Erforderlich. Server-URL |
headers | Optional. Anfrage-Header. Werte können ${env:NAME} verwenden |
timeoutMs | Optional. Timeout in Millisekunden. timeout_ms wird ebenfalls akzeptiert |
Beispiel
{
"servers": {
"local-docs": {
"displayName": "Local docs",
"enabled": true,
"capabilities": {
"tools": true,
"resources": true,
"prompts": false
},
"transport": {
"type": "stdio",
"command": "npx",
"args": ["-y", "example-mcp-server"],
"env": {
"API_TOKEN": "${env:EXAMPLE_API_TOKEN}"
},
"cwd": "/path/to/workspace",
"timeoutMs": 15000,
"stderr": "pipe"
}
},
"remote-tools": {
"transport": {
"type": "http",
"url": "https://mcp.example.com/mcp",
"headers": {
"Authorization": "Bearer ${env:EXAMPLE_MCP_TOKEN}"
},
"timeoutMs": 20000
}
}
}
}