关于 sota
sota 是用于在 sota.io 部署和管理 Web 应用的 MCP 服务,面向使用 AI Agent 和 MCP 客户端的开发者。其工具涵盖部署、日志、环境变量、项目、回滚和自定义域名。
主要功能
- 01部署 Web 应用
- 02查看构建和运行日志
- 03管理环境变量
- 04查看状态并回滚部署
- 05创建和管理项目
- 06管理自定义域名
适用场景
- 01将应用目录部署到 sota.io
- 02查看日志或部署状态
- 03更新项目环境变量
- 04添加或检查自定义域名
MCP 相关
sota 提供供本地客户端使用的 stdio MCP 服务,以及用于托管远程端点的 Streamable HTTP 传输。其工具用于管理 sota.io 项目和部署。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
工具
本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。
详细介绍
@sota-io/mcp
适用于 sota.io 的 MCP 服务 — 通过 AI Agent 部署 Web 应用。
两种传输方式
自 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 的远程
端点。点击此处:
OAuth 负责处理身份验证。新用户可以完全在 Claude 内通过
create_account 工具注册,无需切换到浏览器标签页。
参见 https://sota.io/docs/integrations/claude。
快速入门(stdio — Claude Code、Cursor、Windsurf、…)
- 从 sota.io/dashboard/settings 获取 API 密钥
- 配置你的 IDE
- 告诉你的 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_id | string | 是 | 要部署到的项目 ID |
directory | string | 否 | 要部署的目录(默认为当前工作目录) |
"Deploy my app in the current directory to sota.io"
get-logs
获取部署的构建和运行时日志。如果未提供 deployment_id,则返回最新部署的日志。
| 参数 | 类型 | 必填 | 描述 |
|---|---|---|---|
project_id | string | 是 | 要获取日志的项目 ID |
deployment_id | string | 否 | 特定部署 ID(默认为最新部署) |
"Show me the build logs for my sota.io project"
set-env
为项目设置环境变量。
| 参数 | 类型 | 必填 | 描述 |
|---|---|---|---|
project_id | string | 是 | 项目 ID |
key | string | 是 | 环境变量名称(例如,DATABASE_URL) |
value | string | 是 | 环境变量值 |
"Set DATABASE_URL on my project to postgres://localhost/mydb"
get-env
列出项目的环境变量。
| 参数 | 类型 | 必填 | 描述 |
|---|---|---|---|
project_id | string | 是 | 项目 ID |
"Show all environment variables for my project"
rollback
将项目回滚到上一次部署。此操作会切换容器映像,不会重新构建。
| 参数 | 类型 | 必填 | 描述 |
|---|---|---|---|
project_id | string | 是 | 要回滚的项目 ID |
"Roll back my app to the previous version"
get-status
获取项目当前的部署状态,包括 URL 和近期部署历史记录。
| 参数 | 类型 | 必填 | 描述 |
|---|---|---|---|
project_id | string | 是 | 要查询状态的项目 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。
| 参数 | 类型 | 必填 | 描述 |
|---|---|---|---|
name | string | 是 | 新项目的名称 |
"Create a new sota.io project called my-api"
delete-project
从 sota.io 删除项目及其所有部署。此操作不可撤销。
| 参数 | 类型 | 必填 | 描述 |
|---|---|---|---|
project_id | string | 是 | 要删除的项目 ID |
"Delete my sota.io project abc123"
add-domain
为项目添加自定义域名。返回用于指向该域名的 DNS 配置说明。
| 参数 | 类型 | 必填 | 描述 |
|---|---|---|---|
project_id | string | 是 | 项目 ID |
domain | string | 是 | 域名(例如,"example.com" 或 "app.example.com") |
"Add example.com as a custom domain to my project"
list-domains
列出项目的所有自定义域名。
| 参数 | 类型 | 必填 | 描述 |
|---|---|---|---|
project_id | string | 是 | 项目 ID |
"Show all custom domains for my project"
get-domain
获取域名详情,包括 DNS 验证状态和 SSL 状态。
| 参数 | 类型 | 必填 | 描述 |
|---|---|---|---|
project_id | string | 是 | 项目 ID |
domain_id | string | 是 | 域名 ID |
"Check the DNS status of my custom domain"
remove-domain
从项目中移除自定义域名。
| 参数 | 类型 | 必填 | 描述 |
|---|---|---|---|
project_id | string | 是 | 项目 ID |
domain_id | string | 是 | 要移除的域名 ID |
"Remove the custom domain from my project"
环境变量
| 变量 | 必填 | 默认值 | 描述 |
|---|---|---|---|
SOTA_API_KEY | 是 | — | 带有 sota_ 前缀的 API 密钥。在 sota.io/dashboard/settings 创建 |
SOTA_API_URL | 否 | https://api.sota.io | API 基础 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
链接
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。