sota.io

MCP Tools

The @sota-io/mcp (source) server exposes 13 tools for deploying and managing web applications. AI agents invoke these tools automatically based on natural language prompts.

Overview

ToolDescriptionParameters
deployDeploy an app from a directoryproject_id, directory?
get-logsGet build/runtime logsproject_id, deployment_id?
set-envSet environment variableproject_id, key, value
get-envList environment variablesproject_id
rollbackRollback to previous deploymentproject_id
get-statusGet deployment status and historyproject_id
list-projectsList all projects(none)
create-projectCreate a new projectname
delete-projectDelete a project permanentlyproject_id
add-domainAdd a custom domain with DNS instructionsproject_id, domain
list-domainsList all custom domainsproject_id
get-domainGet domain details with DNS instructionsproject_id, domain_id
remove-domainRemove a custom domainproject_id, domain_id

deploy

Deploy an application to sota.io. Creates a tar.gz archive of the specified directory and uploads it. Excludes .git, node_modules, .env, and .DS_Store automatically.

ParameterTypeRequiredDescription
project_idstringYesProject ID to deploy to
directorystringNoDirectory to deploy (defaults to current working directory)

Example prompt: "Deploy my app in the current directory to sota.io"

Returns the deployment ID, status, and live URL.

get-logs

Get build and runtime logs for a deployment. If no deployment_id is provided, returns logs for the latest deployment.

ParameterTypeRequiredDescription
project_idstringYesProject ID to get logs for
deployment_idstringNoSpecific deployment ID (defaults to latest)

Example prompt: "Show me the build logs for my last sota.io deployment"

set-env

Set an environment variable for a project. The variable is encrypted at rest and injected into the container on next deployment.

ParameterTypeRequiredDescription
project_idstringYesProject ID
keystringYesEnvironment variable name (e.g., DATABASE_URL)
valuestringYesEnvironment variable value

Example prompt: "Set DATABASE_URL on my project to postgres://localhost/mydb"

get-env

List all environment variables for a project.

ParameterTypeRequiredDescription
project_idstringYesProject ID

Example prompt: "Show all environment variables for my project"

rollback

Rollback a project to its previous deployment. This swaps the container image without rebuilding — instant rollback.

ParameterTypeRequiredDescription
project_idstringYesProject ID to rollback

Example prompt: "Roll back my app to the previous version"

get-status

Get the current deployment status for a project, including the live URL and recent deployment history.

ParameterTypeRequiredDescription
project_idstringYesProject ID to check status for

Example prompt: "What's the status of my sota.io deployment?"

Returns current deployment info (ID, status, URL, framework) and up to 4 recent deployments.

list-projects

List all projects on your sota.io account.

No parameters required.

Example prompt: "List my sota.io projects"

Returns project names, slugs, and IDs.

create-project

Create a new project on sota.io. The project slug is auto-generated from the name and used as the subdomain ({slug}.sota.io).

ParameterTypeRequiredDescription
namestringYesName for the new project

Example prompt: "Create a new sota.io project called my-api"

delete-project

Delete a project and all its deployments from sota.io. This action is permanent and cannot be undone.

ParameterTypeRequiredDescription
project_idstringYesProject ID to delete

Example prompt: "Delete my sota.io project abc123"

add-domain

Add a custom domain to a project. Returns DNS instructions for configuring at your registrar. Supports apex domains (A record to 23.88.45.28) and subdomains (CNAME to {slug}.sota.io). SSL is automatically provisioned via Let's Encrypt after DNS verification.

ParameterTypeRequiredDescription
project_idstringYesProject ID to add the domain to
domainstringYesDomain name (e.g., app.example.com or example.com)

Example prompt: "Add app.example.com as a custom domain to my sota.io project"

Returns the domain info (ID, status) and DNS setup instructions (record type, name, value).

list-domains

List all custom domains for a project with their statuses (pending, verified, active).

ParameterTypeRequiredDescription
project_idstringYesProject ID to list domains for

Example prompt: "Show all custom domains on my sota.io project"

Returns domain names, statuses, and IDs. Use get-domain with a domain ID for full details.

get-domain

Get details of a custom domain including its current status and DNS setup instructions. Domain statuses: pending (DNS not yet configured), verified (DNS confirmed, SSL provisioning), active (live with HTTPS).

ParameterTypeRequiredDescription
project_idstringYesProject ID
domain_idstringYesDomain ID (use list-domains to find the ID)

Example prompt: "Check the status of my custom domain on sota.io"

remove-domain

Remove a custom domain from a project. This removes the domain mapping and its SSL certificate. DNS records at your registrar are not automatically removed -- clean those up manually. This action is immediate and irreversible.

ParameterTypeRequiredDescription
project_idstringYesProject ID
domain_idstringYesDomain ID (use list-domains to find the ID)

Example prompt: "Remove the custom domain from my project"

Return Values

All tools return text content with structured information. On success, you get the relevant data (deployment ID, project info, logs, etc.). On failure, tools return a descriptive error message.

Error Handling

Common errors and their causes:

ErrorCauseFix
SOTA_API_KEY environment variable is requiredAPI key not configuredAdd env block to MCP config
Project not foundInvalid project IDUse list-projects to find correct ID
UnauthorizedInvalid or expired API keyCreate a new key at Dashboard Settings

See Also