Eigene Werkzeuge
Eigene Werkzeuge erweitern den MCP-Server von Guida um Funktionen, die nur in einem bestimmten Arbeitsbereich gelten. Sie definieren Werkzeuge in tools.json; verbundene KI-Agenten können sie dann mit einem Parameterschema aufrufen.
Konfiguration
Abschnitt betitelt „Konfiguration“Legen Sie im Stammordner des Arbeitsbereichs eine tools.json an:
{ "tools": [ { "name": "search-products", "description": "Search the product catalog by keyword", "script": "scripts/search-products.js", "timeout": 30, "parameters": { "type": "object", "properties": { "keyword": { "type": "string", "description": "Search keyword" }, "maxResults": { "type": "number", "description": "Maximum results to return" } }, "required": ["keyword"] } } ]}| Feld | Erforderlich | Bedeutung |
|---|---|---|
name | Ja | Werkzeugname, der über MCP sichtbar ist |
description | Ja | Lesbare Beschreibung für Werkzeuglisten |
script | Ja | Skriptpfad relativ zum Arbeitsbereich |
timeout | Nein | Ausführungszeitlimit in Sekunden |
parameters | Nein | JSON Schema für Eingabeparameter |
headers | Nein | HTTP-Header, die in g.http.makeHttpRequest() eingespeist werden |
Parameter im Skript
Abschnitt betitelt „Parameter im Skript“Das parameters-Feld verwendet JSON Schema. Der KI-Agent sieht dieses Schema und liefert passende Argumente. Im Skript stehen sie unter g.tool.args bereit:
async function main() { const keyword = g.tool.args.keyword; const maxResults = g.tool.args.maxResults || 10;
await g.nav.navigateToUrl("https://store.example.com/search?q=" + keyword); // ... Ergebnisse extrahieren ...
return results.slice(0, maxResults);}Der Rückgabewert von main() wird serialisiert und als Werkzeugergebnis an den Agenten zurückgegeben.
Header mit Zugangsdaten
Abschnitt betitelt „Header mit Zugangsdaten“Header können {{SECRET_NAME}}-Vorlagen verwenden. Guida ersetzt sie zur Laufzeit durch verschlüsselt gespeicherte Zugangsdaten; der KI-Agent sieht die Werte nicht.
{ "tools": [ { "name": "fetch-api-data", "description": "Fetch data from the internal API", "script": "scripts/api-fetch.js", "headers": { "Authorization": "Bearer {{API_TOKEN}}", "X-Api-Key": "{{API_KEY}}" } } ]}Wenn ein Agent ein eigenes Werkzeug ausführt, lädt Guida das Skript, verarbeitet @timeout, stellt g.tool.args bereit, löst Header-Vorlagen auf und führt das Skript mit ScriptTaskOrigin.Mcp aus. Deshalb bleibt g.secrets.getSecret() weiterhin blockiert.
MCP-Oberfläche
Abschnitt betitelt „MCP-Oberfläche“| Werkzeug | Beschreibung |
|---|---|
GetWorkspaceTools | Listet eigene Werkzeuge mit Parameterschemas |
ExecuteWorkspaceTool | Führt ein Werkzeug mit Parametern aus |
ReloadWorkspaceTools | Lädt tools.json nach Änderungen neu |
Nächste Schritte
Abschnitt betitelt „Nächste Schritte“- MCP-Integration - Sicherheitsmodell für MCP-Werkzeuge
- Zugangsdaten - API-Schlüssel für Header-Vorlagen speichern
- Arbeitsbereiche - Ordnerstruktur und Konfiguration