mcpField
M
MCP Scaleway Functions

MCP Scaleway Functions

Local
github.com/cyclimseCloud & Infra7Updated 28w ago

About MCP Scaleway Functions

MCP Scaleway Functions is an unofficial MCP server for managing and deploying Scaleway Serverless Functions. It exposes lifecycle, code, dependency, and log operations to connected AI tools.

Key features

  1. 01Create and deploy function namespaces
  2. 02List namespaces, functions, and runtimes
  3. 03Create, update, and delete functions
  4. 04Download function code
  5. 05Fetch function logs
  6. 06Add local function dependencies

Use cases

  1. 01Deploy a new function namespace
  2. 02Update an existing function's code or configuration
  3. 03Inspect a function's logs
  4. 04Download code to work on an existing function

MCP support

It exposes Scaleway Serverless Functions management tools to MCP clients. It supports SSE and stdio transports.

Configuration

Local server config is the same for every client. Copy it into your client’s MCP config file.

mcp.json · Universal config
{
"mcpServers": {
"cyclimse-mcp-scaleway-functions": {
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"docker.io/cyclimse/mcp-scaleway-functions:0.3.4"
]
}
}
}
Run commanddocker run -i --rm docker.io/cyclimse/mcp-scaleway-functions:0.3.4

Local servers need a runtime on your machine (e.g. Node.js 18+). Config file locations differ by client; see your client’s docs.

Packages
ocidocker.io/cyclimse/mcp-scaleway-functions:0.3.4

Tools

No tool list yet

Local servers expose tools only once running on your machine, and the maintainer has not provided a tool list.

Details

From the project README

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

ToolDescription
create_and_deploy_function_namespaceCreate and deploy a new function namespace.
list_function_namespacesList all function namespaces.
delete_function_namespaceDelete a function namespace.
list_functionsList all functions in a namespace.
list_function_runtimesList all available function runtimes.
create_and_deploy_functionCreate and deploy a new function.
update_functionUpdate the code or the configuration of an existing function.
delete_functionDelete a function.
download_functionDownload the code of a function. This is useful to work on an existing function.
fetch_function_logsFetch the logs of a function.
add_dependencyAdd 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

Comments

Markdown supported

New to MCP?

From what the protocol is to installing your first server, these answers cover most first questions.

An open protocol that defines how AI applications connect to external tools and data in a uniform way. Clients talk to the model; MCP servers provide tools, resources and prompt templates. They exchange standard messages, so one server can be reused by many clients.