mcpField
S
sota

sota

本地服务
github.com/sota-deploy云与基础设施023 周前更新

关于 sota

sota 是用于在 sota.io 部署和管理 Web 应用的 MCP 服务,面向使用 AI Agent 和 MCP 客户端的开发者。其工具涵盖部署、日志、环境变量、项目、回滚和自定义域名。

主要功能

  1. 01部署 Web 应用
  2. 02查看构建和运行日志
  3. 03管理环境变量
  4. 04查看状态并回滚部署
  5. 05创建和管理项目
  6. 06管理自定义域名

适用场景

  1. 01将应用目录部署到 sota.io
  2. 02查看日志或部署状态
  3. 03更新项目环境变量
  4. 04添加或检查自定义域名

MCP 相关

sota 提供供本地客户端使用的 stdio MCP 服务,以及用于托管远程端点的 Streamable HTTP 传输。其工具用于管理 sota.io 项目和部署。

配置

本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。

mcp.json · 通用配置
{
"mcpServers": {
"sota-deploy-sota": {
"command": "npx",
"args": [
"-y",
"@sota-io/mcp"
]
}
}
}
启动命令npx -y @sota-io/mcp

本地服务需要在你的电脑上安装运行环境(如 Node.js 18+)。各客户端的配置文件位置不同,请参考客户端文档。

安装包
npm@sota-io/mcp1.1.1

工具

还没有获取到工具列表

本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。

详细介绍

@sota-io/mcp

适用于 sota.io 的 MCP 服务 — 通过 AI Agent 部署 Web 应用。

npm version npm downloads License: MIT Node

两种传输方式

自 v1.4.0 起,此软件包提供 两种传输方式:

  • sota-mcp(stdio,默认)— 适用于 Claude Code、Cursor、Windsurf,以及任何会启动本地进程的 MCP 客户端。通过环境变量传递 SOTA_API_KEY。
  • sota-mcp-http(Streamable HTTP)— 适用于自托管为 mcp.sota.io 提供支持的远程端点 (Claude Desktop 和 Claude.ai 网页版使用)。读取 SUPABASE_JWT_SECRET、DATABASE_URL 等 — 大多数用户不需要此方式; 如果你想托管自己的端点,它使用的代码与 mcp.sota.io 相同。

大多数用户需要的是 stdio 传输方式。

一键安装到 Claude Desktop / Claude.ai 网页版

如果你使用 Claude Desktop 或 Claude.ai(Pro / Max / Team / Enterprise 计划), 最简单的安装方式不是这个 npm 软件包,而是托管在 mcp.sota.io 的远程 端点。点击此处:

添加到 Claude →

OAuth 负责处理身份验证。新用户可以完全在 Claude 内通过 create_account 工具注册,无需切换到浏览器标签页。

参见 https://sota.io/docs/integrations/claude。

快速入门(stdio — Claude Code、Cursor、Windsurf、…)

  1. 从 sota.io/dashboard/settings 获取 API 密钥
  2. 配置你的 IDE
  3. 告诉你的 AI:“将我的应用部署到 sota.io”

安装

无需安装 — 直接使用 npx 运行:

npx -y @sota-io/mcp

或全局安装:

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

配置

Claude Code

命令行方式:

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

然后在 Shell 环境中设置你的 API 密钥:

export SOTA_API_KEY=sota_your_api_key_here

手动编辑 JSON(.claude/settings.json):

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

编辑 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

在项目根目录中创建 .cursor/mcp.json:

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

编辑 ~/.codeium/windsurf/mcp_config.json:

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

工具

工具描述参数
deploy部署应用project_id、directory?
get-logs获取构建/运行时日志project_id、deployment_id?
set-env设置环境变量project_id、key、value
get-env列出环境变量project_id
rollback回滚到上一次部署project_id
get-status获取部署状态project_id
list-projects列出所有项目(无)
create-project创建新项目name
delete-project永久删除项目project_id
add-domain为项目添加自定义域名project_id、domain
list-domains列出自定义域名project_id
get-domain获取域名详情和 DNS 状态project_id、domain_id
remove-domain移除自定义域名project_id、domain_id
deploy

将应用部署到 sota.io。此工具会将指定目录打包为 tar.gz 压缩包并上传。

参数类型必填描述
project_idstring是要部署到的项目 ID
directorystring否要部署的目录(默认为当前工作目录)
"Deploy my app in the current directory to sota.io"
get-logs

获取部署的构建和运行时日志。如果未提供 deployment_id,则返回最新部署的日志。

参数类型必填描述
project_idstring是要获取日志的项目 ID
deployment_idstring否特定部署 ID(默认为最新部署)
"Show me the build logs for my sota.io project"
set-env

为项目设置环境变量。

参数类型必填描述
project_idstring是项目 ID
keystring是环境变量名称(例如,DATABASE_URL)
valuestring是环境变量值
"Set DATABASE_URL on my project to postgres://localhost/mydb"
get-env

列出项目的环境变量。

参数类型必填描述
project_idstring是项目 ID
"Show all environment variables for my project"
rollback

将项目回滚到上一次部署。此操作会切换容器映像,不会重新构建。

参数类型必填描述
project_idstring是要回滚的项目 ID
"Roll back my app to the previous version"
get-status

获取项目当前的部署状态,包括 URL 和近期部署历史记录。

参数类型必填描述
project_idstring是要查询状态的项目 ID
"What's the status of my sota.io deployment?"
list-projects

列出 sota.io 账户中的所有项目。

无需参数。

"List my sota.io projects"
create-project

在 sota.io 上创建新项目。项目 slug 会根据名称自动生成(小写字母、连字符,最多 63 个字符),并用作子域名({slug}.sota.io)。例如,"My API" 会变为 my-api.sota.io。

参数类型必填描述
namestring是新项目的名称
"Create a new sota.io project called my-api"
delete-project

从 sota.io 删除项目及其所有部署。此操作不可撤销。

参数类型必填描述
project_idstring是要删除的项目 ID
"Delete my sota.io project abc123"
add-domain

为项目添加自定义域名。返回用于指向该域名的 DNS 配置说明。

参数类型必填描述
project_idstring是项目 ID
domainstring是域名(例如,"example.com" 或 "app.example.com")
"Add example.com as a custom domain to my project"
list-domains

列出项目的所有自定义域名。

参数类型必填描述
project_idstring是项目 ID
"Show all custom domains for my project"
get-domain

获取域名详情,包括 DNS 验证状态和 SSL 状态。

参数类型必填描述
project_idstring是项目 ID
domain_idstring是域名 ID
"Check the DNS status of my custom domain"
remove-domain

从项目中移除自定义域名。

参数类型必填描述
project_idstring是项目 ID
domain_idstring是要移除的域名 ID
"Remove the custom domain from my project"

环境变量

变量必填默认值描述
SOTA_API_KEY是—带有 sota_ 前缀的 API 密钥。在 sota.io/dashboard/settings 创建
SOTA_API_URL否https://api.sota.ioAPI 基础 URL

故障排除

“npx: command not found”

问题: IDE 未继承加载 nvm/fnm 的 shell PATH。

解决方法: 使用 npx 的绝对路径。使用以下命令查找:

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

然后更新 MCP 配置,使用绝对路径:

{
  "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 环境变量”

问题: MCP 配置中未设置 API 密钥。

解决方法: 在 MCP 服务配置中添加 env 块。Shell 环境变量不会自动传递给 MCP 服务,因此必须在配置中添加 env 块:

{
  "env": {
    "SOTA_API_KEY": "sota_your_api_key_here"
  }
}
连接被拒绝或超时错误

问题: 网络问题或 API URL 错误。

解决方法: 检查互联网连接。如果使用自定义 API URL,请确认 SOTA_API_URL 设置正确。默认值为 https://api.sota.io。

许可证

MIT

链接

评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。