deploy
Deploy a GitHub repository to Manufact Cloud. Creates a server or redeploys an existing one.
Deploys a GitHub repository to Manufact Cloud. This is the tool to use when a user says "deploy this repo" or "deploy the current project"; the agent should infer repoFullName from the local git remote when possible.
The tool checks whether the repository is already connected to a server in the organization:
- Already connected → it redeploys that server.
- Not connected → it creates a new GitHub-backed server and starts the initial deployment.
It does not accept a serverId; use redeploy when the user identified a specific existing server.
Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
organizationId | string | Yes | Organization to deploy into. From list_organizations. |
repoFullName | string | Yes | GitHub repository in owner/repo format. |
branch | string | No | Branch to deploy. Defaults to the server's production branch for existing servers, main for new ones. |
installationId | string | No | GitHub installation to use. Only needed when the repo is accessible from multiple installations (the tool resolves it automatically otherwise). |
name | string | No | Display name for a new server (defaults to the repo name). |
description | string | No | Description for a new server. |
rootDir | string | No | Repository subdirectory to build from. |
port | number | No | Application port (1–65535). |
buildCommand / startCommand | string | No | Command overrides for a new server. |
dockerfilePath | string | No | Non-default Dockerfile path. |
env | record | No | Environment variables for a new server. |
buildSecrets | string[] | No | Keys from env to treat as build-only secrets. |
region | AUTO | US | EU | APAC | No | Compute region for a new server. |
watchPaths | string[] | No | Glob patterns limiting which repo changes trigger auto-deploy. |
waitForCi | boolean | No | Whether auto-deploys wait for GitHub check runs. |
Returns
Either action: "redeployed_existing_server" with the matched server and new deployment, or action: "created_server_and_deployed" with the created server and its initial deployment.
If multiple servers are connected to the same repository, the tool returns an error listing the matches; use redeploy with the right serverId instead.