{
  "markdown": "# MCP Scaleway Functions\n\nModel Context Protocol (MCP) server to manage and deploy [Scaleway Serverless Functions](https://www.scaleway.com/en/serverless-functions/) using the [Model Context Protocol](https://modelcontextprotocol.org/) standard.\n\n> [!CAUTION]\n> This project is unofficial and not affiliated with or endorsed by Scaleway.\n> Some small safety measures are in place to prevent the LLM from doing destructive actions,\n> but they're not foolproof.\n> Use at your own risk.\n\n## Getting Started\n\nDownload the latest release from the [releases page](https://github.com/cyclimse/mcp-scaleway-functions/releases) or build it from source using Go.\n\nRun the MCP server:\n\n```bash\n./mcp-scaleway-functions\n```\n\nBy 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.\n\nThen, configure your IDE or tool of choice to connect to the MCP server. Here are some examples:\n\n### VSCode (sse example)\n\nAdd a new server configuration in your `.vscode/mcp.json` file:\n\n```json\n{\n\t\"servers\": {\n\t\t\"mcp-scaleway-functions\": {\n\t\t\t\"url\": \"http://localhost:8080\",\n\t\t\t\"type\": \"http\",\n\t\t}\n\t},\n}\n```\n\n### Crush (stdio example)\n\nCrush is an open-source coding agent that supports MCP. You can find more information about in the [Crush repository](https://github.com/charmbracelet/crush).\n\nAdd a new server configuration in your `~/.config/crush/crush.json` file:\n\n```json\n{\n  \"$schema\": \"https://charm.land/crush.json\",\n  \"mcp\": {\n    \"scaleway-functions\": {\n      \"type\": \"stdio\",\n      \"command\": \"mcp-scaleway-functions\",\n      \"args\": [\"--transport\", \"stdio\"],\n      \"timeout\": 600,\n      \"disabled\": false\n    }\n  }\n}\n```\n\nYou can even use Crush with [Scaleway Generative APIs](https://www.scaleway.com/en/generative-apis/) by adding a new provider in the same `~/.config/crush/crush.json` file:\n\n```jsonc\n{\n  \"mcp\": {\n\t// ... see above ...\n  },\n  \"providers\": {\n    \"scaleway\": {\n      \"name\": \"Scaleway\",\n      \"base_url\": \"https://api.scaleway.ai/v1/\",\n      \"type\": \"openai\",\n\t  // To fetch from environment variables, use the `$VAR_NAME` syntax.\n\t  // Note: this key requires the \"GenerativeApisModelAccess\" permission.\n      \"api_key\": \"$SCW_SECRET_KEY\",\n      \"models\": [\n        {\n          \"name\": \"Qwen coder\",\n          \"id\": \"qwen3-coder-30b-a3b-instruct\",\n          \"context_window\": 128000,\n          \"default_max_tokens\": 8000\n        }\n      ]\n    }\n  }\n}\n```\n\nThat's it 🎉! Have fun vibecoding and vibedevoopsing as you please.\n\n## Configuration\n\nBy default, the MCP server reads from the standard Scaleway configuration file located at `~/.config/scw/config.yaml`.\n\nFurther configuration can be done via the\n[Scaleway environment variables](https://www.scaleway.com/en/docs/scaleway-cli/reference-content/environment-variables/) to configure the MCP server.\n\nFor instance, you can set a region to work in via the `SCW_DEFAULT_REGION` environment variable.\n\n```bash\nSCW_DEFAULT_REGION=nl-ams ./mcp-scaleway-functions\n```\n\n## Available Tools\n\n| **Tool**                               | **Description**                                                                                                                   |\n| -------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------- |\n| `create_and_deploy_function_namespace` | Create and deploy a new function namespace.                                                                                       |\n| `list_function_namespaces`             | List all function namespaces.                                                                                                     |\n| `delete_function_namespace`            | Delete a function namespace.                                                                                                      |\n| `list_functions`                       | List all functions in a namespace.                                                                                                |\n| `list_function_runtimes`               | List all available function runtimes.                                                                                             |\n| `create_and_deploy_function`           | Create and deploy a new function.                                                                                                 |\n| `update_function`                      | Update the code or the configuration of an existing function.                                                                     |\n| `delete_function`                      | Delete a function.                                                                                                                |\n| `download_function`                    | Download the code of a function. This is useful to work on an existing function.                                                  |\n| `fetch_function_logs`                  | Fetch the logs of a function.                                                                                                     |\n| `add_dependency`                       | Add a dependency to a local function. Useful for dependencies that rely on native code and therefore need Docker to be installed. |\n\n## Debugging\n\nYou 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.\n\nTo configure the log level, use the `--log-level` flag (default is `info`). Available log levels are: `debug`, `info`, `warn`, `error`.\n\nLogs are stored in the `$XDG_STATE_HOME/mcp-scaleway-functions` directory (usually `~/.local/state/mcp-scaleway-functions`).\n\n## Development\n\nRunning tests:\n\n```bash\ngo tool gotestsum --format testdox\n```\n\nGenerating mocks:\n\n```bash\ngo tool mockery\n```\n",
  "bytes": 5905,
  "sha": "deec274bfdeee052faeebc0c4cdb6aac8028daff8de609eebd75cb6be44d1d41",
  "repo_slug": "cyclimse/mcp-scaleway-functions",
  "fonte": "repo",
  "truncated": false,
  "api": "https://agentalog.com/api/listings/mcp_io_github_cyclimse_mcp_scaleway_function_020c014e/readme"
}