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

ParameterTypeRequiredDescription
organizationIdstringYesOrganization to deploy into. From list_organizations.
repoFullNamestringYesGitHub repository in owner/repo format.
branchstringNoBranch to deploy. Defaults to the server's production branch for existing servers, main for new ones.
installationIdstringNoGitHub installation to use. Only needed when the repo is accessible from multiple installations (the tool resolves it automatically otherwise).
namestringNoDisplay name for a new server (defaults to the repo name).
descriptionstringNoDescription for a new server.
rootDirstringNoRepository subdirectory to build from.
portnumberNoApplication port (1–65535).
buildCommand / startCommandstringNoCommand overrides for a new server.
dockerfilePathstringNoNon-default Dockerfile path.
envrecordNoEnvironment variables for a new server.
buildSecretsstring[]NoKeys from env to treat as build-only secrets.
regionAUTO | US | EU | APACNoCompute region for a new server.
watchPathsstring[]NoGlob patterns limiting which repo changes trigger auto-deploy.
waitForCibooleanNoWhether 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.

On this page