Sota

io.github.sota-deploy由 GitHub 帳號 sota-deploy 發布v1.1.1更新於 Oct 24, 2026

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

發布方自己的服務:Sota

概覽

AI 產生的概覽

Sota 讓 AI 助理在 sota.io 上部署與管理網頁應用程式:部署程式碼、查看日誌、設定環境變數、回復版本,以及管理專案與自訂網域。

可以做什麼
從本機目錄部署應用程式,查詢部署狀態或回復到上一個版本。讀取專案或指定部署的建置與執行日誌。設定並列出專案的環境變數。建立、列出並永久刪除專案。新增、列出、檢視與移除自訂網域,包含 DNS 與 SSL 狀態。
適用情境
當你的應用程式託管在 sota.io,並希望直接在聊天用戶端中部署、查看日誌、修改環境變數或管理網域與專案,而不必開啟主控台時使用。
執行需求
需要本機 Node.js 執行環境,在桌面 MCP 用戶端中透過 npx 等方式執行這個 npm 套件。需要 sota.io 帳號,並透過 SOTA_API_KEY 環境變數提供 API 金鑰;SOTA_API_URL 為選用。需要能連線至 sota.io API 的網路。
安裝前請注意
SOTA_API_KEY 中的 API 金鑰可存取你的 sota.io 帳號,並會存放在用戶端設定中。多個工具會變更或刪除資料:deploy 會上傳所選目錄的 tar.gz 壓縮檔,set-env 會把資料庫位址等機密寫入專案設定,delete-project 與 remove-domain 無法復原。部署與網域可能產生 sota.io 方案費用。

安裝

在 SourceWeft 中

  1. 開啟 儀表板中的 Sota,將其新增到工作區。
  2. 為需要使用其工具的對話啟用該服務。

Desktop only,透過 STDIO。 STDIO 服務會啟動本機處理程序,因此需要 SourceWeft 桌面主機。

其他 MCP 客戶端

參照 儲存庫 中的啟動說明。

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

來源:README.md,提交 45bf3b4

工具

0
SourceWeft 尚未在沙箱中啟動過該軟體包,因此其工具未知。

版本歷史

1
  1. v1.1.1最新Sep 16, 2026

評分

已滿足適用檢查項的 50%

該評分衡量此收錄條目的完整程度,依據註冊中心條目、端點與公開來源計算得出。它不是對伺服器本身的評價,也不表示伺服器安全或目前可用:可連通性是帶日期的檢查結果,評分也不包含安裝量或使用者評價。

  • 近 30 天內可連通25 分

    請保持端點能夠回應 MCP 握手;SourceWeft 每 30 天探測一次。

  • 已宣告認證方式10 分

    請在註冊中心條目中宣告憑證請求標頭,或保持端點能夠回應探測,以便判定其認證方式。

  • 已列出工具15 分

    請讓伺服器在無憑證時回應 tools/list,或發布可在沙箱中無憑證啟動的軟體包。

  • 描述必需15 分
  • 圖示10 分
  • 文件15 分
  • 授權條款10 分

其他 Sota 整合