mcp-scaleway-functions
Health Warn
- License — License: Unlicense
- Description — Repository has a description
- Active repo — Last push 0 days ago
- Low visibility — Only 5 GitHub stars
Code Pass
- Code scan — Scanned 6 files during light audit, no dangerous patterns found
Permissions Pass
- Permissions — No dangerous permissions requested
This is an unofficial Model Context Protocol (MCP) server that allows AI models and coding agents to manage and deploy Scaleway Serverless Functions. It acts as a bridge between your development environment and the Scaleway cloud infrastructure.
Security Assessment
The tool interacts with your cloud infrastructure, which inherently involves accessing sensitive data and making external network requests to the Scaleway API. It automatically reads standard Scaleway configuration files (including credentials) from your local environment to authenticate these requests. The automated code scan found no hardcoded secrets or dangerous execution patterns, and the server requests no overarching system permissions. However, the developers explicitly warn that while there are basic safety measures to prevent the AI from taking destructive actions, these guardrails are not foolproof. Overall risk is rated as Medium.
Quality Assessment
The project is public domain (Unlicense) and the automated audit found no issues in the scanned codebase. It was updated very recently, indicating active maintenance. However, community visibility and trust are extremely low, with only 5 stars on GitHub. As noted in the project's own documentation, this is strictly unofficial and not endorsed by Scaleway.
Verdict
Use with caution: the code itself is clean and actively maintained, but the low community adoption and inherent risks of granting an AI agent access to your cloud infrastructure require strict manual oversight.
Unofficial MCP Server for Scaleway Functions
MCP Scaleway Functions
Model Context Protocol (MCP) server to manage and deploy Scaleway Serverless Functions using the Model Context Protocol standard.
[!CAUTION]
This project is unofficial and not affiliated with or endorsed by Scaleway.
Some small safety measures are in place to prevent the LLM from doing destructive actions,
but they're not foolproof.
Use at your own risk.
Getting Started
Download the latest release from the releases page or build it from source using Go.
Run the MCP server:
./mcp-scaleway-functions
By default, the MCP server runs with the SSE transport on http://localhost:8080, but you can also change it to use Standard I/O (stdio) transport via the --transport stdio flag.
Then, configure your IDE or tool of choice to connect to the MCP server. Here are some examples:
VSCode (sse example)
Add a new server configuration in your .vscode/mcp.json file:
{
"servers": {
"mcp-scaleway-functions": {
"url": "http://localhost:8080",
"type": "http",
}
},
}
Crush (stdio example)
Crush is an open-source coding agent that supports MCP. You can find more information about in the Crush repository.
Add a new server configuration in your ~/.config/crush/crush.json file:
{
"$schema": "https://charm.land/crush.json",
"mcp": {
"scaleway-functions": {
"type": "stdio",
"command": "mcp-scaleway-functions",
"args": ["--transport", "stdio"],
"timeout": 600,
"disabled": false
}
}
}
You can even use Crush with Scaleway Generative APIs by adding a new provider in the same ~/.config/crush/crush.json file:
{
"mcp": {
// ... see above ...
},
"providers": {
"scaleway": {
"name": "Scaleway",
"base_url": "https://api.scaleway.ai/v1/",
"type": "openai",
// To fetch from environment variables, use the `$VAR_NAME` syntax.
// Note: this key requires the "GenerativeApisModelAccess" permission.
"api_key": "$SCW_SECRET_KEY",
"models": [
{
"name": "Qwen coder",
"id": "qwen3-coder-30b-a3b-instruct",
"context_window": 128000,
"default_max_tokens": 8000
}
]
}
}
}
That's it 🎉! Have fun vibecoding and vibedevoopsing as you please.
Configuration
By default, the MCP server reads from the standard Scaleway configuration file located at ~/.config/scw/config.yaml.
Further configuration can be done via the
Scaleway environment variables to configure the MCP server.
For instance, you can set a region to work in via the SCW_DEFAULT_REGION environment variable.
SCW_DEFAULT_REGION=nl-ams ./mcp-scaleway-functions
Available Tools
| Tool | Description |
|---|---|
create_and_deploy_function_namespace |
Create and deploy a new function namespace. |
list_function_namespaces |
List all function namespaces. |
delete_function_namespace |
Delete a function namespace. |
list_functions |
List all functions in a namespace. |
list_function_runtimes |
List all available function runtimes. |
create_and_deploy_function |
Create and deploy a new function. |
update_function |
Update the code or the configuration of an existing function. |
delete_function |
Delete a function. |
download_function |
Download the code of a function. This is useful to work on an existing function. |
fetch_function_logs |
Fetch the logs of a function. |
add_dependency |
Add a dependency to a local function. Useful for dependencies that rely on native code and therefore need Docker to be installed. |
Debugging
You can enable debug logging by using the --debug flag when starting the MCP server. This will log all requests and responses to/from the Scaleway API.
To configure the log level, use the --log-level flag (default is info). Available log levels are: debug, info, warn, error.
Logs are stored in the $XDG_STATE_HOME/mcp-scaleway-functions directory (usually ~/.local/state/mcp-scaleway-functions).
Development
Running tests:
go tool gotestsum --format testdox
Generating mocks:
go tool mockery
Reviews (0)
Sign in to leave a review.
Leave a reviewNo results found