mcpField
S
Sevalla

Sevalla

远程服务
sevalla.com云与基础设施101 天前更新

关于 Sevalla

Sevalla MCP 是供 AI Agent 管理 Sevalla 应用、数据库和静态站点的托管服务。专用工具覆盖常见部署与运维任务,另按操作类型提供其他 API 访问能力。

主要功能

  1. 01部署和回滚服务
  2. 02读取日志与指标
  3. 03管理环境变量和域名
  4. 04创建和扩展服务
  5. 05访问经过审核的 API 操作

适用场景

  1. 01排查部署失败原因
  2. 02查看近期运行时错误
  3. 03部署应用或执行回滚
  4. 04创建数据库并连接到应用

MCP 相关

MCP 客户端可连接 `https://mcp.sevalla.com/mcp` 并通过 OAuth 验证,也可使用 Sevalla API 密钥。服务提供服务发现、部署、可观测性、配置、创建及经过审核的 API 操作工具。

配置

远程服务无需本地安装。选择你使用的客户端,复制配置或使用一键安装。

服务地址https://mcp.sevalla.com/mcp
一键复制安装命令
Claude CodeTerminal
Cursor.cursor/mcp.json
VS Code.vscode/mcp.json
Claude Desktopclaude_desktop_config.json
Windsurf~/.codeium/windsurf/mcp_config.json

命令在终端中运行;JSON 粘贴到对应客户端的 MCP 配置后重启。需要授权的服务会在首次连接时提示登录。

工具

详细介绍

README 配图

Sevalla MCP 服务

通过任意 AI Agent 部署、调试和管理 Sevalla 应用、数据库和静态网站。

CI License: MIT Node.js

文档 · Sevalla · mcp.sevalla.com

这是一个面向 Sevalla 的远程 Model Context Protocol(MCP)服务,让 Claude Code、Cursor 和 Codex 等 AI Agent 能够使用 Sevalla 公司中的应用、数据库和静态网站。它提供 27 个工具:22 个专为日常工作流打造的工具(用于部署、读取日志和指标、管理环境变量、扩缩容、配置域名和创建服务),以及 5 个通过操作 ID 调用 Sevalla API 其余部分的通用工具,分别用于读取、创建、更新和删除。

快速开始

将 MCP 客户端连接到托管服务 https://mcp.sevalla.com/mcp,然后在客户端打开浏览器时使用 Sevalla 账户登录。

Claude Code
claude mcp add --transport http sevalla https://mcp.sevalla.com/mcp

然后在 Claude Code 中输入 /mcp,选择 Authenticate 完成 OAuth 流程。

Claude Code MCP 文档

Claude Desktop

通过 Settings → Connectors → Add Connector 添加,并输入 https://mcp.sevalla.com/mcp 作为 URL。Claude Desktop 会自动处理 OAuth。

Claude Desktop MCP 文档

Cursor

在项目根目录的 .cursor/mcp.json 中添加:

{
  "mcpServers": {
    "sevalla": {
      "url": "https://mcp.sevalla.com/mcp"
    }
  }
}

Cursor MCP 文档

Windsurf

在 ~/.codeium/windsurf/mcp_config.json 中添加:

{
  "mcpServers": {
    "sevalla": {
      "serverUrl": "https://mcp.sevalla.com/mcp"
    }
  }
}

Windsurf MCP 文档

OpenCode

在项目根目录的 opencode.json 中添加:

{
  "$schema": "https://opencode.ai/config.json",
  "mcp": {
    "sevalla": {
      "type": "remote",
      "url": "https://mcp.sevalla.com/mcp"
    }
  }
}

然后运行 opencode mcp auth sevalla 完成 OAuth 流程。

OpenCode MCP 文档

工具

每个工具都带有标题,以及明确的 readOnlyHint、destructiveHint、idempotentHint 和 openWorldHint 注释,因此 Claude 等客户端运行只读工具时无需询问,而执行破坏性操作时则始终会要求确认。

类别工具
发现list_services、get_application、get_static_site、get_database、get_platform_options、search_sevalla_docs
部署list_deployments、get_deployment、get_deployment_logs、trigger_deployment、rollback_deployment
可观测性search_runtime_logs、search_access_logs、get_metrics
配置list_environment_variables、set_environment_variables、delete_environment_variables、scale_process、add_domain
创建create_application、create_static_site、create_database
API 其余部分sevalla_api_search、sevalla_api_read、sevalla_api_create、sevalla_api_update、sevalla_api_delete

通用工具只接受从 Sevalla API v3 规范生成的、经过审核的表中的操作 ID:由服务而非模型选择 HTTP 方法和路径,并且每个工具只会执行其所属类别的操作。

密钥和破坏性操作

环境变量的值会被隐藏:工具会列出变量键及其作用范围,并可设置或删除这些变量,但绝不会返回变量值。Sevalla API 提供的其他所有功能均可使用,包括删除整个服务、管理 API 密钥,以及会生成新密钥的操作(轮换 webhook 密钥、重新生成部署钩子、轮换存储凭据);这些操作会返回相应密钥。破坏性工具会添加标注,以便 Claude 在每次调用前请求确认。命令会在进程中运行(execProcessCommandV3),应用日志仍可能显示密钥。

身份验证

客户端通过 OAuth 登录:客户端会打开浏览器,你在 Sevalla 控制面板中批准连接,批准后会为该客户端创建 API 密钥。客户端的配置中无需填写 API 密钥。不支持 OAuth 的客户端可以改为通过 Authorization: Bearer <api-key> 发送 Sevalla API 密钥。

每个工具的权限受连接所用 Sevalla API 密钥的权限限制。Sevalla API 密钥支持细粒度权限,因此只读密钥可确保 Agent 保持只读。完整 API 参考见 api-docs.sevalla.com。

工作原理

AI Agent 如何使用 Sevalla 的 MCP 服务:你的 Agent 使用 OAuth 或 API 密钥登录后调用服务上的工具;服务会根据密钥权限调用 Sevalla API,以管理你的应用、数据库和静态网站。

每个请求都会创建一个绑定到调用方 API 密钥的新 MCP 服务;请求之间不会存储任何内容。该服务支持 MCP 2026-07-28(server/discover、逐请求元数据、可缓存的工具列表),也会通过同一 URL 向使用 2025 版规范(从 2025-11-25 到 2024-11-05)的客户端提供服务,且工具保持不变。

登录采用 OAuth 2.1 和 PKCE。客户端通过 OAuth 客户端 ID 元数据文档(Claude、ChatGPT 和 VS Code 均采用此方式)或(对于较旧的客户端)动态客户端注册来标识自身。该流程同样无状态:待处理的授权信息会以 HMAC 签名的形式写入回调 URL,授权码使用 AES-256-GCM 加密,访问令牌经过加密,并绑定到 https://mcp.sevalla.com/mcp。

示例

  • “为什么 storefront 的最新部署失败了?”
  • “部署 storefront 的 main 分支,并在上线时告诉我。”
  • “总结过去一小时 storefront 运行时日志中的错误。”
  • “在法兰克福创建一个 PostgreSQL 数据库,并将它连接到 storefront。”
  • “将 shop.example.com 添加到 storefront,并告诉我需要创建哪些 DNS 记录。”

卸载

要彻底移除 Sevalla MCP 服务,请删除服务配置,并且清除已存储的 OAuth 凭据。

移除 MCP 服务不会删除你在 Sevalla 上的 API 密钥。要撤销该密钥,请前往 app.sevalla.com/api-keys。

Claude Code
claude mcp remove sevalla

然后清除已存储的 OAuth 令牌:在 Claude Code 中运行 /mcp,选择 sevalla,再选择 Clear authentication。

如果服务添加时使用了非默认作用域,请明确指定该作用域:

claude mcp remove --scope user sevalla
claude mcp remove --scope project sevalla

Claude Code MCP 参考

Claude Desktop

打开 Settings → Connectors,找到 Sevalla 连接器并将其移除。然后完全退出并重启 Claude Desktop。

OAuth 令牌存储在操作系统的钥匙串中(macOS Keychain / Windows Credential Manager)。要移除令牌,请手动从钥匙串中删除 Sevalla 条目。

Claude Desktop MCP 文档

Cursor

从 .cursor/mcp.json(项目级)或 ~/.cursor/mcp.json(全局)中删除 sevalla 条目。然后清除缓存的 OAuth 令牌:

rm -rf ~/.mcp-auth

Cursor MCP 文档

Windsurf

从 ~/.codeium/windsurf/mcp_config.json 中删除 sevalla 条目。

Windsurf MCP 文档

OpenCode
opencode mcp logout sevalla

然后从项目根目录中的 opencode.json 删除 sevalla 条目。

OpenCode MCP 文档

自托管

要求: Node.js 26(24 也可运行)和 pnpm 12。TypeScript 可原生运行,无需构建步骤。

git clone https://github.com/sevalla/mcp.git
cd mcp
pnpm install
pnpm start

也可以使用 Docker:

docker build -t sevalla-mcp .
# OAUTH_SECRET (base64url-encoded 32 bytes) comes from the environment
docker run -p 3000:3000 -e OAUTH_SECRET sevalla-mcp
变量用途
PORTHTTP 端口(默认 3000)
OAUTH_SECRETbase64url 编码的 32 字节;当 NODE_ENV=production 时必需
PUBLIC_URLOAuth 元数据中使用的公共基础 URL(默认 https://mcp.sevalla.com)
SEVALLA_FRONTEND_URLOAuth 授权页面使用的 Sevalla 控制面板 URL(默认 https://app.sevalla.com)
SEVALLA_API_URLSevalla API 基础 URL(默认 https://api.sevalla.com)
SEVALLA_DOCS_URLsearch_sevalla_docs 搜索的文档站点(默认 https://docs.sevalla.com)
DEVICE_CODE_TRUSTED_CLIENT_TOKEN服务令牌,使 API 能按每个最终用户 IP(而非每个服务器 IP)对 OAuth 登录进行速率限制
CLIENT_IP_HEADER携带最终用户 IP 的标头,由你的边缘网络设置(默认 x-forwarded-for;在 Cloudflare 后方使用 cf-connecting-ip)
TRUSTED_PROXY_HOPS使用 x-forwarded-for 时:向其追加内容的可信代理数量;客户端 IP 从右侧起读取对应数量的条目(默认 1)
SEVALLA_API_KEY--stdio 模式:Sevalla API 密钥
SHUTDOWN_TIMEOUT_MS优雅关闭的截止时间(默认 30000)
OPENAI_APPS_CHALLENGE在 /.well-known/openai-apps-challenge 提供的域名验证令牌,用于提交 OpenAI 插件

生产环境中的客户端 IP。 设备码速率限制按每个最终用户 IP 应用,因此服务器必须从由你的边缘网络控制的来源读取该 IP。在 Cloudflare 后方,将 CLIENT_IP_HEADER=cf-connecting-ip,并确保源站无法绕过 Cloudflare 直接访问,否则该标头可能被伪造。如果不使用 Cloudflare,请将 TRUSTED_PROXY_HOPS 设为向 X-Forwarded-For 追加内容的代理数量。默认设置读取最右侧条目;在 CDN 或负载均衡器后方,这通常是代理地址,因此所有用户都会共用一个限制。

开发

# Hot reload (node --watch)
pnpm dev

# Unit and end-to-end tests (node:test), e2e as both 2026-07-28 and 2025 clients
pnpm test

# End-to-end tests: real HTTP server, MCP SDK client, fake Sevalla API
pnpm test:e2e

# Live checks: client metadata documents; API smoke test and fake API fidelity with SEVALLA_E2E_API_KEY
pnpm test:live

# Evals through headless Claude Code against the fake API (see evals/)
pnpm eval

# tsc + oxlint + oxfmt
pnpm check:code

# Regenerate src/sevalla/operations.json from the live API spec
pnpm sync:operations

# Fail if the live API spec drifted from the snapshot
pnpm check:operations

test/policy.test.ts 中的策略测试会针对实时工具列表检查 Anthropic 的连接器目录要求:每个工具都必须有标题和明确提示,读写操作必须分开,描述应说明工具功能而非提供操作指示,并且工具定义不得超过大小限制。

许可证

MIT。请参阅 LICENSE。

评论

支持 Markdown

第一次接触 MCP?

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

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