cyclimse/mcp-scaleway-functions
If you are the rightful owner of mcp-scaleway-functions and would like to certify it and/or have it hosted online, please leave a comment on the right or send an email to henry@mcphub.com.
This is an unofficial implementation of a Model Context Protocol (MCP) server to manage and deploy Scaleway Serverless Functions.
MCP Scaleway Functions
This is an unofficial implementation of a Model Context Protocol (MCP) server to manage and deploy Scaleway Serverless Functions using the Model Context Protocol (MCP) 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/config.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/config.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. |
add_dependency | Add a dependency to a local function. Useful for dependencies that rely on native code and therefore need Docker to be installed. |