MCP-Client fuer HTTP-Server: externe Werkzeuge durch dieselben Pruefstellen (#197)
- Core/Mcp/McpClient: Streamable HTTP (MCP 2025-06-18) - initialize, tools/list with paging, tools/call; answers as JSON or event stream; session kept and opened again when the server forgets it; answers capped at 4 MB. - McpServerTool: one server is one tool (mcp_<id>); its remote tools are the operations, so rights, preflight, staging, lead approvals, votes, audit and budget apply. On approval by default unless the human trusts an operation; reads foreign content; the server's descriptions are cut short and marked. - McpConnections: registers, refreshes every 15 minutes, follows changes. - InstanceConfig.mcpServers with protected headers; /api/mcp-servers; settings card "External MCP servers"; tool catalog includes the servers. - stdio servers are not part of this (sandbox runner, separate step). Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
co-authored by
Claude Opus 5.5
parent
44844a41a0
commit
caf4323012
@@ -1100,6 +1100,28 @@
|
||||
"mcp.copy": "Kopieren",
|
||||
"mcp.copied": "Kopiert.",
|
||||
"mcp.copyFailed": "Kopieren ist hier nicht erlaubt — Text markieren und von Hand kopieren.",
|
||||
"mcpServers.title": "Externe MCP-Server",
|
||||
"mcpServers.hint": "Jeder Server wird ein Werkzeug (mcp_<id>), das du Agenten wie jedes andere gibst — etwa die Workflows, die du in n8n freigegeben hast. Jeder Aufruf läuft durch Werkzeugrechte, Freigaben und Audit und steht auf Freigabe, solange du die Operation unten nicht als vertraut einträgst. Ergebnisse und Beschreibungen sind Fremdinhalt. Kopfzeilenwerte werden geschützt gespeichert und nie angezeigt.",
|
||||
"mcpServers.none": "Kein externer MCP-Server.",
|
||||
"mcpServers.add": "Server hinzufügen",
|
||||
"mcpServers.id": "ID (ergibt den Werkzeugnamen)",
|
||||
"mcpServers.name": "Name",
|
||||
"mcpServers.url": "Adresse (Streamable HTTP)",
|
||||
"mcpServers.token": "Bearer-Token (optional)",
|
||||
"mcpServers.tokenPlaceholder": "wird geschützt gespeichert",
|
||||
"mcpServers.trusted": "Ohne Freigabe",
|
||||
"mcpServers.trustedPlaceholder": "eine Operation je Zeile",
|
||||
"mcpServers.header": "Kopfzeile setzen",
|
||||
"mcpServers.headerValue": "Wert — leer entfernt sie",
|
||||
"mcpServers.headers": "Kopfzeilen: {names}",
|
||||
"mcpServers.toolsCount": "{n} Werkzeug(e)",
|
||||
"mcpServers.unreachable": "nicht erreichbar",
|
||||
"mcpServers.off": "aus",
|
||||
"mcpServers.refreshed": "Werkzeuge vom {time}",
|
||||
"mcpServers.refresh": "Aktualisieren",
|
||||
"mcpServers.disable": "Ausschalten",
|
||||
"mcpServers.enable": "Einschalten",
|
||||
"mcpServers.remove": "Entfernen",
|
||||
"trigger.title": "Eingehende Auslöser (n8n und andere)",
|
||||
"trigger.hint": "Etwas von außen startet Arbeit für diesen Agenten: ein n8n-Workflow auf eine Mail, einen Zeitplan oder ein Formular — oder jedes System, das eine HTTP-Anfrage schickt. Jede Lieferung wird eine Aufgabe für diesen Agenten; ihr Inhalt ist Fremdinhalt, nie Anweisung. Ein Token je Auslöser, mit Obergrenze je Stunde.",
|
||||
"trigger.labelPlaceholder": "z. B. n8n neue Bestellungen",
|
||||
|
||||
Reference in New Issue
Block a user