59trust / 100

MCP

by redu.cloud in Developer tools

MCP serverPassing, checked 21 min ago

Agent-native cloud, EU-hosted. Provision VMs, networks & databases on redu.cloud via MCP.

https://mcp.redu.cloud/mcp
Tools
86
open to any client
Uptime
100%
last 30 days
Response time
291 ms
456 ms slowest 5%
Last check
Passed
21 min ago, next in 6 h

Scan it nowHow to connect

This listing's own text contains instructions aimed at AI agents (see the security scan below). We withhold that text from agents and never recommend this service.

Reliability

All checks passedSome failedAll failedNot checked

Status and outage history · Atom feed · Watch with other listings

How to connect

Add it to any MCP client that supports remote servers.

{
  "mcpServers": {
    "mcp-54": {
      "type": "http",
      "url": "https://mcp.redu.cloud/mcp"
    }
  }
}

86 tools

  • whoami

    Verifies your redu.cloud credential with a REAL server round-trip and returns your identity + live quota. A green result means the key actually works - not merely that one is configured. Use this first if anything is 401ing.

  • check_deploy_prerequisites

    The deploy ENTRY GATE - run this first when a user wants to deploy. Verifies the account is ready and AUTO-SELECTS the network_id + keypair_name to pass to deploy_app (so you never hunt for them): (1) account reachable + quota, (2) a private network (picks your default - every…

  • deploy_overview

    Orientation for deploying an app on redu.cloud: the end-to-end flow, the two source modes (git vs upload), how to handle a missing Dockerfile or a database, when (and when NOT) to split a deploy across multiple VMs, verifying a deploy functionally, and how to debug a failed…

  • create_api_key

    Mints a NEW least-privilege redu API key for a deployed app or automation to use (e.g. to add a backup feature). GUARDRAIL: the first call does NOT create anything. It returns a confirmation the user must approve, because a key is a long-lived credential that acts on the account…

  • list_api_keys

    Lists the account's API keys: id, name, scopes, when each was created and last used, and when it expires. Never the secret (redu keeps only a hash). Use it to find a key to delete with delete_api_key, or to check what keys exist before minting another.

  • delete_api_key

    Deletes one of the account's API keys, by id or by name. Anything that uses the key stops working at once, so the first call deletes nothing: it shows the key (name, scopes, last used) for the user to approve; call again with confirm:true only after their yes. Use it to clean up…

  • integrate_overview

    Orientation for wiring a redu.cloud capability (backups, DNS, extra storage, a managed DB, ...) INTO an app already deployed on redu, e.g. 'add a backup feature to the Supabase I deployed on redu'. Explains the pattern: mint a LEAST-PRIVILEGE scoped API key (with the user's…

  • prepare_upload

    Returns the LOCAL shell commands to package your working directory and upload it for an upload-mode deploy (no git, no PAT). Run them in the user's terminal, capture `source_token` from the upload's JSON response, then call deploy_app with that source_token (omit repo). The…

  • scaffold_local

    OPTIONAL preflight: returns a podman-compose.yml + .env so the user can run the app (and a throwaway local Postgres) on THEIR machine before deploying to redu - to see it run / sanity-check the container. Requires local podman/podman-compose. It's a suggestion, not a gate - skip…

  • plan_instance

    Aggregates images/flavors/keypairs/networks/security groups into human-friendly choices. Does not create anything. Happy path: import_keypair → plan_instance → create_instance → get_ssh_command. Call this second (after import_keypair, if you have no keypairs).

  • plan_managed_datastore

    Plans a direct managed datastore create without provisioning anything. Use this before create_database, create_relational_database, create_redis, create_clickhouse or create_qdrant (engine 'qdrant', the vector database). For app deployments you need none of these: datastores are…

  • select_surface

    For a repo with SEVERAL runnable parts, call this BEFORE plan_deploy. You enumerate the candidate surfaces (find every Dockerfile/Containerfile, OPEN each, classify by its EXPOSE + CMD - never by directory name) and pass them in; redu RANKS them with fixed rules (a standalone…

  • plan_deploy

    Turns YOUR repo classification (you scan the repo and pass what you found) into a complete, approvable deploy plan WITHOUT creating anything. ⚡ REDU NEEDS THREE FILES IF THEY EXIST - redu.md, the compose file, the Dockerfile - and there are two ways to give them. ⭐ BEST, for an…

  • list_instances

    Lists your compute instances.

  • list_flavors

    Lists available instance sizes.

  • list_images

    Lists available OS images.

  • list_keypairs

    Lists your SSH keypairs. If empty, call import_keypair first before creating instances.

  • list_security_groups

    Lists your security groups.

  • list_private_networks

    Lists your private networks.

  • list_volumes

    Lists your block storage volumes.

  • list_snapshots

    Lists your instance snapshots.

  • list_backups

    Lists your volume backups.

  • list_clusters

    Lists your autoscaling clusters.

  • list_dns_entries

    Lists DNS proxy host entries.

  • list_domains

    Lists custom domains you have verified ownership of.

  • list_regions

    Lists available regions.

  • list_databases

    Lists your managed PostgreSQL databases. Once a row's status is 'ready', it carries the private-network connection details (private_ip, port 5432, db_name, db_user).

  • list_relational_databases

    Lists your managed MySQL/MariaDB databases (the relational-database resource). Each row carries its engine ('mysql'|'mariadb'); once status is 'ready' it has the private-network connection details (private_ip, port 3306, db_name, db_user).

  • list_media_spaces

    Lists Redu media spaces: private NFS media VMs backed by persistent volumes. For WordPress/WooCommerce clusters, reuse one on the app's private network for wp-content/uploads, or pass create_media_space:true to deploy_app/deploy_compose/upgrade_to_cluster so Redu creates one.

  • list_clickhouse_databases

    Lists your managed ClickHouse databases (OLAP / analytics - its own resource, not a relational DB). Once a row's status is 'ready' it carries the private-network connection details (private_ip, ClickHouse HTTP port 8123, db_name, db_user).

  • list_redis

    Lists your managed Redis instances. Once a row's status is 'ready' it carries the private-network connection details (private_ip, port 6379) - connect from another instance on the same private network with redis-cli -h <private_ip> -p 6379 -a <password>.

  • list_qdrant

    Lists your managed Qdrant vector databases (create_qdrant, or started for a deploy). Once a row's status is 'ready' it carries private_ip (REST port 6333, gRPC 6334); the API key is never listed.

  • create_media_space

    Creates a private Redu media space: a small NFS VM backed by a persistent volume, intended for WordPress/WooCommerce wp-content/uploads in autoscaling clusters. Prefer letting deploy_app/deploy_compose create this by passing create_media_space:true after plan_deploy approval…

  • upgrade_to_cluster

    THE WAY TO MAKE AN EXISTING APP HIGHLY AVAILABLE. If the user asks for high availability, redundancy, no single point of failure, surviving a host or VM failure, or 'stay up if a machine dies', this is the tool: point it at their running VM and pass high_availability:true. It…

  • update_cluster

    Updates a running autoscaling cluster to a new app version IN PLACE, with NO URL change: snapshots the 'hero' VM (the source/master VM you SSH into and change - it is also the always-on baseline member that serves traffic), then redu rolling-updates the autoscaled extra members…

  • set_cluster_domain

    Changes the PUBLIC HOSTNAME a cluster serves on, so the user can put THEIR OWN production domain (shop.acme.com, app.theircompany.com) in front of it instead of the auto-generated redu.cloud URL. That is what this tool is for: a real product on a real brand. The cluster itself…

  • delete_cluster

    Deletes an autoscaling cluster - tears down the WHOLE cluster: every autoscaled EXTRA member VM, the load balancer, the pool, the cluster security group, and the cluster's *.redu.cloud proxy host. Your SOURCE (hero) VM is NOT part of the stack and is NOT deleted - it was the…

  • import_keypair

    Registers an existing SSH public key on your account. Use this to import your own public key so you can SSH into instances. The private key never leaves your machine.

  • delete_keypair

    Removes an SSH keypair from your account by name.

  • get_ssh_command

    Returns the SSH command to connect to an instance via the redu.cloud TCP proxy. ACCEPTS an instance id, a deployment's id / name / instance_id, OR a MANAGED DATASTORE's id / name / instance_id (Postgres, MySQL/MariaDB, ClickHouse, Redis) - it resolves all of them, so you do not…

Security scan

6 findings

  • Mentions credentials or secret files in tool:prepare_upload
    Excludes node_modules/.git/.venv/build output and .env by default; honors .gitignore when is_git_repo=true.
  • Unusually long description in tool:plan_deploy
    plan_deploy (plan deploy) Turns YOUR repo classification (you scan the repo and …
  • Unusually long description in tool:upgrade_to_cluster
    upgrade_to_cluster (upgrade to cluster) THE WAY TO MAKE AN EXISTING APP HIGHLY A…
  • Mentions credentials or secret files in tool:get_ssh_command
    et_deployment - so the command uses `-i ~/.ssh/<keypair_name>` and authenticates with the RIGHT key instead of your default identity (withou
  • Mentions credentials or secret files in tool:get_ssh_command#/inputSchema/properties/keypair_name/description
    y VM). When given, the command uses `-i ~/.ssh/<keypair_name>` so it authenticates with the right key.
  • Mentions credentials or secret files in tool:get_env_keys
    in the env files on the VM (/opt/app-src/.env and friends), never the values. Most of the time the real question is 'did DATABASE_URL get wi

Recent checks

WhenResultHTTPTime
21 min agoPassed200268 ms
11 h agoPassed200248 ms
22 h agoPassed200282 ms
32 h agoPassed200326 ms
43 h agoPassed200332 ms
Show 10 older checks
2 days agoPassed200275 ms
3 days agoPassed200285 ms
3 days agoPassed200223 ms
3 days agoPassed200323 ms
4 days agoPassed200204 ms
4 days agoPassed200386 ms
5 days agoPassed200326 ms
5 days agoPassed200456 ms
5 days agoPassed200287 ms
6 days agoPassed200291 ms