PaaSMCP
Manages Cloudflare Tunnel ingress rules, proxied CNAME DNS records, and Cloudflare Zero Trust Access policies to expose deployed apps publicly or behind email OTP authentication.
Orchestrates Docker Compose stacks on the host, including building app images, starting/stopping/restarting containers, reading logs, and running deployed app containers.
Clones and updates GitHub repositories, retrieves SSH Ed25519 deploy keys, and can auto-register deploy keys on GitHub repositories via the GitHub API.
Syncs deployed applications with a Homepage dashboard for service discovery.
Provisions isolated PostgreSQL databases for apps and injects the resulting DATABASE_URL into the app's encrypted vault.
Provisions Redis logical instances for apps and injects the resulting REDIS_URL into the app's encrypted vault.
Exposes apps privately on a Tailscale tailnet using Tailscale Serve.
This server does not currently have a deployable release on Glama. Follow the repository's setup instructions to install and configure it for your MCP client, including any required credentials and local dependencies.
🚀 PaaSMCP — Agent-First Micro-PaaS & MCP Server
Turn any Linux server or Homelab into a Render / Railway experience operated directly by AI Agents via MCP (Model Context Protocol) or CLI — with zero idle RAM overhead.
🇧🇷 Leia a Documentação Completa em Português aqui (docs/PT-BR.md)
💡 Why PaaSMCP?
Self-hosted PaaS dashboards like Coolify, Dokploy, and CapRover are great for manual clicking, but they:
Consume 300MB–1GB+ of RAM continuously just to run their web control planes and internal databases.
Require manual multi-step setup for SSH deploy keys, database bindings, and Cloudflare Tunnel / Zero Trust rules.
Were not designed from day one to be operated by AI Agents via MCP.
PaaSMCP takes a radically lightweight, Agent-First approach:
0 MB Idle Daemon Overhead: Runs on-demand via MCP stdio or CLI, orchestrating native Docker Compose stacks directly on your host.
AES-256-GCM Encrypted Secrets Vault: Secrets are encrypted at rest (
/opt/homelab/paasmcp/vault/<app>.enc.json) with a0600master key. Values are masked in MCP outputs (sk_l****def) and can be ingested directly from files so sensitive keys never pass through LLM chat histories.Instant Multi-Tenant Databases: Provision isolated PostgreSQL 16 databases (
db_<app>+user_<app>) or Redis 7 logical instances in 1 second, automatically injectingDATABASE_URLandREDIS_URLinto the app's encrypted vault.Zero-Config Buildpacks: Automatically builds repositories with a custom
Dockerfileor generates optimized multi-stage Dockerfiles for Node.js, Next.js, Vite/React/Astro SPAs, Python (FastAPI/Flask/Django), Go, and Static HTML.Built-in Web Control Plane (
paasmcp-dashboard): Optional ultra-lightweight dark-mode web dashboard (protected byDASHBOARD_TOKEN+ Cloudflare Zero Trust Access) that can be hosted on its own subdomain (paas.example.com) to visually deploy apps, inspect logs, manage encrypted Vault secrets, and provision databases.1-Call Secure Internet Exposure: Automatically updates Cloudflare Tunnel (
cloudflared) ingress rules, creates proxied CNAME DNS records, attaches Cloudflare Zero Trust Access (Email OTP) policies, or exposes privately on your Tailscale Tailnet (Tailscale Serve).
Related MCP server: ssh-alias-mcp
🏗️ Architecture
flowchart LR
Agent["AI Agent (T3 Code / Claude / Cursor)"] <-->|Stdio JSON-RPC| MCP["PaaSMCP MCP Server & CLI"]
subgraph Server ["Self-Hosted Linux Server / Homelab"]
MCP --> Vault["AES-256-GCM Vault (.enc.json)"]
MCP --> SSH["SSH Ed25519 Deploy Keys"]
MCP --> Builder["Zero-Config Buildpack Engine"]
subgraph Docker ["Docker Engine (homelab-network)"]
PG[("Shared PostgreSQL 16\n127.0.0.1:5432")]
RD[("Shared Redis 7\n127.0.0.1:6379")]
App1["App Container 1\n127.0.0.1:4000"]
App2["App Container 2\n127.0.0.1:4001"]
CF["cloudflared-tunnel"]
end
end
SSH -->|Clone Private Repo| GitHub["GitHub Repositories"]
App1 --> PG
App1 --> RD
CF <-->|QUIC Outbound Tunnel| Cloudflare["Cloudflare Edge + Zero Trust Access"]⚡ Quick Installation
Requirements
Linux (Ubuntu/Debian/Fedora/Arch)
Docker Engine & Docker Compose plugin (
docker compose)Node.js
>= 20.0.0&git
1-Command Setup
git clone <repository-url>
cd paasmcp
./scripts/install.sh🔌 MCP Server Configuration
Add paasmcp to your MCP client configuration (claude_desktop_config.json, Cursor, T3 Code, Windsurf, etc.):
{
"mcpServers": {
"paasmcp": {
"command": "node",
"args": ["/path/to/paasmcp/dist/mcp-server.js"]
}
}
}Available MCP Tools (12 Tools)
Tool | Description |
| Returns server hardware stats (CPU/RAM/Disk), SSH public deploy key, masked system tokens, databases, and apps. |
| Initializes |
| Starts the built-in Web Control Plane Dashboard ( |
| Configures Cloudflare |
| Retrieves the SSH Ed25519 public deploy key or auto-registers it on a GitHub repository via API. |
| Encrypts and stores secrets in AES-256-GCM Vault (from key-values, |
| Lists secret keys for an app or |
| Deletes a secret key from the encrypted vault. |
| Creates an isolated PostgreSQL or Redis database and binds |
| Clones/updates a GitHub repo or local folder, builds image, injects secrets + DB, starts container, and syncs Homepage. |
| Exposes an app via Cloudflare Tunnel ( |
| Reads container |
💻 CLI Reference
# Initialize PaaSMCP and start shared Postgres & Redis clusters
paasmcp init --postgres --redis
# Configure Cloudflare Tunnel & Domain settings
paasmcp config --account-id <CF_ACCOUNT_ID> --tunnel-id <CF_TUNNEL_ID> --domain example.com --zero-trust-emails you@example.com
# Store platform tokens in the encrypted 'system' vault
paasmcp secret set system CF_API_TOKEN=your_cf_token GITHUB_TOKEN=your_gh_token
# Register SSH Deploy Key on a private GitHub repository
paasmcp github-key owner/my-private-saas
# Deploy an app from GitHub with automatic PostgreSQL provisioning
paasmcp deploy my-saas owner/my-private-saas --branch main --postgres
# Expose on https://my-saas.example.com (public or zero-trust)
paasmcp expose my-saas public my-saas
# View logs or manage container lifecycle
paasmcp logs my-saas
paasmcp restart my-saas📚 Additional Documentation
📄 License
Released under the MIT License.
This server cannot be deployed
Maintenance
Related MCP Connectors
Deploy and manage your apps, databases, storage, and scheduled jobs from your AI agent
Manage your own cloud with AI: deploy apps, push and ship custom Docker images, manage resources via your AI agent.
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.
Deploy local apps, add managed Postgres, and inspect logs from your AI coding agent.
Related MCP Servers
- AlicenseBqualityBmaintenanceEnables AI assistants to manage homelab infrastructure through automated service installation (Jellyfin, Pi-hole, Ollama, Home Assistant, Frigate NVR), VM operations, AI accelerator support (MemryX, Coral TPU, Hailo-8), and Terraform state management with SSH-based discovery and deployment.585MIT
- AlicenseNot gradedqualityDmaintenanceEnables AI agents to SSH into Linux servers, run commands, deploy code, and manage servers via natural language, also doubles as a CLI for manual use.3MIT
- AlicenseAqualityDmaintenanceEnables AI agents to deploy applications and manage servers over SSH using natural language commands, with built-in tools for Python bots, Docker Compose, and SSL setup.6MIT
- AlicenseAqualityBmaintenanceEnables AI assistants to manage Docker containers and Compose stacks through natural language, including lifecycle operations, logs, stats, and secure remote access.218 npm3MIT