Deploy web apps via AI agents with sota.io. 9 tools for deploy, logs, env, and more.
Copy the AI prompt to install this server into Claude Code, Cursor, or another agent β or use 1-click editor setup below.
π‘ Paste the JSON block into your client's configuration file under mcpServers, then restart the application.
MCP server for sota.io β deploy web apps via AI agents.
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.
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:
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.
No install needed β run directly with npx:
Or install globally:
CLI method:
Then set your API key in the shell environment:
Manual JSON (.claude/settings.json):
Edit claude_desktop_config.json:
~/Library/Application Support/Claude/claude_desktop_config.json%APPDATA%\Claude\claude_desktop_config.jsonCreate .cursor/mcp.json in your project root:
Edit ~/.codeium/windsurf/mcp_config.json:
| Tool | Description | Parameters |
|---|---|---|
deploy | Deploy an app | project_id, directory? |
get-logs | Get build/runtime logs | project_id, deployment_id? |
set-env | Set environment variable | project_id, key, value |
get-env | List environment variables | project_id |
rollback | Rollback to previous deployment | project_id |
get-status | Get deployment status | project_id |
list-projects | List all projects | (none) |
create-project | Create a new project | name |
delete-project | Delete a project permanently | project_id |
add-domain | Add custom domain to project | project_id, domain |
list-domains | List custom domains | project_id |
get-domain | Get domain details and DNS status | project_id, domain_id |
remove-domain | Remove custom domain | project_id, domain_id |
deployDeploy an application to sota.io. Creates a tar.gz archive of the specified directory and uploads it.
| Parameter | Type | Required | Description |
|---|---|---|---|
project_id | string | Yes | Project ID to deploy to |
directory | string | No | Directory to deploy (defaults to current working directory) |
get-logsGet build and runtime logs for a deployment. If no deployment_id is provided, returns logs for the latest deployment.
| Parameter | Type | Required | Description |
|---|---|---|---|
project_id | string | Yes | Project ID to get logs for |
deployment_id | string | No | Specific deployment ID (defaults to latest) |
set-envSet an environment variable for a project.
| Parameter | Type | Required | Description |
|---|---|---|---|
project_id | string | Yes | Project ID |
key | string | Yes | Environment variable name (e.g., DATABASE_URL) |
value | string | Yes | Environment variable value |
get-envList environment variables for a project.
| Parameter | Type | Required | Description |
|---|---|---|---|
project_id | string | Yes | Project ID |
rollbackRollback a project to its previous deployment. This swaps the container image without rebuilding.
| Parameter | Type | Required | Description |
|---|---|---|---|
project_id | string | Yes | Project ID to rollback |
get-statusGet the current deployment status for a project, including URL and recent deployment history.
| Parameter | Type | Required | Description |
|---|---|---|---|
project_id | string | Yes | Project ID to check status for |
list-projectsList all projects on your sota.io account.
No parameters required.
create-projectCreate 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.
| Parameter | Type | Required | Description |
|---|---|---|---|
name | string | Yes | Name for the new project |
delete-projectDelete a project and all its deployments from sota.io. This action is permanent.
| Parameter | Type | Required | Description |
|---|---|---|---|
project_id | string | Yes | Project ID to delete |
add-domainAdd a custom domain to a project. Returns DNS instructions for pointing the domain.
| Parameter | Type | Required | Description |
|---|---|---|---|
project_id | string | Yes | Project ID |
domain | string | Yes | Domain name (e.g., "example.com" or "app.example.com") |
list-domainsList all custom domains for a project.
| Parameter | Type | Required | Description |
|---|---|---|---|
project_id | string | Yes | Project ID |
get-domainGet domain details including DNS verification status and SSL state.
| Parameter | Type | Required | Description |
|---|---|---|---|
project_id | string | Yes | Project ID |
domain_id | string | Yes | Domain ID |
remove-domainRemove a custom domain from a project.
| Parameter | Type | Required | Description |
|---|---|---|---|
project_id | string | Yes | Project ID |
domain_id | string | Yes | Domain ID to remove |
| Variable | Required | Default | Description |
|---|---|---|---|
SOTA_API_KEY | Yes | β | API key with sota_ prefix. Create at sota.io/dashboard/settings |
SOTA_API_URL | No | https://api.sota.io | API base URL |
Problem: Your IDE doesn't inherit the shell PATH where nvm/fnm is loaded.
Fix: Use the absolute path to npx. Find it with:
Then update your MCP config to use the absolute path:
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:
Problem: Network issue or wrong API URL.
No reviews yet β be the first to share how this listing worked for you.
Showcase your server listing on GitHub or your project documentation. Embed this dynamic SVG badge to highlight official listing status and live engagement.
[](https://allmcps.com/mcp/sota)<a href="https://allmcps.com/mcp/sota"><img src="https://allmcps.com/api/badge/sota?style=directory" alt="Sota on AllMCPs" /></a>