Skip to content

Search docs

Search the Skiffly documentation

MCP tools

The 38 tools of the Skiffly MCP server with their arguments. Service and environment arguments accept an id, slug or name; `environmentId` defaults to production.

Install and client configuration: MCP server guide. Tools marked destructive carry destructiveHint so clients ask before running them.

Account#

ToolArgumentsWhat it does
whoamiCurrent user and the workspaces the token can access; call first
list-workspacesWorkspaces with plan and role
github-installationsGitHub App installations and the install URL
list-nodesworkspaceId?Compute nodes visible to the token
billing-accountworkspaceId?Balance, plan limits, pause state, auto top-up, current usage
topup-createworkspaceId?, provider?, amountCents?Checkout URL for a top-up; without arguments lists providers and limits

Projects and environments#

ToolArgumentsWhat it does
list-projectsworkspaceId?, search?Projects with online/total summary
create-projectname, workspaceId?, description?, githubInstallationId?New project with a production environment
delete-project destructiveprojectIdDelete everything in the project
list-environmentsprojectIdEnvironments with ids, PR number and branch
create-environmentprojectId, name, copyFromEnvironmentId?New environment, optionally a copy
describe-environmentprojectId, environmentId?Full inventory: services with settings, domains, latest deployments, volumes, variable names
get-statusprojectId, environmentId?Per-service latest status, replicas, URLs, problems

Services#

ToolArgumentsWhat it does
list-servicesprojectIdServices and environments with source and internal hostname
create-serviceprojectId, name?, image? or repo?+branch?, rootDirectory?, builder?, dockerfilePath?, buildCommand?, port?, runtimeClass?, variables?, environmentId?, deploy?New service from an image or a repository
create-deploymentprojectId, repo, branch?, name?, rootDirectory?, dockerfilePath?, port?, variables?, environmentId?, deploy?Railway-style: service from a repository plus first deployment
describe-serviceprojectId, serviceId, environmentId?Source, build, deploy, networking, volumes, variable names, latest deployment
get-service-configprojectId, serviceId, environmentId?Configuration only
update-serviceprojectId, serviceId, environmentId?, plus any of name, repo, image, branch, rootDirectory, builder, dockerfilePath, buildCommand, port, runtimeClass, startCommand, healthcheckPath, healthcheckTimeout, cronSchedule, sleepApplication, numReplicas, restartPolicyType, restartPolicyMaxRetries, cpuMillis, memoryMb, redeploy?Change service-wide and per-environment settings; redeploys by default
delete-service destructiveprojectId, serviceId, environmentId?Delete the service (everywhere, or in one environment)

Variables#

ToolArgumentsWhat it does
list-variablesprojectId, serviceId?, environmentId?, namesOnly?, unrendered?Service variables plus shared ones, rendered unless unrendered
set-variablesprojectId, serviceId?, environmentId?, variables, allEnvironments?, replace?, skipDeploys?Set variables; redeploys the service unless skipDeploys
delete-variables destructiveprojectId, serviceId?, environmentId?, names, allEnvironments?Delete by name

Deployments and logs#

ToolArgumentsWhat it does
deployprojectId, serviceId, environmentId?, commitSha?Fresh build of the current source
redeployprojectId, serviceId, environmentId?Re-run the latest deployment's build
restart-serviceprojectId, serviceId, environmentId?Restart containers in place
list-deploymentsprojectId, serviceId?, environmentId?, status?, limit?Recent deployments
cancel-deploymentprojectId, deploymentIdCancel a queued deployment
get-logsprojectId, deploymentId? or serviceId?+environmentId?, types? (build, deploy, system), filter?, limit?Logs of a deployment or of the service's latest one

Networking#

ToolArgumentsWhat it does
generate-domainprojectId, serviceId, environmentId?, domain?, targetPort?Generated *.skiffly.cloud domain, or attach a custom domain (returns CNAME + TXT)
list-domainsprojectId, serviceId, environmentId?Domains with verification state
domain-statusprojectId, serviceId, environmentId?, domainRe-check DNS, ownership and certificate
delete-domain destructiveprojectId, serviceId, environmentId?, domainRemove a domain

Volumes#

ToolArgumentsWhat it does
create-volumeprojectId, serviceId, environmentId?, mountPath, sizeGb?, name?, redeploy?Create and attach a volume
list-volumesprojectId, serviceId?, environmentId?Volumes with size and usage
delete-volume destructiveprojectId, volumeId, environmentId?Delete a volume and its data

Docs#

ToolArgumentsWhat it does
search-docsquery, limit?Search the bundled Skiffly documentation

Migration#

ToolArgumentsWhat it does
import_from_railwayrailwayToken, railwayProjectId, projectId?, createProjectName?, workspaceId?, environment?, dryRun?Recreate a Railway project on Skiffly (services, variables with ${{Service.VAR}} references, empty volumes, custom domains, TCP proxies); never copies data, never deploys. See Migrate from Railway.

Not available as tools yet: templates, metrics, staged changes. Use the CLI or GraphQL for those.