Инструменты MCP
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#
| Tool | Arguments | What it does |
|---|---|---|
whoami | — | Current user and the workspaces the token can access; call first |
list-workspaces | — | Workspaces with plan and role |
github-installations | — | GitHub App installations and the install URL |
list-nodes | workspaceId? | Compute nodes visible to the token |
billing-account | workspaceId? | Balance, plan limits, pause state, auto top-up, current usage |
topup-create | workspaceId?, provider?, amountCents? | Checkout URL for a top-up; without arguments lists providers and limits |
Projects and environments#
| Tool | Arguments | What it does |
|---|---|---|
list-projects | workspaceId?, search? | Projects with online/total summary |
create-project | name, workspaceId?, description?, githubInstallationId? | New project with a production environment |
delete-project destructive | projectId | Delete everything in the project |
list-environments | projectId | Environments with ids, PR number and branch |
create-environment | projectId, name, copyFromEnvironmentId? | New environment, optionally a copy |
describe-environment | projectId, environmentId? | Full inventory: services with settings, domains, latest deployments, volumes, variable names |
get-status | projectId, environmentId? | Per-service latest status, replicas, URLs, problems |
Services#
| Tool | Arguments | What it does |
|---|---|---|
list-services | projectId | Services and environments with source and internal hostname |
create-service | projectId, name?, image? or repo?+branch?, rootDirectory?, builder?, dockerfilePath?, buildCommand?, port?, runtimeClass?, variables?, environmentId?, deploy? | New service from an image or a repository |
create-deployment | projectId, repo, branch?, name?, rootDirectory?, dockerfilePath?, port?, variables?, environmentId?, deploy? | Railway-style: service from a repository plus first deployment |
describe-service | projectId, serviceId, environmentId? | Source, build, deploy, networking, volumes, variable names, latest deployment |
get-service-config | projectId, serviceId, environmentId? | Configuration only |
update-service | projectId, 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 destructive | projectId, serviceId, environmentId? | Delete the service (everywhere, or in one environment) |
Variables#
| Tool | Arguments | What it does |
|---|---|---|
list-variables | projectId, serviceId?, environmentId?, namesOnly?, unrendered? | Service variables plus shared ones, rendered unless unrendered |
set-variables | projectId, serviceId?, environmentId?, variables, allEnvironments?, replace?, skipDeploys? | Set variables; redeploys the service unless skipDeploys |
delete-variables destructive | projectId, serviceId?, environmentId?, names, allEnvironments? | Delete by name |
Deployments and logs#
| Tool | Arguments | What it does |
|---|---|---|
deploy | projectId, serviceId, environmentId?, commitSha? | Fresh build of the current source |
redeploy | projectId, serviceId, environmentId? | Re-run the latest deployment's build |
restart-service | projectId, serviceId, environmentId? | Restart containers in place |
list-deployments | projectId, serviceId?, environmentId?, status?, limit? | Recent deployments |
cancel-deployment | projectId, deploymentId | Cancel a queued deployment |
get-logs | projectId, deploymentId? or serviceId?+environmentId?, types? (build, deploy, system), filter?, limit? | Logs of a deployment or of the service's latest one |
Networking#
| Tool | Arguments | What it does |
|---|---|---|
generate-domain | projectId, serviceId, environmentId?, domain?, targetPort? | Generated *.skiffly.cloud domain, or attach a custom domain (returns CNAME + TXT) |
list-domains | projectId, serviceId, environmentId? | Domains with verification state |
domain-status | projectId, serviceId, environmentId?, domain | Re-check DNS, ownership and certificate |
delete-domain destructive | projectId, serviceId, environmentId?, domain | Remove a domain |
Volumes#
| Tool | Arguments | What it does |
|---|---|---|
create-volume | projectId, serviceId, environmentId?, mountPath, sizeGb?, name?, redeploy? | Create and attach a volume |
list-volumes | projectId, serviceId?, environmentId? | Volumes with size and usage |
delete-volume destructive | projectId, volumeId, environmentId? | Delete a volume and its data |
Docs#
| Tool | Arguments | What it does |
|---|---|---|
search-docs | query, limit? | Search the bundled Skiffly documentation |
Migration#
| Tool | Arguments | What it does |
|---|---|---|
import_from_railway | railwayToken, 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.