模型上下文协议(MCP)服务器用于通过模型上下文协议标准管理和部署Scaleway无服务器函数。
[!警告] 本项目是非官方的,并未得到Scaleway的认可。 已采取了一些小的安全措施来防止大型语言模型执行破坏性操作, 但这些措施并非万无一失。 使用风险自负。
从发布页面下载最新版本或使用Go从源代码构建。
运行MCP服务器:
./mcp-scaleway-functions
默认情况下,MCP服务器使用SSE传输在http://localhost:8080上运行,但您也可以通过--transport stdio标志将其更改为使用标准I/O(stdio)传输。
然后,配置您的IDE或首选工具以连接到MCP服务器。这里有一些示例:
在您的.vscode/mcp.json文件中添加一个新的服务器配置:
{
"servers": {
"mcp-scaleway-functions": {
"url": "http://localhost:8080",
"type": "http",
}
},
}
Crush是一个支持MCP的开源编码代理。您可以在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
}
}
}
您甚至可以使用Crush与Scaleway生成式APIs一起工作,只需在相同的~/.config/crush/crush.json文件中添加一个新提供者:
{
"mcp": {
// ... 参见上面 ...
},
"providers": {
"scaleway": {
"name": "Scaleway",
"base_url": "https://api.scaleway.ai/v1/",
"type": "openai",
// 要从环境变量获取,请使用`$VAR_NAME`语法。
// 注意:此密钥需要“GenerativeApisModelAccess”权限。
"api_key": "$SCW_SECRET_KEY",
"models": [
{
"name": "Qwen coder",
"id": "qwen3-coder-30b-a3b-instruct",
"context_window": 1128000,
"default_max_tokens": 8000
}
]
}
}
}
就是这样🎉!尽情享受编程和运维吧!
默认情况下,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