selectel-mcp
An unofficial Selectel cloud MCP server: OpenStack servers, S3 storage, billing and one-call Docker app deploys
Install
python3 -m venv .venv
.venv/bin/python -m pip install -e .
cp .env.example .envRun in the cloned repository and fill .env with the service user credentials.
This is third-party code. Review the repository files before installing.
What it does
The server lets the agent manage a Selectel account through public APIs. The agent lists and creates cloud servers, SSH keypairs, security groups, networks, floating IPs and volumes, works with S3 buckets and objects, and checks balance and spend forecasts. deploy_docker_app creates a security group, a cloud-init server that installs Docker and runs docker compose from your repository, and a public IP in one call, and destroy_app removes it all. Destructive tools only show a dry-run preview unless confirm=True.
Who it is for. For developers and DevOps engineers with a Selectel account who want quick queries and one-off cloud actions.
Good fit when
- You need a quick test server running a Docker app from a repository
- You need the account balance and spend forecast
- You want to see which servers, volumes and IPs are in use
Not a fit when
- Infrastructure changes must go through review: use the selectel Terraform provider
- You cannot give an agent a service user allowed to create paid resources
Example request
Show the balance and forecast, then list servers in the project with public IPsLimitations
Unofficial alpha project; you are responsible for created resources and charges. Requires a Selectel service user, account and project IDs, a separate S3 key and a static token for detailed billing. deploy_docker_app opens ports, including SSH, to the whole internet by default. No published package; install from a clone with pip.
How to disable. Run claude mcp remove selectel, delete resources the agent created and remove the service user in the Selectel panel.
MCP
- Transport
- stdio
- Authentication
- API key
| Environment variables | |
|---|---|
| SEL_ACCOUNT_ID required | Account ID from the control panel |
| SEL_USERNAME required | Service user name |
| SEL_PASSWORD required, secret | Service user password |
| SEL_PROJECT_ID | Default project |
| SEL_S3_ACCESS_KEY secret | Service user S3 access key |
| SEL_S3_SECRET_KEY secret | S3 secret key |
| SEL_STATIC_TOKEN secret | Static token for detailed billing reports |
Security check
- Creates paid servers and public IPs that spend account balance
- Deletes servers, volumes, buckets and objects
- Deploys open SSH to the whole internet by default
README in short
The README describes an unofficial Selectel cloud MCP server with a tool table by area: deploy, compute, keypairs, security groups, network, volumes, S3, billing and account. It shows a one-call app deploy and maps which credentials each API needs. Setup covers a service user, S3 key, venv, pip install and .env, plus Claude Code and Claude Desktop connection. Safety notes and a suggestion to manage changes with Terraform are included.
FAQ
How do I keep the agent read-only?
Give the service user read-only roles or limit it to one project: its permissions bound what the server can do.
Will the agent ask before deleting?
Destructive tools return a preview unless confirm=True, so the agent can show what would be removed.
Related
An MCP server built into the Netdata agent: metrics, logs, alerts and live process, service and container data for an AI assistant
GitHub's official MCP server: code, issues, pull requests, Actions and security alerts straight from the agent
AWS's official MCP server suite: docs, IaC, containers, serverless, databases, cost and monitoring
A GitHub Action that runs Claude Code in pull requests and issues: answers mentions, reviews and makes changes