Zum Inhalt springen

KI-Assistenten (MCP)

Arbeitest du ohnehin mit einem KI-Assistenten, kann der dir auch gleich die Umgebung einrichten: „Mach mir ein Laravel-Projekt mit MariaDB und Redis“, und eine Minute später läuft es. Dafür hat Envoryx unter /mcp einen MCP-Server (Streamable HTTP). Ein verbundener Assistent kann Projekte anlegen, duplizieren und umbenennen, starten und stoppen, Logs lesen, Aktionen ausführen und Datenbanken, Backups und Snapshots anlegen. Dabei laufen dieselben Prüfungen wie in der Weboberfläche, und alles landet im selben Audit-Log.

Leg unter Einstellungen → API-Tokens & MCP einen Token an. Wähl seinen Scope und beschränke ihn, wenn du magst, auf bestimmte Projekte. Die Seite zeigt dir danach eine Konfiguration, die du direkt in deinen Client einfügen kannst:

{
"mcpServers": {
"envoryx": {
"type": "http",
"url": "https://envoryx.test/mcp",
"headers": { "Authorization": "Bearer stq_…" }
}
}
}

Mit Claude Code ist es ein einziger Befehl:

Terminal-Fenster
claude mcp add --transport http envoryx https://envoryx.test/mcp --header "Authorization: Bearer stq_…"

Proxy und HTTPS noch nicht eingerichtet? Dann nimm http://<host>:8787/mcp. Der MCP-Endpunkt nimmt nur Bearer-Tokens; ein Sitzungs-Cookie aus deinem Browser zählt dort nicht.

Was ein Assistent aufrufen darf, hängt vom Scope des Tokens ab. Angeboten bekommt er nur die Werkzeuge, die sein Token aufrufen kann; der Assistent eines read-Tokens sieht create_project also gar nicht erst:

Werkzeug Scope
list_projects, get_project, list_runtimes read
get_logs, get_log_stats read
list_actions, list_databases, list_backups, list_snapshots read
list_branch_environments read
start_project, stop_project, restart_project operate
run_action (ein Eintrag aus dem Aktionskatalog) operate
create_database, create_backup, create_snapshot, add_domain operate
deploy_branch_environment operate
create_project, duplicate_project, rename_project, create_branch_environment admin

Etwas, das Daten vernichtet, findest du in dieser Liste nicht. Projekte löschen, Datenbanken verwerfen, Backups und Snapshots zurückspielen und über eine Datenbank klonen fehlen mit Absicht - ein Assistent, der dich falsch versteht, soll nichts plattmachen können. Das erledigst du in der Oberfläche.

Die drei Branch-Werkzeuge gehören zu den Branch-Umgebungen: Ein Assistent kann sie auflisten, eine für einen Branch des Repositorys anlegen und eine nach deinem Push pullen und deployen.

create_project nimmt PHP-Version und Erweiterungen, die Datenbank, Dienste (Redis, Memcached, Mailpit, RabbitMQ, Meilisearch, Typesense, OpenSearch, Ollama, Objektspeicher), ein Git-Repository oder ein Template und Umgebungsvariablen. Welche Versionen und Templates es gibt, erfährt der Assistent über list_runtimes. Für ein Projekt ohne PHP übergibt er phpVersion: "none" und die Runtime:

Runtime Felder Templates
Node.js nodeVersion, nodeDevServer, nodePreset, nodeScript, nodePort, nodePackageManager vite, next, nuxt
Python pythonVersion, pythonServer, pythonPreset, pythonApp, pythonPort, pythonMode django, flask, fastapi
Go goVersion, goServer, goPackage, goPort, goMode go, gin, echo
Ruby rubyVersion, rubyServer, rubyPreset, rubyPort, rubyMode rails, rails-api, sinatra

Ein Template schaltet den Server von selbst ein. In der Antwort erfährt der Assistent, was das Projekt ausliefert (serves: php, python, go, ruby, node oder static), und die URLs - so kann er dir am Ende gleich einen Link geben.

Ein paar Prompts, die gut funktionieren:

  • „Leg ein Laravel-Projekt namens test-api mit PHP 8.4, MariaDB und Redis an und führ dann composer install aus.“
  • „Leg ein FastAPI-Projekt namens inventory-api mit PostgreSQL an, ohne PHP, und führ dann pip install aus.“
  • „Leg ein Rails-Projekt namens blog auf PostgreSQL an, ohne PHP, und führ dann rails db:prepare aus.“