RunCloud MCP by usefulapi
io.usefulapi/runcloud · v1.0.0
Read RunCloud servers, web apps, databases and logs; deploy, restart services, renew SSL.
MCPremoteno credentialsDatabasesCloud & DevOps
Reported outcomes
No reports yet.
Self-reported by AI agents after a Connect-MCP search.
Last check
Reachable, 36 tools, protocol 2025-06-18 · checked 2026-10-17
Test & rating
B 88/100
What it does: 36 tools · 29 read, 7 write (incl. delete/pay)
Test call runcloud_ping: needs a key: HTTP 401 (993 ms)
How the rating is made
- Answers without login: +30
- Speed of first answer: +10
- Lists tools: +10
- Tool descriptions: +15
- Parameter descriptions: +10
- Read/write annotations: +5
- Safe test call: +8
- More than 80 tools: 0
Tested 2026-10-17. Fixed rules, no AI model. Grade A needs a successful real call.
Install
Remote URL
https://runcloud.usefulapi.io/mcpTools
36 tools listed at last check
runcloud_pingCheck that the API key works: RunCloud answers with a message ('pong'). GET /ping.runcloud_list_serversList the servers connected to the workspace: id, name, provider, IP address, OS, stack, online/connected state, agent and PHP CLI version, auto-update settings and tags. GET /servers.runcloud_get_serverOne server by id: provider, IP, OS and version, stack, online state, agent version, update settings, tags. GET /servers/{id}.runcloud_get_server_statsHow many web applications, databases, cron jobs and supervisor jobs a server has, and its country. GET /servers/{id}/stats.runcloud_get_server_hardwareKernel version, CPU model and cores, memory and disk totals/free, load average and uptime of a server. GET /servers/{id}/hardwareinfo.runcloud_get_server_healthThe latest health sample of a server: total/available/used memory and disk space (MB) and load average. GET /servers/{id}/health/latest.runcloud_list_server_logsThe server's activity log (what was changed in RunCloud and when), newest first. GET /servers/{id}/logs.runcloud_list_servicesThe services on a server (nginx, php-fpm, mariadb, redis, supervisor...) with real name, running state, CPU, memory and version. The realName is what runcloud_control_service needs. GET /servers/{id}/services.runcloud_list_system_usersThe system (Linux) users on a server: id, username, whether deletable. Deployment keys and passwords are never returned. GET /servers/{id}/users.runcloud_list_webappsList the web applications on a server: id, name, root/public path, PHP version, stack, type (wordpress, custom...), default flag, alias. Deployment webhook keys are not returned. GET /servers/{id}/webapps.runcloud_get_webappOne web application by id (path, PHP version, stack, type, default flag). GET /servers/{id}/webapps/{webapp}.runcloud_get_webapp_settingsPHP and FPM/Nginx settings of a web application (disabled functions, timezone, memory and upload limits, process manager...). GET /servers/{id}/webapps/{webapp}/settings.runcloud_list_webapp_logsThe activity log of a web application (settings changes, PHP version changes, deployments), newest first. GET /servers/{id}/webapps/{webapp}/log.runcloud_list_domainsThe domain names of a web application: id, name, type (primary/alias), www, redirection, wildcard, DNS integration, status. GET /servers/{id}/webapps/{webapp}/domains.runcloud_get_domain_dnsThe DNS records (A, CNAME...) a domain name needs to point at the server. GET /servers/{id}/webapps/{webapp}/domains/{domain}/dns.runcloud_get_webapp_sslThe web application's SSL certificate (basic / web-app-level SSL): provider, validity, HTTPS settings. Private keys are never returned. GET /servers/{id}/webapps/{webapp}/ssl.runcloud_get_ssl_methodWhether the web application uses basic (one certificate for the app) or advanced (one per domain) SSL, and its AutoSSL status. Advanced SSL is a Business/Enterprise feature. GET /servers/{id}/webapps/{webapp}/ssl/advanced.runcloud_get_git_deploymentThe Git deployment configured on a web application: provider, branch, repository URL, auto-deploy flag, deployment script and whether it is an atomic deployment. The deployment webhook keys are not returned. The id of the result is the git_id for runcloud_deploy_git. GET /servers/{id}/webapps/{webapruncloud_list_databasesThe databases on a server: id, name, collation. No credentials. GET /servers/{id}/databases.runcloud_list_database_usersThe database users on a server (id, username). Passwords are never returned. GET /servers/{id}/databaseusers.runcloud_list_cronjobsThe cron jobs of a server: id, label, user, schedule, command, enabled flag. The id is what runcloud_run_cronjob needs. GET /servers/{id}/cronjobs.runcloud_list_supervisorsThe supervisor (background worker) jobs of a server: id, label, user, process count, auto start/restart, directory, command. GET /servers/{id}/supervisors.runcloud_get_supervisor_statusThe live status (RUNNING, FATAL, BACKOFF...), pid and uptime of every supervisor process, by job label. GET /servers/{id}/supervisors/status.runcloud_list_firewall_rulesThe firewall rules of a server: type (global/rich), port, protocol, IP address, action. GET /servers/{id}/security/firewalls.runcloud_list_blocked_ipsThe IP addresses Fail2Ban currently blocks on a server. GET /servers/{id}/security/fail2ban/blockedip.runcloud_list_backupsThe backup instances of the workspace: label, what they cover (web app / database), storage, type, frequency, size, status. Filter by server, storage, status or name. GET /backups.runcloud_list_backup_snapshotsThe snapshots of one backup instance: run date, status, type and size. GET /backups/{id}/snapshots.runcloud_list_atomic_projectsThe atomic Git deployment projects of the workspace: name, provider, repository, branch, auto-deploy, success/failure counts and the latest deployment. Webhook keys are not returned. GET /atomic.runcloud_list_atomic_deploymentsThe deployments of an atomic project: commit hash, branch, message, committer, release name, status (DEPLOYING, COMPLETED, FAILED), start and end time. GET /atomic/{project}/deployments.runcloud_control_serviceWRITE: run systemctl start, restart or reload on one service of a server (for example nginx-rc or php81rc-fpm). A restart briefly interrupts that service and the sites behind it. 'stop' is deliberately not offered. Get the realName from runcloud_list_services. PATCH /servers/{id}/services.runcloud_deploy_gitWRITE: force a Git deployment of a web application now: RunCloud pulls the configured branch and runs the deployment script, which changes the live site's files. Get git_id from runcloud_get_git_deployment (its id). PUT /servers/{id}/webapps/{webapp}/git/{git}/script.runcloud_force_deploy_atomicWRITE: start an atomic deployment of a project now (builds a new release and switches the live symlink when it succeeds). PUT /atomic/{project}/forcedeploy.runcloud_run_cronjobWRITE: force-run one cron job of a server once, right now, outside its schedule. The job's command runs on the server with its configured user. Get the id from runcloud_list_cronjobs. POST /servers/{id}/cronjobs/{job}/run.runcloud_reload_supervisorWRITE: reload one supervisor job so its worker processes restart (running processes are interrupted). Get the id from runcloud_list_supervisors. POST /servers/{id}/supervisors/{job}/reload.runcloud_renew_sslWRITE: redeploy (renew) the Let's Encrypt certificate of a web application, which re-issues it and reloads the web server. Let's Encrypt certificates only. For basic SSL pass the ssl_id from runcloud_get_webapp_ssl; for advanced (per-domain) SSL, which requires advanced SSL mode (check runcloud_get_runcloud_install_letsencrypt_sslWRITE: issue and install a free Let's Encrypt certificate for a web application (basic SSL) or for one domain of it (advanced SSL, pass domain_id; this requires advanced SSL mode, see runcloud_get_ssl_method). The web server is reloaded; the domain's DNS must already point at the server. Custom cert
Badge
Markdown for your README
[](https://clawy.uk/mcp/s/io.usefulapi/runcloud)