Skip to main content
The Sevalla MCP server lets an AI agent work with your Sevalla company through the Model Context Protocol. The agent can deploy and roll back, read deployment, runtime and access logs, check metrics, manage environment variables, scale processes, add domains, create services, and reach the rest of the Sevalla API. Every MCP client that supports remote servers connects to the same hosted URL:

Connect a client

Claude Code

Add the server with claude mcp add.

Claude desktop and web

Add Sevalla as a custom connector.

Codex

Add the server with codex mcp add.

Cursor

Add the server to mcp.json.

Windsurf (Devin Desktop)

Add the server to mcp_config.json.

OpenCode

Add the server to opencode.json.
Any other client works the same way: give it https://mcp.sevalla.com/mcp and let it sign in with OAuth, or send an API key.

How it works

Your AI agent calls tools on Sevalla's MCP server, signed in with OAuth or an API key. The server calls the Sevalla API, limited by the key's permissions, to manage your company's applications, databases and static sites, and environment variable values are never returned. Your AI agent calls tools on Sevalla's MCP server, signed in with OAuth or an API key. The server calls the Sevalla API, limited by the key's permissions, to manage your company's applications, databases and static sites, and environment variable values are never returned. The MCP client sends each tool call to https://mcp.sevalla.com/mcp with a bearer token. The server checks the token, turns the call into one or more Sevalla API requests made with the API key behind the token, and returns the result to the agent.

Sign in with OAuth

OAuth is the default: you add the URL to your client and sign in through the Sevalla dashboard, with no secret in the client’s configuration.
1

Start the sign-in from the client

Add the server to your client and start its sign-in (each client page says how). The client opens app.sevalla.com in your browser. If you aren’t signed in to Sevalla, sign in first.
2

Pick the company

The page is titled Authorize followed by the client’s name. If you belong to more than one company, select the company the agent works in. The agent can only reach that company.
3

Set the permissions

Under Set permissions, choose Predefined role and pick a role, or choose Custom capabilities and tick individual permissions, optionally limited to specific resources. These are the same choices as for any API key. Pick Company viewer to keep the agent read-only.
4

Authorize

Click Authorize. The page shows Authorization successful and sends you back to the client. To refuse, click Deny.
Approving the request creates an API key in the company with the permissions you chose and no expiration. Its name starts with Sevalla MCP followed by the client and the time you approved it, and it’s listed under Tools > API keys. The client receives an access token that wraps this key: it works until you disable or delete the key, or until the old token expires after you rotate it. Then sign in again from the client. The request expires 5 minutes after the client starts it. If the page says This device code has expired, start the sign-in again from the client.

Use an API key instead

Clients that can’t do OAuth, CI jobs and scripts can send a Sevalla API key directly:
Create an API key with only the permissions the agent needs, and keep it in an environment variable, never in a file you commit. Each client page shows where the header goes. The key works with the MCP server exactly as it does with the API.

Tools

The server has 27 tools: 22 for everyday tasks, and 5 generic tools that run the rest of the Sevalla API by operation ID. Every tool has a title (clients show it when they ask for approval) and explicit annotations.

Discovery

Deployments

Observability

Configuration

Create

Rest of the API

The generic tools accept only operation IDs from a reviewed list generated from the API reference. The server, not the model, picks the HTTP method and path, and each tool runs only operations of its own kind: sevalla_api_read can’t run a delete. Operations that have a dedicated tool, such as deployments, must go through that tool. Three operations aren’t available at all: creating and polling device codes (part of sign-in) and the interactive terminal session (it needs a WebSocket).

Annotations

Each tool’s kind sets its MCP annotations. Clients use them to decide which calls run without asking and which need your confirmation. Three tools differ from their kind: set_environment_variables and scale_process have idempotentHint: true, and scale_process and create_database have openWorldHint: false.

Permissions and secrets

The agent can do exactly what the API key behind the connection allows, nothing more. A tool call that needs a permission the key doesn’t have fails with the API’s 403 message, for example This API key is missing the APP:UPDATE permission. Grant it to the key or use a key that has it. To change what an agent can do, update the key’s permissions.
Give an agent the smallest set of permissions it needs. A key with a role such as Company admin lets the agent delete applications, databases and their backups, which you can’t undo.

Example prompts

  • “Why did the latest deployment of storefront fail?”
  • “Deploy the main branch of storefront and tell me when it’s live.”
  • “Summarize the errors in storefront’s runtime logs from the last hour.”
  • “Create a PostgreSQL database called orders-db in Frankfurt and connect it to storefront.”
  • “Add shop.example.com to storefront and tell me which DNS records to create.”
  • “Which of my applications returned the most 5xx responses today?”

Disconnect an agent

Removing the server from a client stops that client from calling it. Each client page has the steps under Remove the server. Removing the server doesn’t delete the API key in Sevalla: to revoke access everywhere the key is used, disable or delete the key under Tools > API keys. From then on, every tool call made with the key fails with 401 Unauthorized.

Self-host the server

The server is open source and runs on Node.js 24 or later. To run it yourself, or locally over stdio with an API key in SEVALLA_API_KEY, follow the repository README. Most people use the hosted server.