mcp-scaleway-functions

mcp-scaleway-functions

MCP server to manage and deploy Scaleway Serverless Functions, enabling creation, listing, updating, deleting, downloading, and logging of functions through natural language.

Category
Visit Server

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

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

Recommended Servers

playwright-mcp

playwright-mcp

A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.

Official
Featured
TypeScript
Magic Component Platform (MCP)

Magic Component Platform (MCP)

An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.

Official
Featured
Local
TypeScript
Audiense Insights MCP Server

Audiense Insights MCP Server

Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.

Official
Featured
Local
TypeScript
VeyraX MCP

VeyraX MCP

Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.

Official
Featured
Local
graphlit-mcp-server

graphlit-mcp-server

The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.

Official
Featured
TypeScript
Kagi MCP Server

Kagi MCP Server

An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.

Official
Featured
Python
Neon Database

Neon Database

MCP server for interacting with Neon Management API and databases

Official
Featured
E2B

E2B

Using MCP to run code via e2b.

Official
Featured
Exa Search

Exa Search

A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.

Official
Featured
Qdrant Server

Qdrant Server

This repository is an example of how to create a MCP server for Qdrant, a vector search engine.

Official
Featured