Skip to content

AI assistants (MCP)

If you work with an AI assistant anyway, it can just as well set up the environment for you: “make me a Laravel project with MariaDB and Redis” and a minute later it runs. Envoryx has an MCP server for that at /mcp (streamable HTTP). A connected assistant can create, duplicate and rename projects, start and stop them, read logs, run actions and create databases, backups and snapshots. It goes through the same checks and ends up in the same audit log as everything you do in the web UI.

Create a token under Settings → API tokens & MCP. Pick its scope and, if you like, limit it to particular projects. The page then shows you a configuration you can paste straight into your client:

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

With Claude Code it’s one command:

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

No proxy or HTTPS set up yet? Then use http://<host>:8787/mcp. The MCP endpoint only takes bearer tokens; a session cookie from your browser doesn’t count there.

What an assistant may call depends on the token’s scope. It’s only offered the tools its token can call, so a read token’s assistant doesn’t even see create_project:

Tool 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 (an entry of the action catalogue) operate
create_database, create_backup, create_snapshot, add_domain operate
deploy_branch_environment operate
create_project, duplicate_project, rename_project, create_branch_environment admin

You won’t find anything that destroys data in that list. Deleting projects, dropping databases, restoring backups and snapshots and cloning over a database are left out on purpose - an assistant that misunderstands you shouldn’t be able to wipe anything. Do those in the UI.

The three branch tools are about branch environments: an assistant can list them, create one for a branch of the repository, and pull and deploy one after you pushed.

create_project takes the PHP version and extensions, the database, services (Redis, Memcached, Mailpit, RabbitMQ, Meilisearch, Typesense, OpenSearch, Ollama, object storage), a git repository or a template, and environment variables. The assistant finds out which versions and templates exist with list_runtimes. For a project without PHP it passes phpVersion: "none" and the runtime:

Runtime Fields 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

A template switches the server on by itself. The answer tells the assistant what the project serves (serves: php, python, go, ruby, node or static) and its URLs, so it can hand you a link at the end.

A few prompts that work well:

  • “Create a Laravel project called test-api with PHP 8.4, MariaDB and Redis, then run composer install.”
  • “Create a FastAPI project called inventory-api with PostgreSQL, no PHP, then run pip install.”
  • “Create a Rails project called blog on PostgreSQL, no PHP, then run rails db:prepare.”