InfraOps MCP Server
InfraOps MCP Server gives Claude Code tools to inspect and mutate infrastructure, primarily Coolify and VPS, with optional provider integrations.
Manage Coolify projects, environments, applications, databases, services, servers, deployments, private keys, GitHub Apps, storages, scheduled tasks, and database backups.
Configure app/service env vars, domains, build packs, health checks, compose configs, Traefik labels, and resource lifecycle actions like start/stop/restart/deploy/cancel.
Diagnose and audit: fetch logs and deployment details, diagnose apps/servers, find unhealthy resources, audit against infra-brain standards, and search Coolify docs.
Operate VPS hosts: run shell commands, get health snapshots, read/write files, list Docker containers, tail logs, and view container resource stats, targeting prod or dev.
Optionally use Hetzner Cloud, Namecheap, Porkbun, Cloudflare, Supabase, and GitHub tools when their credentials are configured (README; not shown in this schema excerpt).
Provides 44 tools for managing Cloudflare services, including DNS, Pages, and other cloud resources.
Provides 4 tools for interacting with GitHub, enabling management of repositories and related resources.
Provides 26 tools for managing Hetzner Cloud resources such as servers, networks, and more.
Provides 19 tools for managing Namecheap domains and DNS settings.
Provides 28 tools for interacting with Supabase projects, managing databases, authentication, and other backend services.
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@InfraOps MCP Server list my Hetzner cloud servers"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
InfraOps MCP Server
A Model Context Protocol server that exposes infrastructure operations as callable tools for Claude Code. Runs locally over stdio — no HTTP server, no container, no remote deployment.
This is the "doer." For infrastructure standards and deployment patterns
see the infra-brain MCP. For application-level context see app-brain.
Providers
Provider | Prefix | Tools | Always on | Required env |
Coolify |
| 86 | ✅ |
|
VPS (SSH/orb) |
| 7 | ✅ | — (defaults route to the OVH prod VPS) |
Hetzner Cloud |
| 26 | ❌ |
|
Namecheap |
| 19 | ❌ |
|
Porkbun |
| 3 | ❌ |
|
Cloudflare |
| 44 | ❌ |
|
Supabase |
| 28 | ❌ |
|
GitHub |
| 4 | ❌ |
|
217 tools across 8 providers. Coolify and VPS register unconditionally; optional providers register only when their env vars are present at startup.
Coolify and VPS tools both accept an instance: "prod" | "dev" parameter
that routes between the OVH production VPS and a local OrbStack dev VM.
Tool implementations live in src/tools/ — schemas are defined inline via
Zod in each tool file.
Porkbun's three tools are a gateway to Porkbun's official MCP server
(@porkbunllc/mcp-server, pinned in package.json), which infraops starts as a
child process on the first Porkbun call. Because that package lives in
node_modules, run npm ci after any pull that changes package-lock.json; the
session-start hook does this for you.
Related MCP server: Coolify MCP Tools
Quickstart
npm ci
npm run build
npm test # vitestThe server is launched by Claude Code as a subprocess via start.sh, which
fetches secrets from Bitwarden Secrets Manager (BWS) and execs
node dist/index.js. To run it standalone (e.g. for debugging), invoke
start.sh from a shell that has BWS_ACCESS_TOKEN set.
Where to Look
Document | What's in it |
Architecture map, patterns, per-provider notes, private-repo deploy workflow, compose app config, secrets policy. The canonical "how this works" doc. | |
Local setup, dev workflow, CI/CD, provider configuration, secret management, | |
Deferred work with full context — threat models, tradeoffs, acceptance criteria — designed to be resumed cold in a future session. | |
Historical design doc for the v3.2.0 deploy-key / GitHub / compose work. Retained as context. Most items shipped; one remains open and is tracked in |
Versioning
Current version: 3.3.0 (see package.json). Minor bumps track
user-visible tool API surface changes (new tools, new parameters); patch
bumps track bug fixes. CI runs tsc as the type-check gate on every push
to main via .github/workflows/build.yml.
Available Tools
93 toolscoolify_application_logsGet Application LogsARead-onlyIdempotent
Retrieve recent logs for an application by its UUID. Returns an informational message (not an error) if the application is stopped. Requires: uuid (application UUID, not service UUID — use vps_docker_logs for compose services).
Inputs: uuid (required), lines, reveal, instance.
coolify_audit_standardsAudit Coolify Resources Against StandardsARead-onlyIdempotent
Scan all (or one) Coolify application and database against infra-brain standards (fetched from infra-brain's REST API; cached fallback). Returns proposals — each a deviation paired with a concrete remediation tool-call. Read-only: applies nothing.
Inputs: now, scope, reveal, instance, +1 more.
coolify_bulk_create_app_envsBulk Create/Update Application Environment VariablesAIdempotent
Create or update multiple environment variables at once via a single API call. Coolify upserts: existing keys are updated, new keys are created. Useful when setting up a new application with all its required env vars from BWS.
Inputs: uuid (required), instance (required), variables (required), reveal.
coolify_bulk_set_app_envSet Env Var Across Multiple ApplicationsAIdempotent
Upsert ONE environment variable (key/value) across many applications at once. Useful for rotating a shared secret. Returns a per-app success/failure summary; a failure on one app does not stop the others.
Inputs: key (required), value (required), instance (required), app_uuids (required), +3 more.
coolify_bulk_update_service_envsBulk Create/Update Service Environment VariablesAIdempotent
Create or update multiple environment variables at once for a Coolify service (docker-compose apps). Coolify upserts: existing keys are updated, new keys are created. Use for Flavor C apps (ContactHub, CRM, etc.) — NOT for single-container applications.
Inputs: uuid (required), instance (required), variables (required), reveal.
coolify_cancel_deploymentCancel DeploymentA
Cancel a running or queued deployment by its deployment UUID (not the application UUID).
Inputs: instance (required), deployment_uuid (required), reveal.
coolify_controlControl Coolify ResourceAIdempotent
Start, stop, or restart an application, database, or service. This is the universal control tool — use it for lifecycle management of any Coolify resource.
Inputs: uuid (required), action (required), instance (required), resource_type (required), +1 more.
coolify_create_app_envCreate Application Environment VariableA
Add a new environment variable to an application. Remember: per infra standards, secrets should originate from BWS — this tool sets them in Coolify.
Inputs: key (required), uuid (required), value (required), instance (required), +4 more.
coolify_create_application_deploykeyCreate Application — Private Repository (Deploy Key)A
Create an application from a private Git repository with a deploy key. You can deploy private repos with a deploy key. Requires a private key already stored in Coolify (via coolify_create_private_key) and the public key added to GitHub (via github_add_deploy_key).
Inputs: instance (required), server_uuid (required), project_uuid (required), git_repository (required), +10 more.
coolify_create_application_dockercomposeCreate Application — Docker Compose (Empty)B
Create a Docker Compose application without Git. You can deploy complex applications easily with Docker Compose by providing the raw compose file content directly. Note: Coolify marks this endpoint as deprecated in favor of /services, but it remains available in the UI.
Inputs: instance (required), server_uuid (required), project_uuid (required), docker_compose_raw (required), +6 more.
coolify_create_application_dockerfileCreate Application — DockerfileA
Create an application from a Dockerfile without Git. You can deploy a simple Dockerfile by providing its content directly.
Inputs: instance (required), dockerfile (required), server_uuid (required), project_uuid (required), +7 more.
coolify_create_application_dockerimageCreate Application — Docker ImageA
Create an application from any Docker registry without Git. This is the standard pattern for Devon's Flavor B/C apps: GitHub Actions builds → pushes to ghcr.io/alobarquest/ → Coolify pulls.
Inputs: instance (required), server_uuid (required), project_uuid (required), destination_uuid (required), +8 more.
coolify_create_application_githubappCreate Application — Private Repository (GitHub App)A
Create an application from a private Git repository using a GitHub App. You can deploy public and private repos through your GitHub Apps. Requires a GitHub App already configured in Coolify.
Inputs: instance (required), server_uuid (required), project_uuid (required), git_repository (required), +10 more.
coolify_create_application_publicCreate Application — Public RepositoryA
Create an application from a public Git repository. You can deploy any kind of public repo from supported Git providers. For Devon's Flavor A apps (Coolify source build).
Inputs: instance (required), server_uuid (required), project_uuid (required), git_repository (required), +9 more.
coolify_create_databaseCreate Coolify DatabaseA
Create a new database resource. For Devon's Flavor B apps, this is typically PostgreSQL 16 deployed on the same VPS. Supported types: postgresql, mysql, mariadb, mongodb, redis, keydb, clickhouse, dragonfly.
Inputs: type (required), instance (required), server_uuid (required), project_uuid (required), +8 more.
coolify_create_database_backupCreate Database Backup ScheduleB
Create a scheduled backup for a database. frequency is a cron expression (e.g. '0 2 * * *').
Inputs: instance (required), frequency (required), database_uuid (required), reveal, +9 more.
coolify_create_environmentCreate Project EnvironmentA
Create a new environment within a project (e.g. 'production', 'staging', 'preview').
Inputs: name (required), instance (required), project_uuid (required), reveal.
coolify_create_github_appCreate Coolify GitHub AppC
Register a GitHub App as a Coolify deployment source.
Inputs: name (required), app_id (required), api_url (required), html_url (required), +11 more.
coolify_create_private_keyCreate Coolify Private KeyA
Generate an Ed25519 SSH key pair and store it in Coolify. Returns the UUID and public key. The public key should be added to GitHub as a deploy key (via github_add_deploy_key) or to a server's authorized_keys. The private key is stored encrypted in Coolify.
Inputs: name (required), instance (required), reveal, description.
coolify_create_projectCreate Coolify ProjectA
Create a new project. After creation, add environments to it, then deploy applications/databases/services into those environments.
Inputs: name (required), instance (required), reveal, description.
coolify_create_scheduled_taskCreate Scheduled TaskA
Add a cron task to an application or service.
Inputs: name (required), uuid (required), command (required), instance (required), +5 more.
coolify_create_serviceCreate Coolify ServiceA
Create a new service from a Docker Compose definition or a one-click template. For Devon's Flavor C apps (like Contact Hub), supply the docker-compose.yml content.
Inputs: type (required), instance (required), server_uuid (required), project_uuid (required), +7 more.
coolify_create_service_envCreate Service Environment VariableA
Add a new environment variable to a Coolify service (Flavor C / docker-compose apps). Use this for multi-container compose services — NOT for single-container applications.
Inputs: key (required), uuid (required), value (required), instance (required), +4 more.
coolify_create_storageCreate StorageB
Add a persistent volume or bind mount to an application, database, or service.
Inputs: name (required), uuid (required), instance (required), resource (required), +3 more.
coolify_delete_app_envDelete Application Environment VariableBDestructiveIdempotent
Remove an environment variable from an application.
Inputs: uuid (required), env_uuid (required), instance (required), reveal.
coolify_delete_applicationDelete Coolify ApplicationADestructive
Permanently delete an application by UUID. This stops the app and removes all associated resources.
Inputs: uuid (required), instance (required), reveal, delete_volumes, +1 more.
coolify_delete_backup_executionDelete Backup ExecutionADestructive
Delete a single backup execution (and its stored file) by UUID.
Inputs: instance (required), backup_uuid (required), database_uuid (required), execution_uuid (required), +1 more.
coolify_delete_databaseDelete Coolify DatabaseADestructive
Delete a database resource. WARNING: This destroys the database and all its data.
Inputs: uuid (required), instance (required), reveal, delete_volumes.
coolify_delete_database_backupDelete Database Backup ScheduleADestructive
Delete a backup schedule by UUID. Does not delete already-stored backup files.
Inputs: instance (required), backup_uuid (required), database_uuid (required), reveal.
coolify_delete_environmentDelete Project EnvironmentADestructive
Delete an environment from a project. WARNING: All resources in this environment will be removed.
Inputs: instance (required), project_uuid (required), environment_name (required), reveal.
coolify_delete_github_appDelete Coolify GitHub AppBDestructive
Delete a GitHub-App integration by id.
Inputs: id (required), instance (required), reveal.
coolify_delete_private_keyDelete Coolify Private KeyADestructive
Delete an SSH private key from Coolify by UUID. Will fail with 422 if the key is still in use by an application or server.
Inputs: uuid (required), instance (required), reveal.
coolify_delete_projectDelete Coolify ProjectADestructive
Delete a project by UUID. WARNING: This will delete all environments and resources within the project.
Inputs: uuid (required), instance (required), reveal.
coolify_delete_scheduled_taskDelete Scheduled TaskCDestructive
Remove a scheduled task from an application or service.
Inputs: uuid (required), instance (required), resource (required), task_uuid (required), +1 more.
coolify_delete_serviceDelete Coolify ServiceADestructive
Delete a service. WARNING: Stops all containers and removes the service definition.
Inputs: uuid (required), instance (required), reveal.
coolify_delete_service_envDelete Service Environment VariableADestructiveIdempotent
Remove an environment variable from a Coolify service (docker-compose apps).
Inputs: uuid (required), env_uuid (required), instance (required), reveal.
coolify_delete_storageDelete StorageCDestructive
Remove a storage entry from an application, database, or service.
Inputs: uuid (required), instance (required), resource (required), storage_uuid (required), +1 more.
coolify_deployDeploy ApplicationA
Trigger a deployment for one or more applications. Can deploy by application UUID or by tag (tags let you deploy an entire group of apps at once). Returns the deployment UUID for tracking.
Inputs: instance (required), tag, uuid, force, +1 more.
coolify_diagnose_appDiagnose ApplicationARead-onlyIdempotent
Composite diagnostic for an application: fans out to fetch details, recent logs, env var count, and deployment history in parallel. Accepts UUID, app name, or FQDN/domain.
Inputs: query (required), reveal, instance, log_lines.
coolify_diagnose_serverDiagnose ServerARead-onlyIdempotent
Composite diagnostic for a server: fetches details, resources, domains, and runs a connectivity validation in parallel. Accepts UUID, name, or IP address.
Inputs: query (required), reveal, instance.
coolify_find_issuesFind Infrastructure IssuesARead-onlyIdempotent
Scan all servers, applications, databases, and services for unhealthy or unreachable resources. Returns a summary with counts and a detailed issues list.
Inputs: reveal, instance.
coolify_get_applicationGet Coolify ApplicationARead-onlyIdempotent
Get full details for a single application by UUID, including build config, health check settings, Git info, and deployment status. Webhook/basic-auth secrets are masked unless reveal:true.
Inputs: uuid (required), reveal, instance.
coolify_get_backup_executionGet Backup ExecutionARead-onlyIdempotent
Get a single backup execution by its UUID.
Inputs: backup_uuid (required), database_uuid (required), execution_uuid (required), reveal, +1 more.
coolify_get_databaseGet Coolify DatabaseARead-onlyIdempotent
Get full details for a database resource by UUID — connection info, status, configuration.
Inputs: uuid (required), reveal, instance.
coolify_get_database_backupGet Database Backup ScheduleBRead-onlyIdempotent
Get a single backup schedule by its UUID.
Inputs: backup_uuid (required), database_uuid (required), reveal, instance.
coolify_get_deploymentGet Deployment DetailsARead-onlyIdempotent
Get full details and logs for a specific deployment by its deployment UUID.
Inputs: deployment_uuid (required), reveal, instance.
coolify_get_github_appGet Coolify GitHub AppARead-onlyIdempotent
Get a single GitHub-App integration by its numeric id.
Inputs: id (required), reveal, instance.
coolify_get_projectGet Coolify ProjectARead-onlyIdempotent
Get full details for a single project by UUID, including its environments and the resources within them.
Inputs: uuid (required), reveal, instance.
coolify_get_serverGet Coolify ServerARead-onlyIdempotent
Get full details for a server by UUID — IP, settings, connectivity status, and validation logs.
Inputs: uuid (required), reveal, instance.
coolify_get_serviceGet Coolify ServiceARead-onlyIdempotent
Get full details for a service by UUID — includes compose config, status, and resource mapping. Webhook/basic-auth secrets are masked unless reveal:true.
Inputs: uuid (required), reveal, instance.
coolify_list_app_envsList Application Environment VariablesARead-onlyIdempotent
List all environment variables for an application. Values of secrets may be masked by Coolify.
Inputs: uuid (required), reveal, instance.
coolify_list_applicationsList Coolify ApplicationsARead-onlyIdempotent
List all applications across the Coolify instance. Returns a compact summary (uuid, name, status, fqdn, git) by default — pass summary:false for full objects.
Inputs: reveal, summary, instance.
coolify_list_backup_executionsList Backup ExecutionsARead-onlyIdempotent
List execution history (runs) for a backup schedule — status, size, filename, timestamps.
Inputs: backup_uuid (required), database_uuid (required), reveal, instance.
coolify_list_database_backupsList Database Backup SchedulesARead-onlyIdempotent
List configured backup schedules for a database. Returns frequency (cron), enabled state, S3 config, and retention.
Inputs: database_uuid (required), reveal, instance.
coolify_list_databasesList Coolify DatabasesARead-onlyIdempotent
List all database resources managed by Coolify. Returns a compact summary by default; pass summary:false for full objects.
Inputs: reveal, summary, instance.
coolify_list_deploymentsList Application DeploymentsARead-onlyIdempotent
List deployment history for a specific application. Returns status, commit, timestamps, and deployment UUIDs.
Inputs: uuid (required), reveal, instance.
coolify_list_environmentsList Project EnvironmentsARead-onlyIdempotent
List all environments within a project. Environments separate resources (e.g. production vs staging).
Inputs: project_uuid (required), reveal, instance.
coolify_list_github_app_branchesList GitHub App Repository BranchesBRead-onlyIdempotent
List branches for a repo the GitHub App can access.
Inputs: id (required), repo (required), owner (required), reveal, +1 more.
coolify_list_github_app_reposList GitHub App RepositoriesARead-onlyIdempotent
List repositories the GitHub App can access (name, full_name, default_branch, private).
Inputs: id (required), reveal, instance.
coolify_list_github_appsList Coolify GitHub AppsARead-onlyIdempotent
List GitHub-App source integrations configured in Coolify. Returns id, uuid, name, organization. Use coolify_get_github_app for full detail.
Inputs: reveal, summary, instance.
coolify_list_private_keysList Coolify Private KeysARead-onlyIdempotent
List all SSH private keys stored in Coolify. These are used for Git deploy key authentication and server SSH access. Returns UUID, name, description, and fingerprint for each key.
Inputs: reveal, instance.
coolify_list_projectsList Coolify ProjectsBRead-onlyIdempotent
List all projects in the Coolify instance. Projects are the top-level organisational unit — each contains environments which in turn contain applications, databases, and services.
Inputs: reveal, summary, instance.
coolify_list_scheduled_tasksList Scheduled TasksARead-onlyIdempotent
List all scheduled (cron) tasks for an application or service.
Inputs: uuid (required), resource (required), reveal, instance.
coolify_list_serversList Coolify ServersARead-onlyIdempotent
List all servers registered with Coolify. Returns name, IP, reachability status, and UUID for each. Compact summary by default; pass summary:false for full objects.
Inputs: reveal, summary, instance.
coolify_list_service_envsList Service Environment VariablesARead-onlyIdempotent
List all environment variables for a Coolify service (Flavor C / docker-compose apps). Use this for services deployed as docker-compose — NOT for single-container applications (use coolify_list_app_envs for those).
Inputs: uuid (required), reveal, instance.
coolify_list_servicesList Coolify ServicesARead-onlyIdempotent
List all services (Docker Compose workloads) managed by Coolify. Compact summary by default; pass summary:false for full objects.
Inputs: reveal, summary, instance.
coolify_list_storagesList StoragesARead-onlyIdempotent
List persistent volumes and bind mounts for an application, database, or service.
Inputs: uuid (required), resource (required), reveal, instance.
coolify_list_task_executionsList Scheduled Task ExecutionsARead-onlyIdempotent
Retrieve execution history for a scheduled task.
Inputs: uuid (required), resource (required), task_uuid (required), reveal, +1 more.
coolify_overviewCoolify Infrastructure OverviewARead-onlyIdempotent
Get a comprehensive snapshot of all servers, projects, applications, databases, and services. This is the best starting point when you need to understand the current state of the infrastructure.
Inputs: reveal, summary, instance.
coolify_reset_labelsReset Coolify Application LabelsAIdempotent
Clear custom_labels on an application so Coolify auto-generates Traefik labels from the current domain config. Use this after changing domains to fix stale routing rules. Optionally triggers a redeploy.
Inputs: uuid (required), instance (required), reveal, redeploy.
coolify_search_docsSearch Coolify DocumentationARead-onlyIdempotent
Search the official Coolify documentation and return the most relevant sections (title, url, description, snippet). Use for API/config/feature questions. No instance needed.
Inputs: query (required), limit, reveal.
coolify_server_domainsList Server DomainsARead-onlyIdempotent
Retrieve all domain-to-resource mappings configured on a server. Shows which apps are reachable at which FQDNs.
Inputs: uuid (required), reveal, instance.
coolify_server_resourcesList Server ResourcesARead-onlyIdempotent
List all applications, databases, and services deployed on a specific server. Great for getting a full inventory of what's running on your VPS.
Inputs: uuid (required), reveal, instance.
coolify_set_compose_configSet Docker Compose ConfigurationAIdempotent
Configure compose-specific fields for a dockercompose application: domain-to-service mapping, compose file location, and optionally clear stale custom_labels. This is required after creating a compose app to set up Traefik routing.
Inputs: uuid (required), instance (required), reveal, reset_labels, +2 more.
coolify_update_app_envUpdate Application Environment VariableAIdempotent
Update an existing environment variable on an application. Coolify matches the var by key name — key and value are both required.
Inputs: key (required), uuid (required), value (required), instance (required), +4 more.
coolify_update_applicationUpdate Coolify ApplicationAIdempotent
Update an application's configuration. Supports changing name, description, domains, Git settings, build pack, health check config, ports, and more. Only supply the fields you want to change.
Inputs: uuid (required), instance (required), name, reveal, +16 more.
coolify_update_databaseUpdate Coolify DatabaseAIdempotent
Update a database resource's configuration.
Inputs: uuid (required), instance (required), name, image, +4 more.
coolify_update_database_backupUpdate Database Backup ScheduleAIdempotent
Update fields of an existing backup schedule. Only supplied fields change.
Inputs: instance (required), backup_uuid (required), database_uuid (required), reveal, +10 more.
coolify_update_github_appUpdate Coolify GitHub AppCIdempotent
Update fields of a GitHub-App integration. Only supplied fields change.
Inputs: id (required), instance (required), name, app_id, +12 more.
coolify_update_projectUpdate Coolify ProjectBIdempotent
Update a project's name or description.
Inputs: uuid (required), instance (required), name, reveal, +1 more.
coolify_update_scheduled_taskUpdate Scheduled TaskBIdempotent
Update a scheduled task's command, frequency, or enabled state.
Inputs: uuid (required), instance (required), resource (required), task_uuid (required), +6 more.
coolify_update_serviceUpdate Coolify ServiceBIdempotent
Update a service's configuration.
Inputs: uuid (required), instance (required), name, reveal, +3 more.
coolify_update_service_envUpdate Service Environment VariableAIdempotent
Update an existing environment variable on a Coolify service (Flavor C / docker-compose apps). Coolify matches the var by key name. Use for multi-container compose services.
Inputs: key (required), uuid (required), value (required), instance (required), +4 more.
coolify_update_storageUpdate StorageBIdempotent
Update a storage entry (e.g. change mount path or host path).
Inputs: uuid (required), instance (required), resource (required), storage_uuid (required), +4 more.
coolify_validate_serverValidate Coolify ServerARead-onlyIdempotent
Test SSH connectivity and Docker prerequisites for a server. Use this to verify a server is properly connected before deploying resources.
Inputs: uuid (required), reveal, instance.
coolify_versionGet Coolify VersionARead-onlyIdempotent
Returns the Coolify instance version. Useful for verifying connectivity and API compatibility.
Inputs: reveal, instance.
vps_docker_logsGet Docker Container LogsARead-onlyIdempotent
Retrieve logs from a Docker container on the selected VPS. Targets Hetzner prod by default; pass instance='dev' for the OrbStack ubuntu machine.
Inputs: container (required), lines, since, reveal, +1 more.
vps_docker_psList Docker ContainersARead-onlyIdempotent
List running Docker containers on the selected VPS. Shows name, image, status, ports, and size. Targets Hetzner prod by default; pass instance='dev' for the OrbStack ubuntu machine (docker is invoked via sudo on dev).
Inputs: all, reveal, instance.
vps_docker_statsDocker Container Resource UsageARead-onlyIdempotent
Get current CPU, memory, network, and disk I/O usage for all running containers on the selected VPS. One-shot snapshot (not streaming). Targets Hetzner prod by default; pass instance='dev' for the OrbStack ubuntu machine.
Inputs: reveal, instance.
vps_execExecute VPS CommandA
Run a shell command on the selected VPS and return stdout, stderr, and exit code. Targets Hetzner prod by default; pass instance='dev' to run inside the OrbStack ubuntu machine. Use for any ad-hoc operation: checking processes, installing packages, inspecting logs, etc.
Inputs: command (required), reveal, timeout, instance.
vps_healthVPS Health CheckARead-onlyIdempotent
Get a comprehensive health snapshot of the selected VPS: uptime, CPU load, memory usage, disk usage, running Docker containers count, and top processes by CPU. Targets Hetzner prod by default; pass instance='dev' for the OrbStack ubuntu machine.
Inputs: reveal, instance.
vps_read_fileRead VPS FileARead-onlyIdempotent
Read the contents of a file on the selected VPS. Targets Hetzner prod by default; pass instance='dev' for the OrbStack ubuntu machine.
Inputs: path (required), reveal, instance.
vps_write_fileWrite VPS FileAIdempotent
Write content to a file on the selected VPS. Creates the file if it doesn't exist, overwrites if it does. Targets Hetzner prod by default; pass instance='dev' for the OrbStack ubuntu machine.
Inputs: path (required), content (required), reveal, instance.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
Loading tool schema changelog…
TDQS
Scored across 93 tools
Every tool has a clearly distinct purpose, with thorough descriptions that specify which resource type and action they target. Even similar-sounding tools (e.g., create vs bulk_create, app vs service env vars) are unambiguously differentiated by their naming and description details.
All tools follow a consistent `verb_noun` pattern, with a clear prefix indicating the subsystem (`coolify_` or `vps_`). There is no mixing of conventions or vague verbs, making the naming predictable and easy to understand.
With 93 tools, the server severely exceeds the recommended range for MCP servers (typically 3-15). Even for a broad domain like infrastructure ops, this extreme count will likely overwhelm agents and cause confusion, hindering efficient tool selection.
The tool surface covers the full lifecycle of Coolify resources (applications, databases, services, environments, projects, backups, env vars, scheduled tasks, storages, deployments, servers, GitHub apps, private keys) plus VPS operations (docker, file management, health checks). No obvious gaps are present for the stated purpose.
Related MCP Connectors
Your AI Agent's Infrastructure Layer. Connect Claude, Copilot, Codex, or ChatGPT to 200+ managed open source services. Start databases, pipelines, and applications through natural language.
Provides capabilities that let LLM agents perform a range of infrastructure management tasks.
One workspace of tools for Claude and ChatGPT: connect 600+ apps, generate media, build tools.
Backend for AI agents: one batched tool over ~668 actions (hosting, storage, auth, payments).
Related MCP Servers
- AlicenseBqualityDmaintenanceEnables AI assistants to interact with Coolify for complete infrastructure management including applications, databases, servers, deployments, and team operations. Provides 100% API coverage with 64 tools for managing the entire Coolify ecosystem through natural language.1811 npm6MIT
- AlicenseNot gradedqualityDmaintenanceEnables AI assistants to manage Coolify infrastructure including servers, applications, databases, deployments, and 80+ one-click services through 98 comprehensive tools for both cloud and self-hosted instances.MIT
- AlicenseBqualityDmaintenanceEnables conversational management of Hetzner Cloud, DNS, and Storage Box infrastructure through 137 MCP tools for CRUD operations and actions like server power control, DNS zone management, and storage box snapshots.100MIT
- AlicenseNot gradedqualityCmaintenanceEnables managing a self-hosted Coolify PaaS from Claude, Cursor, or any MCP client through 45 tools for deploying, rolling back, debugging, and operating applications, databases, services, projects, and environments in plain English. Destructive operations pause for human confirmation and secrets stay masked.4,835 npmMIT