Skip to main content
Glama

@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.

Related MCP server: AppsAI MCP Server

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:

npx -y @sota-io/mcp

Or install globally:

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

Configuration

Claude Code

CLI method:

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

Then set your API key in the shell environment:

export SOTA_API_KEY=sota_your_api_key_here

Manual JSON (.claude/settings.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

{
  "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:

{
  "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:

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

Tools

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

deploy

Deploy 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)

"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.

Parameter

Type

Required

Description

project_id

string

Yes

Project ID to get logs for

deployment_id

string

No

Specific deployment ID (defaults to latest)

"Show me the build logs for my sota.io project"

set-env

Set 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

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

get-env

List environment variables for a project.

Parameter

Type

Required

Description

project_id

string

Yes

Project ID

"Show all environment variables for my project"

rollback

Rollback 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

"Roll back my app to the previous version"

get-status

Get 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

"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.

Parameter

Type

Required

Description

name

string

Yes

Name 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.

Parameter

Type

Required

Description

project_id

string

Yes

Project 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.

Parameter

Type

Required

Description

project_id

string

Yes

Project ID

domain

string

Yes

Domain 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.

Parameter

Type

Required

Description

project_id

string

Yes

Project ID

"Show all custom domains for my project"

get-domain

Get 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

"Check the DNS status of my custom domain"

remove-domain

Remove a custom domain from a project.

Parameter

Type

Required

Description

project_id

string

Yes

Project ID

domain_id

string

Yes

Domain ID to remove

"Remove the custom domain from my project"

Environment Variables

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

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:

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

Then update your MCP config to use the absolute path:

{
  "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:

{
  "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

Install Server
A
license - permissive license
A
quality
D
maintenance

Maintenance

Maintainers
Response time
Release cycle
Releases (12mo)
Commit activity

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Servers

  • A
    license
    -
    quality
    D
    maintenance
    Enables AI assistants to manage Dokploy deployments, including creating and deploying applications, managing databases, configuring domains with SSL, and monitoring application status through a standardized interface.
    45
    MIT
  • A
    license
    A
    quality
    A
    maintenance
    Enables AI assistants to deploy, manage, and rollback websites via the Krexel API, supporting site uploads, deploys, logs, rollbacks, environment variables, and status checks.
    9
    145
    MIT

View all related MCP servers

Related MCP Connectors

  • Deploy a multi-user web app from your agent: hosting, auth, database, and permissions.

  • Build and deploy websites, Telegram and Discord bots from chat via the DreamAgent platform.

  • Agent-native web hosting — deploy sites, manage DNS, register domains, scale infrastructure

View all MCP Connectors

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/sota-deploy/mcp-server'

If you have feedback or need assistance with the MCP directory API, please join our Discord server