Deploying MCP Servers

Each MCP server can run locally via npx, in a Docker container, or deployed to cloud platforms with one click. This guide covers all deployment options.

Deployment Options

Method Best For Requires
npx (local) Development, quick testing Node.js 22+
Docker Self-hosted production, on-premise Docker Engine
MCPB Bundle Claude Desktop users, non-technical setup Claude Desktop 0.10+
DigitalOcean Managed cloud hosting, team access DigitalOcean account
Cloudflare Workers Edge deployment, low latency Cloudflare account

Local (npx)

The fastest way to run an MCP server. No installation required — npx downloads and runs the package directly from GitHub Package Registry.

# Example: run the Syncro MCP server
npx @wyre-technology/syncro-mcp

Set the required environment variables before running. Each server's detail page lists the variables it needs.

# Set credentials, then run
export SYNCRO_API_KEY="your-api-key"
export SYNCRO_SUBDOMAIN="yourcompany"
npx @wyre-technology/syncro-mcp

Docker

Every MCP server ships with a multi-stage Dockerfile and docker-compose configuration. Docker images are published to GitHub Container Registry (ghcr.io).

Pull and run a pre-built image

# Pull the latest image
docker pull ghcr.io/wyre-technology/syncro-mcp:latest

# Run with environment variables
docker run -d \
  --name syncro-mcp \
  -p 8080:8080 \
  -e SYNCRO_API_KEY="your-api-key" \
  -e SYNCRO_SUBDOMAIN="yourcompany" \
  -e MCP_TRANSPORT=http \
  -e NODE_ENV=production \
  ghcr.io/wyre-technology/syncro-mcp:latest

Using docker-compose

Each repo includes a docker-compose.yml. Clone the repo, create a .env file with your credentials, and run:

# Clone the repo
git clone https://github.com/wyre-technology/syncro-mcp.git
cd syncro-mcp

# Create .env with your credentials
cat > .env <<EOF
SYNCRO_API_KEY=your-api-key
SYNCRO_SUBDOMAIN=yourcompany
EOF

# Start the server
docker compose up -d

The compose file includes health checks, automatic restarts, and production defaults. The server will be available at http://localhost:8080.

Build from source

# Build the production image
docker compose build

# Or build with Docker directly
docker build --target production -t syncro-mcp:latest .

Docker image details

  • Base: node:22-alpine (multi-stage build)
  • Runs as non-root user
  • Health check on /health endpoint
  • Exposes port 8080
  • HTTP transport enabled by default

MCPB (MCP Bundle)

Every MCP server ships as an .mcpb bundle — a self-contained package for Claude Desktop. Download the latest bundle from each server's GitHub Releases page and install directly.

Install from GitHub Release

  1. Go to the MCP server's GitHub releases page
  2. Download the .mcpb file from the latest release
  3. Open Claude Desktop → Settings → MCP Servers → Install from file
  4. Select the downloaded .mcpb file
  5. Enter your vendor credentials when prompted

MCPB bundles include all dependencies and a manifest that tells Claude Desktop exactly what credentials to ask for. No terminal or Node.js required.

DigitalOcean App Platform

Each MCP server includes a .do/deploy.template.yaml (or .do/app.yaml) for one-click deployment to DigitalOcean App Platform.

One-click deploy

Click the "Deploy to DigitalOcean" button on any MCP server page, or use the direct URL pattern:

https://cloud.digitalocean.com/apps/new?repo=https://github.com/wyre-technology/{repo-name}/tree/main

What happens

  1. DigitalOcean forks the repo into your account
  2. Reads the deploy template for configuration
  3. Prompts you to set the required environment variables (API keys, credentials)
  4. Builds the Docker image and deploys to a basic-xxs instance
  5. Auto-deploys on every push to main

Configuration

The deploy template sets sensible defaults. You can customize after deployment in the DigitalOcean dashboard:

  • Instance size: Defaults to basic-xxs (~$5/mo). Scale up for higher traffic.
  • Instance count: Defaults to 1. Increase for high availability.
  • Environment variables: Set during deploy. Secrets are encrypted at rest.
  • Auto-deploy: Enabled by default on push to main.

Cloudflare Workers

Each MCP server includes a wrangler.json for deployment to Cloudflare Workers. This runs your server at the edge with low latency globally.

One-click deploy

Click the "Deploy to Cloudflare Workers" button on any MCP server page, or use the direct URL pattern:

https://deploy.workers.cloudflare.com/?url=https://github.com/wyre-technology/{repo-name}

Manual deploy with Wrangler

# Clone and enter the repo
git clone https://github.com/wyre-technology/syncro-mcp.git
cd syncro-mcp

# Install dependencies and build
npm ci && npm run build

# Deploy to Cloudflare Workers
npx wrangler deploy

# Set secrets
npx wrangler secret put SYNCRO_API_KEY
npx wrangler secret put SYNCRO_SUBDOMAIN

Connecting Claude to a Deployed Server

Once your MCP server is running (locally or in the cloud), configure Claude to connect to it via HTTP transport.

Claude Desktop

Add to your claude_desktop_config.json:

{
  "mcpServers": {
    "syncro-mcp": {
      "url": "http://localhost:8080/mcp",
      "transport": "streamable-http"
    }
  }
}

Replace localhost:8080 with your deployed server's URL for cloud deployments (e.g., your-app.ondigitalocean.app or your-worker.workers.dev).

Claude Code (.mcp.json)

Add to your project's .mcp.json:

{
  "mcpServers": {
    "syncro-mcp": {
      "command": "npx",
      "args": [
        "@wyre-technology/syncro-mcp"
      ],
      "env": {
        "SYNCRO_API_KEY": "your-api-key",
        "SYNCRO_SUBDOMAIN": "yourcompany"
      }
    }
  }
}

Available MCP Servers

Server Package Docker
ConnectWise Automate MCP @wyre-technology/connectwise-automate-mcp Yes
NinjaOne MCP @wyre-technology/ninjaone-mcp Yes
HaloPSA MCP @wyre-technology/halopsa-mcp Yes
IT Glue MCP @wyre-technology/itglue-mcp Yes
SuperOps.ai MCP @wyre-technology/superops-mcp Yes
Atera MCP @wyre-technology/atera-mcp Yes
Syncro MCP @wyre-technology/syncro-mcp Yes
Datto RMM MCP @wyre-technology/datto-rmm-mcp Yes
Autotask MCP @wyre-technology/autotask-mcp Yes
Liongard MCP @wyre-technology/liongard-mcp Yes
ConnectWise Manage MCP @wyre-technology/connectwise-manage-mcp Yes
Hudu MCP @wyre-technology/hudu-mcp Yes
RocketCyber MCP @wyre-technology/rocketcyber-mcp Yes
Blumira MCP blumira-mcp Yes
Domotz MCP domotz-mcp Yes
Huntress MCP huntress-mcp Yes
QuickBooks Online MCP @wyre-technology/qbo-mcp Yes
SalesBuildr MCP @wyre-technology/salesbuildr-mcp Yes
SpamTitan MCP @wyre-technology/spamtitan-mcp Yes
Xero MCP @wyre-technology/xero-mcp Yes

Environment Variables

All deployment methods require the same environment variables. These are always platform-specific API credentials. Check each MCP server's detail page for the exact variables needed.

Common patterns across all servers:

Variable Purpose Set By
MCP_TRANSPORT Transport mode (http for deployed servers) Automatic in Docker/cloud
NODE_ENV Runtime environment Automatic in Docker/cloud
LOG_LEVEL Logging verbosity (info, debug, error) Optional, defaults to info
AUTH_MODE Authentication mode (env or gateway) Optional, defaults to env