关于 Sevalla
Sevalla MCP 是供 AI Agent 管理 Sevalla 应用、数据库和静态站点的托管服务。专用工具覆盖常见部署与运维任务,另按操作类型提供其他 API 访问能力。
主要功能
- 01部署和回滚服务
- 02读取日志与指标
- 03管理环境变量和域名
- 04创建和扩展服务
- 05访问经过审核的 API 操作
适用场景
- 01排查部署失败原因
- 02查看近期运行时错误
- 03部署应用或执行回滚
- 04创建数据库并连接到应用
MCP 相关
MCP 客户端可连接 `https://mcp.sevalla.com/mcp` 并通过 OAuth 验证,也可使用 Sevalla API 密钥。服务提供服务发现、部署、可观测性、配置、创建及经过审核的 API 操作工具。
配置
远程服务无需本地安装。选择你使用的客户端,复制配置或使用一键安装。
https://mcp.sevalla.com/mcpclaude mcp add --transport http sevalla https://mcp.sevalla.com/mcp{"mcpServers":{"sevalla":{"type":"http","url":"https://mcp.sevalla.com/mcp"}}}在 Cursor 中打开{"servers":{"sevalla":{"type":"http","url":"https://mcp.sevalla.com/mcp"}}}在 VS Code 中打开{"mcpServers":{"sevalla":{"type":"http","url":"https://mcp.sevalla.com/mcp"}}}{"mcpServers":{"sevalla":{"serverUrl":"https://mcp.sevalla.com/mcp"}}}命令在终端中运行;JSON 粘贴到对应客户端的 MCP 配置后重启。需要授权的服务会在首次连接时提示登录。
工具
详细介绍
这是一个面向 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 Desktop
通过 Settings → Connectors → Add Connector 添加,并输入 https://mcp.sevalla.com/mcp 作为 URL。Claude Desktop 会自动处理 OAuth。
Cursor
在项目根目录的 .cursor/mcp.json 中添加:
{
"mcpServers": {
"sevalla": {
"url": "https://mcp.sevalla.com/mcp"
}
}
}
Windsurf
在 ~/.codeium/windsurf/mcp_config.json 中添加:
{
"mcpServers": {
"sevalla": {
"serverUrl": "https://mcp.sevalla.com/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 流程。
工具
每个工具都带有标题,以及明确的 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。
工作原理
每个请求都会创建一个绑定到调用方 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 Desktop
打开 Settings → Connectors,找到 Sevalla 连接器并将其移除。然后完全退出并重启 Claude Desktop。
OAuth 令牌存储在操作系统的钥匙串中(macOS Keychain / Windows Credential Manager)。要移除令牌,请手动从钥匙串中删除 Sevalla 条目。
Cursor
从 .cursor/mcp.json(项目级)或 ~/.cursor/mcp.json(全局)中删除 sevalla 条目。然后清除缓存的 OAuth 令牌:
rm -rf ~/.mcp-auth
Windsurf
从 ~/.codeium/windsurf/mcp_config.json 中删除 sevalla 条目。
OpenCode
opencode mcp logout sevalla
然后从项目根目录中的 opencode.json 删除 sevalla 条目。
自托管
要求: 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
| 变量 | 用途 |
|---|---|
PORT | HTTP 端口(默认 3000) |
OAUTH_SECRET | base64url 编码的 32 字节;当 NODE_ENV=production 时必需 |
PUBLIC_URL | OAuth 元数据中使用的公共基础 URL(默认 https://mcp.sevalla.com) |
SEVALLA_FRONTEND_URL | OAuth 授权页面使用的 Sevalla 控制面板 URL(默认 https://app.sevalla.com) |
SEVALLA_API_URL | Sevalla API 基础 URL(默认 https://api.sevalla.com) |
SEVALLA_DOCS_URL | search_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。
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。