Skip to main content
Glama

vito-mcp

MCP server wrapping the full VitoDeploy REST API — manage projects, servers, sites, databases, services, workers, SSL, DNS, and more through any MCP-compatible agent.

108 tools covering every endpoint in the VitoDeploy OpenAPI spec.

Install

git clone https://github.com/xerxes-on/vito-mcp.git
cd vito-mcp
uv venv --python 3.11
uv pip install -e .

Related MCP server: Hetzner Cloud MCP Server — Cloud API + SSH management (60 tools)

Configure

Generate a Vito API token in your VitoDeploy panel: Settings → API Keys → Create.

Then register with your MCP client:

Claude Code

claude mcp add -s user vito \
  --env VITO_API_TOKEN=<your-token> \
  -- /path/to/vito-mcp/.venv/bin/python -m ufarm_vito.cli

To point at a different Vito panel:

  --env VITO_BASE_URL=https://your-vito.example.com

Codex

codex mcp add vito \
  --env VITO_API_TOKEN=<your-token> \
  -- /path/to/vito-mcp/.venv/bin/python -m ufarm_vito.cli

Cursor

{
  "mcpServers": {
    "vito": {
      "command": "/path/to/vito-mcp/.venv/bin/python",
      "args": ["-m", "ufarm_vito.cli"],
      "env": {
        "VITO_API_TOKEN": "<your-token>",
        "VITO_BASE_URL": "https://mindep.celion.io"
      }
    }
  }
}

Windsurf / Generic MCP Client

Add to your MCP config:

{
  "mcpServers": {
    "vito": {
      "command": "/path/to/vito-mcp/.venv/bin/python",
      "args": ["-m", "ufarm_vito.cli"],
      "env": {
        "VITO_API_TOKEN": "<your-token>"
      }
    }
  }
}

Environment Variables

Variable

Default

Description

VITO_API_TOKEN

(required)

Sanctum API token from VitoDeploy panel

VITO_BASE_URL

https://mindep.celion.io

VitoDeploy panel URL

VITO_TIMEOUT_SECONDS

30

HTTP request timeout

Tools

Projects & Servers

list_projects create_project get_project update_project delete_project list_servers create_server get_server delete_server reboot_server upgrade_server

Sites & Deployments

list_sites create_site get_site delete_site deploy_site update_site_aliases update_web_directory get_deployment_script update_deployment_script get_site_env update_site_env list_deployments create_deployment get_deployment

Services

list_services get_service uninstall_service start_service stop_service restart_service reload_service enable_service disable_service

Databases

list_databases create_database get_database delete_database list_database_users create_database_user get_database_user link_database_user delete_database_user

Workers (Supervisor)

list_workers create_worker get_worker delete_worker

Cron Jobs

list_cron_jobs create_cron_job get_cron_job delete_cron_job list_site_cron_jobs create_site_cron_job get_site_cron_job delete_site_cron_job

Firewall & SSL

list_firewall_rules create_firewall_rule get_firewall_rule delete_firewall_rule list_ssl_certificates create_ssl_certificate get_ssl_certificate delete_ssl_certificate

Workflows

list_workflows get_workflow delete_workflow list_workflow_runs run_workflow get_workflow_run get_workflow_run_logs

Domains & DNS

list_domains add_domain get_domain remove_domain get_available_domains list_dns_records create_dns_record get_dns_record update_dns_record delete_dns_record sync_dns_records list_dns_providers create_dns_provider get_dns_provider update_dns_provider delete_dns_provider

Providers (Server / Storage / Source Control)

list_server_providers create_server_provider get_server_provider update_server_provider delete_server_provider get_server_provider_regions get_server_provider_plans list_storage_providers create_storage_provider get_storage_provider update_storage_provider delete_storage_provider list_source_controls create_source_control get_source_control update_source_control delete_source_control

Convenience

Tool

Description

deploy_by_domain(domain)

Find a site by domain substring and trigger deploy. Case-insensitive: "calendar.dev" matches calendar.dev.example.com.

find_site_by_domain(domain)

Same lookup without deploying. Returns project_id, server_id, and site object.

restart_php_fpm_by_site(domain)

Find site → find PHP services on its server → restart them all. Ideal after deploys.

find_services_by_type(project_id, server_id, type)

Find services by type (php, nginx, redis, mysql, supervisor, etc.).

All tools return {"ok": true, "data": ...} on success or {"ok": false, "status_code": ..., "error": ...} on failure.

Quick test (no MCP client)

VITO_API_TOKEN=<token> uv run python -c "
import asyncio
from ufarm_vito.client import VitoClient
from ufarm_vito.settings import Settings

async def main():
    c = VitoClient(Settings())
    print(await c.list_projects())
    await c.aclose()

asyncio.run(main())
"

License

MIT

Related MCP Connectors

Related MCP Servers

  • F
    license
    Not graded
    quality
    D
    maintenance
    A unified MCP server with composable tools for GitHub operations, file management, shell execution, kanban boards, Discord messaging, and package management. Features role-based security, HTTP/stdio transports, and a web-based development UI.
    -
  • A
    license
    Not graded
    quality
    C
    maintenance
    Open-source MCP server for managing Hetzner Cloud infrastructure with two management layers: * Layer 1 — Hetzner Cloud API (35 tools): Server power control, metrics, snapshots, backups, firewalls, DNS zones and records, rescue mode, server rebuild and rescale. Works even when the server OS is unresponsive. * Layer 2 — SSH (25 tools): Service management (systemd), Nginx config and reload,
    MIT
  • A
    license
    A
    quality
    C
    maintenance
    A comprehensive MCP server for Dokploy that provides 14 action-based tools covering the full DevOps lifecycle with minimal token usage. It enables AI assistants to manage projects, applications, databases, domains, servers, and more through a unified interface.
    28
    54 npm
    2
    MIT