klogins-hash/exoscale-mcp-server
If you are the rightful owner of exoscale-mcp-server and would like to certify it and/or have it hosted online, please leave a comment on the right or send an email to dayong@mcphub.com.
The Exoscale MCP Server is a Model Context Protocol server designed to manage Exoscale cloud resources efficiently.
Exoscale MCP Server
A Model Context Protocol (MCP) server for managing Exoscale cloud resources. This server provides tools for managing compute instances, storage, DNS, databases, and networking resources through the Exoscale CLI.
Features
Compute Instance Management
- List, create, delete compute instances
- Start and stop instances
- Get detailed instance information
Storage (Simple Object Storage)
- List storage buckets
- Create and delete buckets
- Manage object storage across zones
DNS Management
- List and create DNS domains
- Manage DNS records (A, AAAA, CNAME, MX, TXT, etc.)
- Full DNS configuration support
Database-as-a-Service (DBaaS)
- List all database services
- Get detailed information for PostgreSQL, MySQL, Kafka, OpenSearch, Redis/Valkey, and Grafana services
Networking
- List and manage security groups
- List private networks
- View security group rules
Block Storage
- List block storage volumes
Prerequisites
-
Exoscale CLI: The
exoCLI tool must be installed and configured# Install via Homebrew (macOS) brew install exoscale/tap/exoscale-cli # Or download from https://github.com/exoscale/cli/releases -
Exoscale API Credentials: Configure the CLI with your resource-manager API key
exo config add resource-manager # Enter API Key: EXOd4e0bc1d6ea62bf2d414b24e # Enter API Secret: ekOsjtNAEUCDD35rp2T80xQfqYQ4Bp1R1qxfjx1voKw -
Python 3.10+: Required for running the MCP server
Installation
Option 1: Install via pip (recommended for Claude Desktop)
cd /Users/franksimpson/exoscale-mcp-server
pip install -e .
Option 2: Install via uv (faster)
cd /Users/franksimpson/exoscale-mcp-server
uv pip install -e .
Configuration
Claude Desktop Configuration
Add this to your Claude Desktop config file:
macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
{
"mcpServers": {
"exoscale": {
"command": "python",
"args": [
"-m",
"exoscale_mcp_server.server"
],
"env": {
"EXOSCALE_ACCOUNT": "resource-manager"
}
}
}
}
Or if installed via uv:
{
"mcpServers": {
"exoscale": {
"command": "uvx",
"args": [
"exoscale-mcp-server"
],
"env": {
"EXOSCALE_ACCOUNT": "resource-manager"
}
}
}
}
Environment Variables
EXOSCALE_ACCOUNT: The Exoscale CLI account profile to use (default: resource-manager)
Available Tools
Compute Instances
list-compute-instances: List all instances in a zoneget-compute-instance: Get detailed instance informationcreate-compute-instance: Create a new instancedelete-compute-instance: Delete an instancestart-compute-instance: Start a stopped instancestop-compute-instance: Stop a running instance
Storage
list-storage-buckets: List all storage bucketscreate-storage-bucket: Create a new bucketdelete-storage-bucket: Delete a bucket
DNS
list-dns-domains: List all DNS domainscreate-dns-domain: Create a new DNS domainlist-dns-records: List records for a domainadd-dns-record: Add a DNS record
DBaaS
list-dbaas-services: List all database servicesget-dbaas-service: Get details of a specific database service
Networking
list-security-groups: List security groups in a zoneget-security-group: Get security group detailslist-private-networks: List private networks
Block Storage
list-block-storage: List block storage volumes
Usage Examples
Once configured in Claude Desktop, you can use natural language to manage your Exoscale resources:
- "List all my compute instances in ch-gva-2"
- "Create a new instance called web-server in ch-dk-2 using Ubuntu 22.04"
- "Show me all my DNS domains"
- "Add an A record for www pointing to 185.19.28.10 on example.com"
- "List all my database services"
- "What security groups do I have in ch-gva-2?"
IAM Permissions
This server is designed to work with the resource-manager IAM role, which:
✅ Allows:
- All resource management operations (compute, storage, DNS, DBaaS, networking)
- Creating, reading, updating, and deleting resources
❌ Denies:
- Account-level IAM operations
- Managing API keys and roles
- Modifying organization policies
This ensures safe resource management without the risk of account-level changes.
Development
Running locally
cd /Users/franksimpson/exoscale-mcp-server
python -m exoscale_mcp_server.server
Testing with MCP Inspector
npx @modelcontextprotocol/inspector python -m exoscale_mcp_server.server
Troubleshooting
CLI not found
Ensure the exo CLI is installed and in your PATH:
which exo
exo version
Authentication errors
Verify your API credentials are configured:
exo config list
exo config show resource-manager
Permission denied
Ensure you're using the resource-manager API key with the correct IAM role.
License
MIT
Support
For issues and questions:
- Exoscale Documentation: https://community.exoscale.com
- Exoscale CLI: https://github.com/exoscale/cli
- MCP Documentation: https://modelcontextprotocol.io