MCP Scaleway 函数服务
模型上下文协议(MCP)服务器,用于管理和部署 Scaleway 无服务器函数 使用 模型上下文协议 标准。
\[!警告\] 此项目非官方项目,与Scaleway无任何关联,也未得到其认可。 已经采取了一些小型安全措施来防止大型语言模型(LLM)执行破坏性行为, 但它们并非万无一失。 自行使用,风险自担。
入门指南/开始使用
从(官方/指定)网站下载最新版本 发布页面 或者使用Go从源代码构建它。
运行MCP服务器:
./mcp-scaleway-functions默认情况下,MCP服务器启用SSE传输 http://localhost:8080但是,您也可以通过它将其更改为使用标准输入输出(stdio)传输方式 --transport stdio 旗帜。
然后,配置您选择的集成开发环境(IDE)或工具以连接到MCP服务器。以下是一些示例:
VSCode(sse 示例)
在您的(系统/配置中)添加一个新的服务器配置 .vscode/mcp.json 文件:
{
"servers": {
"mcp-scaleway-functions": {
"url": "http://localhost:8080",
"type": "http",
}
},
}Crush(stdio 示例)
Crush 是一个支持 MCP 的开源编码代理。您可以在(相关网站/文档中)找到更多关于它的信息 “Crush repository”可以翻译为“毁灭性存储库”或根据上下文可能意译为“关键/重要存储库(因语境中“Crush”可能隐含重要性或关键性)”,但直接翻译“Crush repository”最直白的译法是“毁灭性存储库”。不过,具体翻译还需结合上下文来确定最准确的含义.
在您的(系统/配置中)添加一个新的服务器配置 ~/.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 生成式 API 通过在同一位置添加一个新的提供商 ~/.config/crush/crush.json 文件:
{
"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
}
]
}
}
}就这样啦🎉!尽情享受你的vibecoding(趣味编码)和vibedevoopsing(趣味DevOps实践)吧。
配置
默认情况下,MCP服务器会从位于(指定路径)的标准Scaleway配置文件中读取数据 ~/.config/scw/config.yaml。
可以通过以下方式进一步进行配置 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。 |
调试
你可以通过使用以下方法启用调试日志记录: --debug 在启动MCP服务器时设置标志。这将记录所有与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