Sota

io.github.sota-deployPublished by GitHub account sota-deployv1.1.1Updated Oct 24, 2026

Deploy web apps via AI agents with sota.io. 9 tools for deploy, logs, env, and more.

The publisher's own server: Sota

VerifiedSTDIODesktop onlyCloud & InfrastructureDeveloper Tools

Overview

AI-generated overview

Sota lets an AI assistant deploy and manage web apps on sota.io: deploy code, read logs, set environment variables, roll back, and handle projects and customdom

What you can do
Deploy an app from a local directory and check deployment status or roll back to a previous deployment. Read build and runtime logs for a project or a specific deployment. Set and list a project's environment variables. Create, list and permanently delete projects. Add, list, inspect and remove custom domains, including DNS and SSL status.
When to use it
Use it when you host apps on sota.io and want to deploy, inspect logs, change environment variables or manage domains and projects from a chat client instead of the dashboard.
Requirements
A local Node.js runtime to run the npm package (for example via npx) in a desktop MCP client. A sota.io account and an API key passed in the SOTA_API_KEY environment variable; SOTA_API_URL is optional. Network access to the sota.io API.
Before you install
The API key in SOTA_API_KEY grants access to your sota.io account and is stored in the client configuration. Several tools change or destroy data: deploy uploads a tar.gz archive of the chosen directory, set-env writes secrets such as database URLs into project settings, and delete-project and remove-domain are permanent. Deployments and domains may incur costs on your sota.io plan.

Installation

In SourceWeft

  1. Open Sota in the dashboard and add it to a workspace.
  2. Enable the server for the chats that should use its tools.

Desktop only via STDIO. STDIO servers start a local process, so they need the SourceWeft desktop host.

Other MCP clients

Follow the launch instructions in the repository.

README

@sota-io/mcp

MCP server for sota.io — deploy web apps via AI agents.

[npm version] [npm downloads] [License: MIT] [Node]

Two transports

Since v1.4.0 this package ships two transports:

  • sota-mcp (stdio, default) — for Claude Code, Cursor, Windsurf, and any MCP client that spawns a local process. Pass your SOTA_API_KEY via env var.
  • sota-mcp-http (Streamable HTTP) — for self-hosting the remote endpoint that powers mcp.sota.io (used by Claude Desktop and Claude.ai web). Reads SUPABASE_JWT_SECRET, DATABASE_URL, etc. — most users do not need this; it's the same code that runs on mcp.sota.io if you want to host your own.

Most users want the stdio transport.

One-click install for Claude Desktop / Claude.ai web

If you use Claude Desktop or Claude.ai (Pro / Max / Team / Enterprise plan), the easiest install is not this npm package — it's the hosted remote endpoint at mcp.sota.io. Click here:

Add to Claude →

OAuth handles auth. New users can sign up entirely inside Claude via the create_account tool — no browser tab switch.

See https://sota.io/docs/integrations/claude.

Quick Start (stdio — Claude Code, Cursor, Windsurf, …)

  1. Get an API key from sota.io/dashboard/settings
  2. Configure your IDE
  3. Ask your AI: "Deploy my app to sota.io"

Installation

No install needed — run directly with npx:

bash
npx -y @sota-io/mcp

Or install globally:

bash
npm install -g @sota-io/mcpsota-mcp

Configuration

Claude Code

CLI method:

bash
claude mcp add sota -- npx -y @sota-io/mcp

Then set your API key in the shell environment:

bash
export SOTA_API_KEY=sota_your_api_key_here

Manual JSON (.claude/settings.json):

json
{  "mcpServers": {    "sota": {      "command": "npx",      "args": ["-y", "@sota-io/mcp"],      "env": {        "SOTA_API_KEY": "sota_your_api_key_here"      }    }  }}

Claude Desktop

Edit claude_desktop_config.json:

  • macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
  • Windows: %APPDATA%\Claude\claude_desktop_config.json
json
{  "mcpServers": {    "sota": {      "command": "npx",      "args": ["-y", "@sota-io/mcp"],      "env": {        "SOTA_API_KEY": "sota_your_api_key_here"      }    }  }}

Cursor

Create .cursor/mcp.json in your project root:

json
{  "mcpServers": {    "sota": {      "command": "npx",      "args": ["-y", "@sota-io/mcp"],      "env": {        "SOTA_API_KEY": "sota_your_api_key_here"      }    }  }}

Windsurf

Edit ~/.codeium/windsurf/mcp_config.json:

json
{  "mcpServers": {    "sota": {      "command": "npx",      "args": ["-y", "@sota-io/mcp"],      "env": {        "SOTA_API_KEY": "sota_your_api_key_here"      }    }  }}

Tools

ToolDescriptionParameters
deployDeploy an appproject_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 statusproject_id
list-projectsList all projects(none)
create-projectCreate a new projectname
delete-projectDelete a project permanentlyproject_id
add-domainAdd custom domain to projectproject_id, domain
list-domainsList custom domainsproject_id
get-domainGet domain details and DNS statusproject_id, domain_id
remove-domainRemove custom domainproject_id, domain_id

deploy

Deploy an application to sota.io. Creates a tar.gz archive of the specified directory and uploads it.

ParameterTypeRequiredDescription
project_idstringYesProject ID to deploy to
directorystringNoDirectory to deploy (defaults to current working directory)
"Deploy my app in the current directory to sota.io"

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)
"Show me the build logs for my sota.io project"

set-env

Set an environment variable for a project.

ParameterTypeRequiredDescription
project_idstringYesProject ID
keystringYesEnvironment variable name (e.g., DATABASE_URL)
valuestringYesEnvironment variable value
"Set DATABASE_URL on my project to postgres://localhost/mydb"

get-env

List environment variables for a project.

ParameterTypeRequiredDescription
project_idstringYesProject ID
"Show all environment variables for my project"

rollback

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

ParameterTypeRequiredDescription
project_idstringYesProject ID to rollback
"Roll back my app to the previous version"

get-status

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

ParameterTypeRequiredDescription
project_idstringYesProject ID to check status for
"What's the status of my sota.io deployment?"

list-projects

List all projects on your sota.io account.

No parameters required.

"List my sota.io projects"

create-project

Create a new project on sota.io. The project slug is auto-generated from the name (lowercase, hyphens, max 63 chars) and used as the subdomain ({slug}.sota.io). For example, "My API" becomes my-api.sota.io.

ParameterTypeRequiredDescription
namestringYesName for the new project
"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.

ParameterTypeRequiredDescription
project_idstringYesProject ID to delete
"Delete my sota.io project abc123"

add-domain

Add a custom domain to a project. Returns DNS instructions for pointing the domain.

ParameterTypeRequiredDescription
project_idstringYesProject ID
domainstringYesDomain name (e.g., "example.com" or "app.example.com")
"Add example.com as a custom domain to my project"

list-domains

List all custom domains for a project.

ParameterTypeRequiredDescription
project_idstringYesProject ID
"Show all custom domains for my project"

get-domain

Get domain details including DNS verification status and SSL state.

ParameterTypeRequiredDescription
project_idstringYesProject ID
domain_idstringYesDomain ID
"Check the DNS status of my custom domain"

remove-domain

Remove a custom domain from a project.

ParameterTypeRequiredDescription
project_idstringYesProject ID
domain_idstringYesDomain ID to remove
"Remove the custom domain from my project"

Environment Variables

VariableRequiredDefaultDescription
SOTA_API_KEYYes—API key with sota_ prefix. Create at sota.io/dashboard/settings
SOTA_API_URLNohttps://api.sota.ioAPI base URL

Troubleshooting

"npx: command not found"

Problem: Your IDE doesn't inherit the shell PATH where nvm/fnm is loaded.

Fix: Use the absolute path to npx. Find it with:

bash
which npx# Example output: /Users/you/.nvm/versions/node/v22.0.0/bin/npx

Then update your MCP config to use the absolute path:

json
{  "mcpServers": {    "sota": {      "command": "/Users/you/.nvm/versions/node/v22.0.0/bin/npx",      "args": ["-y", "@sota-io/mcp"],      "env": {        "SOTA_API_KEY": "sota_your_api_key_here"      }    }  }}

"SOTA_API_KEY environment variable is required"

Problem: The API key is not set in your MCP configuration.

Fix: Add the env block to your MCP server config. Shell environment variables do not automatically pass to MCP servers — the env block in the config is required:

json
{  "env": {    "SOTA_API_KEY": "sota_your_api_key_here"  }}

Connection refused or timeout errors

Problem: Network issue or wrong API URL.

Fix: Check your internet connection. If you're using a custom API URL, verify SOTA_API_URL is set correctly. The default is https://api.sota.io.

License

MIT

Links

Source: README.md at commit 45bf3b4

Tools

0
SourceWeft has not started this package in its sandbox yet, so its tools are not known.

Version history

1
  1. v1.1.1LatestSep 16, 2026

Score

50% of the applicable checks met

How complete this listing is, computed from the registry entry, the endpoint and public sources. Not a rating of the server and not a statement that it is safe or working today: reachability is a dated check, and no installs or reviews go into the score.

  • Reached in the last 30 days25 pts

    Keep the endpoint answering the MCP handshake; SourceWeft probes it every 30 days.

  • Auth declared10 pts

    Declare the credential headers in the registry entry, or keep the endpoint answering the probe so its auth can be classified.

  • Tools listed15 pts

    Answer tools/list without a credential, or ship a package that starts in a sandbox without one.

  • DescriptionRequired15 pts
  • Logo10 pts
  • Documentation15 pts
  • License10 pts

Other Sota integrations