Zum Inhalt springen

Konfiguration

ToolMesh wird vollständig über Umgebungsvariablen und YAML-Dateien konfiguriert.

VariableStandardBeschreibung
TOOLMESH_PORT8123Host-Port (Docker-Mapping; intern immer 8080)
TOOLMESH_TRANSPORThttpTransport: http oder stdio
TOOLMESH_CORS_ORIGINS(leer)Erlaubte CORS-Origins
TOOLMESH_AUTH_PASSWORD(leer)Single-User-OAuth-Passwort
TOOLMESH_API_KEY(leer)Statischer API-Key
VariableStandardBeschreibung
AUDIT_STOREloglog (slog) oder sqlite
AUDIT_RETENTION_DAYS90Aufbewahrungsdauer für SQLite-Store
VariableStandardBeschreibung
OPENFGA_API_URLhttp://localhost:8080OpenFGA-API-Endpunkt. In Docker Compose http://openfga:8080 verwenden (in .env setzen).
OPENFGA_STORE_ID(leer)OpenFGA Store-ID (wird durch ./config/openfga/setup.sh gesetzt)
OPENFGA_MODEbypassbypass (keine AuthZ, nur Entwicklung) oder restrict (erzwungen, empfohlen für Produktion)
VariableStandardBeschreibung
TOOLMESH_MCP_TIMEOUT120HTTP-Client-Timeout für MCP-Backends (Sekunden)
TOOLMESH_EXEC_TIMEOUT120Tool-Ausführungs-Timeout (Sekunden)
VariableStandardBeschreibung
LOG_LEVELdebug / infoLog-Detailgrad
LOG_FORMATjsonjson oder text
DEBUG_BACKENDS(leer)Kommaseparierte Backend-Namen für Debug-Logging
DEBUG_FILE(leer)Pfad zur Debug-Log-Datei

Sicherheitshinweis: Debug-Logging kann vollständige Request/Response-Payloads einschließlich sensibler Daten erfassen. DEBUG_BACKENDS oder DEBUG_FILE niemals in Produktionsumgebungen aktivieren.

Credentials werden als Umgebungsvariablen mit CREDENTIAL_-Präfix gesetzt:

Terminal-Fenster
CREDENTIAL_GITHUB_TOKEN=ghp_xxxxx
CREDENTIAL_STRIPE_KEY=sk_live_xxxxx
CREDENTIAL_MEMORIZER_API_KEY=sk-mem-xxxxx

Definiert, mit welchen Backends sich ToolMesh verbindet:

backends:
# MCP-Backend
- name: memorizer
transport: http
url: "https://memorizer.example.com/mcp"
api_key_env: "MEMORIZER_API_KEY"
# REST-Backend via DADL
- name: github
transport: rest
dadl: /app/dadl/github.dadl
url: "https://api.github.com"

Tools werden automatisch mit einem Backend-Präfix exponiert (z.B. memorizer_retrieve_knowledge, github_list_repos).

Multi-User-Konfiguration für OAuth:

users:
- username: alice
password: "$2a$12$..."
company: acme
plan: pro
roles: [admin]

API-Key-Definitionen:

keys:
- key_hash: "$2a$12$..."
username: ci-bot
company: acme
plan: standard
roles: [read]
caller_id: github-actions

Ordnet Caller-IDs Vertrauensklassen zu:

classes:
trusted:
- claude-code
- claude-desktop
standard:
- partner-*
# Alles andere → "untrusted"