Skip to content
Conduit

mcp server

shipsquares

AI-native, self-hosted Platform-as-a-Service — deploy apps, databases, and more to servers you own (beta).

digisquares/shipsquarescommunitylistedunreviewed

Set up

Runs on your computer. Pick your agent and operating system.

This project does not publish an install method we can turn into a config. Follow the README instead.

README

synced Oct 23, 2026

ShipSquares

AI-native, self-hosted Platform-as-a-Service — deploy apps, databases, and more to servers you own, with push-to-deploy, automatic HTTPS, and a built-in AI assistant.

License: Apache 2.0 Status: Beta Node TypeScript PRs welcome

🌐 shipsquares.com · 📚 Documentation

⚠️ Beta

ShipSquares is under active development and not yet recommended for production-critical workloads. Expect rough edges and breaking changes on the road to 1.0 — feedback, bug reports, and issues are very welcome.

Need a production-ready self-hosted PaaS today? We'd point you to the more mature, battle-tested open-source projects in this space — Dokploy and Coolify — until ShipSquares reaches a stable release.

Why ShipSquares

  • Own your data — runs entirely on your servers; no central control plane, no lock-in.
  • Push-to-deploy — from a GitHub repo, a Docker image, or a one-click catalog template.
  • Automatic HTTPS — custom domains get certificates issued and renewed for you (Caddy).
  • Multi-server fleet — start on one server, add more over agentless SSH.
  • Built-in data tools — Database Studio (SQL browser) and managed email.
  • AI-native — an MCP server and assistant can operate the platform with your permissions.
  • Lean core — one TypeScript control plane on PostgreSQL + Caddy; no extra broker, no Swarm/Kubernetes to run.

Quickstart

Install on a fresh Linux server:

curl -fsSL https://get.shipsquares.com | bash

Full installation and usage guides live at https://shipsquares.com/docs.

How it works

A single TypeScript control plane (apps/server) owns all state in PostgreSQL, runs background work on an in-database job queue, and drives a Caddy reverse proxy for automatic TLS. It deploys workloads as Docker containers — on the local host or on remote servers reached over agentless SSH (nothing to install on the targets). A React dashboard, an ss CLI, and an MCP server all talk to the same typed HTTP API, so humans and AI assistants operate the platform through one contract.

How it compares

Coolify and Dokploy are excellent, production-ready PaaS projects, and ShipSquares keeps parity on the basics (push-to-deploy, one-click catalog, backups, multi-server over SSH). Where it differs is an AI-native, batteries-included core:

ShipSquaresCoolifyDokploy
Built-in AI assistant + MCP — operate the platform via AI, with your permissions✅——
Database Studio — in-dashboard SQL browser & editor (Postgres + MySQL)✅——
Managed email — host mailboxes + DKIM/SPF/DMARC records generated & verified✅——
Automatic-HTTPS proxyCaddy (zero-config, on-demand TLS)TraefikTraefik
Control-plane datastorePostgreSQL only (pg-boss queue)Postgres + RedisPostgres + Redis
Process modelnative systemd core (apps in Docker)DockerDocker
Push-to-deploy · catalog · backups · multi-server✅✅✅
LicenseApache-2.0Apache-2.0Apache-2.0

ShipSquares is beta; Coolify and Dokploy are battle-tested today. If you need production stability right now, use them — and check back as ShipSquares heads to 1.0.

Built with

ShipSquares stands on a deliberately small, battle-tested set of open-source libraries.

Core

Control plane (apps/server)

Dashboard (apps/web)

Infrastructure

  • Caddy — reverse proxy with automatic HTTPS
  • Docker — workload runtime

Tooling

Full per-subsystem attributions for adapted code are in NOTICE.

Monorepo layout

apps/server              the Fastify control plane (API, deploy engine, Drizzle, pg-boss)
apps/web                 the React/Vite dashboard
apps/cli                 the `ss` command-line client
mcp                      the MCP server (tools over the typed client)
packages/shared          shared config schema, ids, error taxonomy
packages/openapi-client  generated TypeScript client from the server's openapi.json
infra                    installer + dev compose, Caddy/systemd templates
ops                      operational helper scripts

Development

Requires Node 22+ and pnpm 10+.

pnpm install
cp .env.example .env     # set DATABASE_URL / AUTH_SECRET / AUTH_URL

pnpm dev                 # boot the control plane
pnpm -F @ss/web dev      # the dashboard (Vite)
pnpm test                # vitest
pnpm lint                # eslint + prettier
pnpm build               # typecheck + build the web app
pnpm openapi:gen         # re-emit openapi.json + the typed client

Every runtime value comes from the environment and is validated once at boot; a missing or malformed key fails fast with a single aggregated error.

Contributing

Contributions are welcome — see CONTRIBUTING.md and the Code of Conduct. Found a security issue? See SECURITY.md.

Acknowledgments

ShipSquares learns from the excellent open-source self-hosted PaaS ecosystem — including Dokploy, Coolify, CapRover, Dockge, Kamal, and Portainer. Per-subsystem provenance for any adapted code is documented in NOTICE.

License

Apache-2.0 © Digisquares and the ShipSquares contributors.

↑↓ navigate openesc close