Skip to main content
Glama

Server Details

Manage your own cloud with AI: deploy apps, push and ship custom Docker images, manage resources via your AI agent.

If you are the author of this connector, you can claim ownership by verifying the domain or GitHub account it belongs to. Claimed connector authors can inspect health checks, view analytics, and manage their listing.
Status
Healthy
Uptime
100.0% over the last 24 hours
Last Tested
Transport
Streamable HTTP · MCP 2025-03-26
URL
ChatGPT
–
Claude
–

TDQS

B3.2/5.0

Scored across 31 tools

Disambiguation4/5

Most tools target a distinct resource+action, and the descriptions explicitly cross-reference each other to separate near-neighbors (e.g. get_app vs get_app_details vs get_app_definition, start_app vs kill_app). The only residual overlap is the status surface: check_app_status vs the status field returned by get_app vs get_territory_status, plus create_app vs create_custom_app, but descriptions disambiguate these adequately.

Naming Consistency4/5

Nearly all 31 tools follow a clean snake_case verb_noun pattern (list_apps, create_territory, get_app_logs, delete_territory). The one wrinkle is verb choice for equivalent operations across resources: check_app_status but get_territory_status, and kill_app alongside stop_app/delete_territory — readable, but not perfectly uniform.

Tool Count3/5

31 tools is on the heavy side for what is essentially an app-hosting CRUD surface. The domain is genuinely broad (territories, apps, definitions, backups, storage, billing, registry), so most tools earn a place, but the set is nearing bloat and could be consolidated (e.g. the four app-read tools).

Completeness3/5

Territories have full lifecycle (create/get/list/rename/delete) and apps have deploy/start/stop/kill/logs/link/auth. However, there is no delete_app or update_app, no delete/resize for storage volumes, and no way to remove scheduled backup tasks or stored backups — dead ends an agent will hit in cleanup workflows.

Publisher details

Operator
Citadel Hosts, Limited Liability Company
Operator website
https://citadelhosts.com
Vendor relationship
First-party
Trust center
Unknown
Restrictions
Unknown

Available Tools

31 tools
check_app_statusAInspect

Check the managed status of an application. Returns a PascalCase string: Queued (waiting for a worker, nothing deployed yet), Created (deployed on a worker, containers waiting to be started), Running (up and serving), Stopped (intentionally stopped; restart with start_app), Deleted (terminal, torn down), or Unknown (worker could not confirm the state; check get_app_logs then restart). Poll Queued/Created until Running or a terminal state.

Inputs: managed_app_id (required). Returns: status

create_appBInspect

Deploy a managed application onto a territory. application_id is a catalog id (list_available_apps) or a custom definition id (create_custom_app). Omit advanced arrays unless needed.

Inputs: territory_id (required), application_id (required), mount_points, deploy_settings, +1 more.

create_backup_taskCInspect

Schedule automatic backups for an app.

Inputs: app_id (required), frequency (required), keep_last (required).

create_custom_appAInspect

Register a custom application definition from the user's own Docker images (and/or public images) so it can be deployed with create_app. Push images first: get_registry_credentials, then tag/push as /:, and verify with list_custom_images. Container 'image' is 'repo:tag' when is_custom is true (an image in the user's registry, the default), or a fully-qualified public image including its registry domain, like 'docker.io/library/postgres:16', when is_custom is false. Publish exactly one port on the container that serves traffic; volumes persist data at container_path; env_vars function defaults to TEXT for literal values.

Inputs: name (required), containers (required), description.

create_storage_volumeCInspect

Create a standalone storage volume. size_limit uses the same units as the web dashboard (GB).

Inputs: name (required), size_limit (required), ssd_or_hdd (required).

create_territoryAInspect

Create a new territory. Index selects the tier: 1 = Outpost (1 CPU, 0.5 GB RAM, 5 GB disk), 2 = Scout (1 CPU, 1 GB RAM, 10 GB disk), 3 = Watchtower (2 CPU, 2 GB RAM, 20 GB disk), 4 = Bastion (4 CPU, 4 GB RAM, 40 GB disk), 5 = Keep (8 CPU, 8 GB RAM, 80 GB disk), 6 = Stronghold (16 CPU, 16 GB RAM, 160 GB disk), 7 = Citadel (32 CPU, 32 GB RAM, 320 GB disk). Starts billing.

Inputs: index (required).

delete_territoryBInspect

Delete a territory and stop billing for it. Destructive.

Inputs: territory_id (required).

get_appAInspect

Get the full application record by id: status, territory_id, container instances (image, ports, volumes, env vars, router targets) and mount points. Its 'status' uses the same PascalCase values as check_app_status (Queued, Created, Running, Stopped, Deleted, Unknown). For resource usage instead, use get_app_details.

Inputs: managed_app_id (required).

get_app_definitionAInspect

Get an application definition (containers, ports, volumes, env vars) by id. Catalog definitions are shared; custom definitions are visible only to the user who created them (404 otherwise).

Inputs: id (required).

get_app_detailsAInspect

Get a usage summary for a managed application: app name, auth flag, aggregated CPU and memory usage, and storage used per container and per volume. For the full record with ports, env vars and router targets, use get_app.

Inputs: managed_app_id (required).

get_app_logsAInspect

Capture recent container log lines for an app. Samples ~4 seconds of logs. container_select is a managed_container_id (see get_app_details); omit it to use the app's first container.

Inputs: managed_app_id (required), container_select.

get_billing_balanceAInspect

Get the user's credit wallet balance (cents USD).

Inputs: no named parameters.

get_payment_statusBInspect

Check whether the user has a payment method on file.

Inputs: no named parameters.

get_registry_credentialsAInspect

Get Docker registry login credentials and step-by-step instructions for pushing custom images. The password is the caller's own API token (read_write keys only); it works with docker/podman/skopeo login and in CI. Images pushed as /: are automatically scoped to this account; reference them in create_custom_app as ':' with is_custom true.

Inputs: no named parameters.

get_territory_statusAInspect

Get the status of one territory. Returns a PascalCase string: Queued (being provisioned, cannot host apps yet), Active (ready to host apps), or Deleted (terminal, billing stopped).

Inputs: territory_id (required). Returns: status

kill_appCInspect

Forcefully kill a running managed application.

Inputs: managed_app_id (required).

list_appsBInspect

List all managed applications across the user's territories. Each entry's 'status' uses the PascalCase values documented on check_app_status.

Inputs: no named parameters.

list_available_appsBInspect

List the application catalog available to deploy.

Inputs: no named parameters.

list_backupsBInspect

List stored backups, optionally filtered by app id.

Inputs: app_id.

list_backup_tasksBInspect

List scheduled backup tasks, optionally filtered by app id.

Inputs: app_id.

list_custom_imagesAInspect

List the Docker images pushed to the user's CitadelHosts registry (name, tag, size bytes). Verify pushes here before referencing images in create_custom_app.

Inputs: no named parameters.

list_jobsBInspect

List the user's queued/active/failed background jobs.

Inputs: no named parameters.

list_managed_volumesCInspect

List volumes attached to a managed application.

Inputs: managed_app_id (required).

list_storage_volumesAInspect

List the user's standalone storage volumes with size limits and usage.

Inputs: no named parameters.

list_territoriesAInspect

List the user's territories (resource containers that hold apps) with limits, status and pricing.

Inputs: no named parameters.

rename_territoryCInspect

Rename a territory.

Inputs: name (required), territory_id (required).

restore_backupBInspect

Restore a backup over the app's current volume data. Destructive.

Inputs: backup_id (required).

start_appCInspect

Start a stopped managed application.

Inputs: managed_app_id (required).

stop_appCInspect

Gracefully stop a running managed application.

Inputs: managed_app_id (required).

toggle_app_authCInspect

Toggle whether the proxy requires login to reach the app.

Inputs: managed_app_id (required).

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

Loading tool schema changelog…

    Related MCP Connectors

    Related MCP Servers

    • F
      license
      Not graded
      quality
      D
      maintenance
      Agentic cloud platform with 45+ MCP tools. Deploy any containerized stack, debug live pods (shell, file editing, DB queries), manage custom domains & TLS, push to built-in container registry, scale pods, and manage GPU workloads. The infrastructure layer where AI agents ship software to production.
      9
      -
    • A
      license
      Not graded
      quality
      B
      maintenance
      Enables AI agents to deploy and operate self-hosted applications on Linux servers and homelabs through Docker Compose, including zero-config buildpack builds, encrypted secret storage, one-second PostgreSQL/Redis provisioning, and one-call exposure via Cloudflare Tunnel or Tailscale. It also provides container lifecycle and log management plus an optional lightweight web dashboard, all without a persistent daemon.
      MIT
    Try in Browser

    Glama MCP Gateway

    Add one secure layer between your agents and this server.

    Resources