Labsco
MCP SERVER

Code Sync MCP Server

by bifrostinc

Push the file you just edited straight into a container running in staging or a dev cluster, and let the app restart on the new code.

PaaS Deployment & App Hosting
Summary
Editing locally, running where the data is.

This is aimed at the case where the code is easy to change but the environment is not — a staging cluster with real databases and real service dependencies. Setup is the cost: one proxy per environment plus a sidecar and an entrypoint change per deployment, after which the loop is a single tool call.

What it is

A hot-reload bridge between your local editor and interpreted code running in a remote container. The MCP server runs on your machine; a websocket proxy and a sidecar run in the remote environment. An edit becomes an rsync patch, the proxy routes it to the right deployment, the sidecar writes it to a shared volume and signals the app to restart — no image build, no CI round trip.

What you get
  • `push_changes` — send the current local working tree to a named remote deployment, respecting your `.gitignore` so build output and secrets stay out of the patch
  • Per-developer targeting: `app_id` and `deployment_id` in a `.bifrost.json` file at your project root decide which remote container receives the patch, so several people can each drive their own environment through one proxy
  • A restart path that needs no Dockerfile rewrite — the app entrypoint is wrapped by `rsync-launcher.sh`, which syncs the volume in and handles the restart
Requirements

An API key you choose, shared by the proxy and the sidecar. Locally the client launches `uvx code-sync-mcp` with `BIFROST_API_KEY`, `BIFROST_WS_API_URL` and `BIFROST_API_URL` set to your proxy. Remotely you deploy the proxy with `PROXY_API_KEY`, add the sidecar container alongside your app with `BIFROST_API_URL`, `BIFROST_API_KEY`, `BIFROST_APP_ID` and `BIFROST_DEPLOYMENT_ID`, and replace the app entrypoint with the launcher wrapper. Local rsync must be 3.4.1 or newer. Non-root containers need the app directory chowned to the app user.

Setup effort

One command — uvx code-sync-mcp