关于 MCP Scaleway Functions
MCP Scaleway Functions 是非官方 MCP 服务,用于管理和部署 Scaleway Serverless Functions,并向 AI 工具提供函数生命周期、代码、依赖项及日志操作。
主要功能
- 01创建并部署函数命名空间
- 02列出命名空间、函数和运行时
- 03创建、更新和删除函数
- 04下载函数代码
- 05获取函数日志
- 06添加本地函数依赖项
适用场景
- 01部署新的函数命名空间
- 02更新现有函数的代码或配置
- 03查看函数日志
- 04下载代码以继续开发
MCP 相关
它向 MCP 客户端提供 Scaleway Serverless Functions 管理工具,支持 SSE 和 stdio 传输方式。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
工具
本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。
详细介绍
MCP Scaleway Functions
使用 Model Context Protocol 标准管理和部署 Scaleway Serverless Functions 的 Model Context Protocol(MCP)服务。
注意
此项目为非官方项目,与 Scaleway 无关,也未获得其认可。 我们采取了一些小型安全措施,以防大模型执行破坏性操作, 但这些措施并非万无一失。 使用风险自负。
入门
从发布页面下载最新版本,或使用 Go 从源代码构建。
运行 MCP 服务:
./mcp-scaleway-functions
默认情况下,MCP 服务使用 SSE 传输协议,在 http://localhost:8080 上运行;你也可以通过 --transport stdio 标志将其改为使用标准输入输出(stdio)传输协议。
然后,配置你选择的 IDE 或工具以连接 MCP 服务。以下是一些示例:
VSCode(SSE 示例)
在 .vscode/mcp.json 文件中添加新的服务配置:
{
"servers": {
"mcp-scaleway-functions": {
"url": "http://localhost:8080",
"type": "http",
}
},
}
Crush(stdio 示例)
Crush 是一款支持 MCP 的开源编码 Agent。你可以在 Crush 仓库中了解更多信息。
在 ~/.config/crush/crush.json 文件中添加新的服务配置:
{
"$schema": "https://charm.land/crush.json",
"mcp": {
"scaleway-functions": {
"type": "stdio",
"command": "mcp-scaleway-functions",
"args": ["--transport", "stdio"],
"timeout": 600,
"disabled": false
}
}
}
你还可以通过在同一个 ~/.config/crush/crush.json 文件中添加新的提供商,将 Crush 与 Scaleway Generative APIs 配合使用:
{
"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
}
]
}
}
}
就是这样 🎉!尽情享受你喜欢的氛围式编码和氛围式 DevOps 吧。
配置
默认情况下,MCP 服务会读取位于 ~/.config/scw/config.yaml 的 Scaleway 标准配置文件。
你可以通过 Scaleway 环境变量进一步配置 MCP 服务。
例如,你可以通过 SCW_DEFAULT_REGION 环境变量设置要使用的区域。
SCW_DEFAULT_REGION=nl-ams ./mcp-scaleway-functions
可用工具
| 工具 | 描述 |
|---|---|
create_and_deploy_function_namespace | 创建并部署新的函数命名空间。 |
list_function_namespaces | 列出所有函数命名空间。 |
delete_function_namespace | 删除函数命名空间。 |
list_functions | 列出命名空间中的所有函数。 |
list_function_runtimes | 列出所有可用的函数运行时。 |
create_and_deploy_function | 创建并部署新函数。 |
update_function | 更新现有函数的代码或配置。 |
delete_function | 删除函数。 |
download_function | 下载函数代码。适用于处理现有函数。 |
fetch_function_logs | 获取函数日志。 |
add_dependency | 为本地函数添加依赖项。适用于依赖原生代码、因此需要安装 Docker 的依赖项。 |
调试
启动 MCP 服务时,可以使用 --debug 标志启用调试日志。这将记录与 Scaleway API 之间的所有请求和响应。
若要配置日志级别,请使用 --log-level 标志(默认值为 info)。可用的日志级别包括:debug、info、warn、error。
日志存储在 $XDG_STATE_HOME/mcp-scaleway-functions 目录中(通常为 ~/.local/state/mcp-scaleway-functions)。
开发
运行测试:
go tool gotestsum --format testdox
生成模拟对象:
go tool mockery
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。