Scaleway MCP Server
# Scaleway MCP Server
A comprehensive Model Context Protocol (MCP) server for managing Scaleway cloud infrastructure. This server provides both local STDIO and HTTP-based interfaces for seamless integration with MCP clients.
## π Features
- **Complete Scaleway API Coverage**: Manage instances, databases, storage, networking, and more
- **Dual Deployment Options**: Local STDIO server and HTTP server for remote access
- **Serverless Ready**: Deploy to Scaleway Serverless Containers with one command
- **MCP Protocol Compliant**: Full support for MCP 2024-11-05 specification
- **Production Ready**: Docker containerization, health checks, and monitoring
## π οΈ Available Tools
### Instance Management
- `list_instances` - List all compute instances
- `get_instance` - Get detailed instance information
- `start_instance` - Start stopped instances
- `stop_instance` - Stop running instances
### Kubernetes
- `list_k8s_clusters` - List all Kubernetes clusters
### Database Management
- `list_databases` - List PostgreSQL, MySQL databases
- `get_database` - Get detailed database information
### Object Storage
- `list_buckets` - List all S3-compatible storage buckets
### Container Registry
- `list_registries` - List container registries and images
### Load Balancers
- `list_load_balancers` - List all load balancers
### Serverless
- `list_functions` - List all serverless functions
- `list_containers` - List all serverless containers
### Redis & Networking
- `list_redis_clusters` - List Redis clusters
- `list_private_networks` - List VPCs and private networks
### Marketplace
- `list_marketplace_images` - Browse available OS/app images
## π¦ Quick Start
### 1. Local Development
```bash
# Clone the repository
git clone <repository-url>
cd scaleway-mcp-server
# Install dependencies
uv sync
# Set up environment variables
cp .env.example .env
# Edit .env with your Scaleway credentials
# Run the STDIO server
uv run scaleway_server.py
# Or run the HTTP server
uv run scaleway_http_server.py
```
### 2. Serverless Deployment
```bash
# Configure Scaleway CLI
scw init
# Deploy to Scaleway Serverless Containers
./deploy.sh
```
## π§ Configuration
### Environment Variables
| Variable | Description | Example |
|----------|-------------|---------|
| `SCW_ACCESS_KEY` | Scaleway access key | `your_access_key_here` |
| `SCW_SECRET_KEY` | Scaleway secret key | `your_secret_key_here` |
| `SCW_PROJECT_ID` | Scaleway project ID | `your_project_id_here` |
| `SCW_ORGANIZATION_ID` | Scaleway organization ID | `your_organization_id_here` |
| `SCW_DEFAULT_REGION` | Default region | `fr-par` |
| `SCW_DEFAULT_ZONE` | Default zone | `fr-par-1` |
### MCP Client Configuration
For HTTP transport:
```json
{
"mcpServers": {
"scaleway": {
"transport": "http",
"url": "https://your-deployment-url/mcp"
}
}
}
```
For STDIO transport:
```json
{
"mcpServers": {
"scaleway": {
"command": "uv",
"args": ["run", "scaleway_server.py"],
"cwd": "/path/to/scaleway-mcp-server"
}
}
}
```
## π³ Docker Deployment
```bash
# Build the image
docker build -t scaleway-mcp-server .
# Run locally
docker run -p 8080:8080 \
-e SCW_ACCESS_KEY=your_access_key_here \
-e SCW_SECRET_KEY=your_secret_key_here \
-e SCW_PROJECT_ID=your_project_id_here \
-e SCW_ORGANIZATION_ID=your_organization_id_here \
scaleway-mcp-server
```
## π Documentation
- [Complete Setup Guide](Scaleway%20MCP%20Server.md)
- [Serverless Deployment Guide](Scaleway%20MCP%20Server%20-%20Serverless%20Deployment%20Guide.md)
- [Quick Start Guide](Quick%20Start%3A%20Deploy%20Scaleway%20MCP%20Server%20to%20Serverless.md)
- [Architecture Design](architecture_design.md)
## π Security
- Never commit real credentials to version control
- Use environment variables or secure secret management
- The server validates API credentials on startup
- All API calls use official Scaleway SDK with proper authentication
## π€ Contributing
1. Fork the repository
2. Create a feature branch
3. Make your changes
4. Test thoroughly
5. Submit a pull request
## π License
This project is licensed under the MIT License - see the LICENSE file for details.
## π Support
- Check the [documentation](docs/) for detailed guides
- Open an issue for bugs or feature requests
- Review the [architecture design](architecture_design.md) for technical details
## ποΈ Architecture
```
βββββββββββββββββββ ββββββββββββββββββββ βββββββββββββββββββ
β MCP Client β β Scaleway MCP β β Scaleway API β
β (Manus, etc) βββββΊβ Server βββββΊβ (Official) β
βββββββββββββββββββ ββββββββββββββββββββ βββββββββββββββββββ
β
βΌ
ββββββββββββββββββββ
β Scaleway Cloud β
β Infrastructure β
ββββββββββββββββββββ
```
The server acts as a bridge between MCP clients and the Scaleway cloud platform, providing a standardized interface for infrastructure management.
TDQS
Scored across 11 tools
Each tool clearly targets a distinct resource and action (e.g., list vs get vs create for instances, separate tools for private networks and K8s). No two tools appear to do the same thing.
All tool names follow a consistent verb_noun pattern with lowercase and underscores (e.g., list_instances, create_private_network, get_k8s_cluster). There are no mixed conventions or vague verbs.
With 11 tools, the server is well-scoped, covering multiple resource types (instances, networks, K8s, images) without being overwhelming. Each tool serves a clear purpose.
Instance management is fairly complete (create, read, delete, start, stop), but private networks lack get/update/delete, and K8s clusters only have list/get with no create or delete. These are notable gaps that could hinder full workflows.