项目简介

MCP Scaleway Functions 是一个非官方的 Model Context Protocol (MCP) 服务器实现,旨在让大型语言模型(LLM)客户端能够方便地管理和部署 Scaleway Serverless Functions。它将 Scaleway 的函数和命名空间操作封装为 LLM 可调用的工具,支持创建、列出、更新、删除函数和命名空间,以及列出函数运行时和下载函数代码。

主要功能点

  • 命名空间管理: 提供创建、列出和删除 Scaleway 函数命名空间的功能。
  • 函数管理: 支持创建、列出、更新和删除 Scaleway 函数。
  • 运行时查询: 能够列出所有可用的 Scaleway 函数运行时环境。
  • 代码操作: 支持上传本地目录中的函数代码以部署和更新函数,以及下载现有函数的代码到指定本地目录。
  • 进度通知: 在函数部署等耗时操作中,服务器会向 MCP 客户端发送实时进度通知,提供操作的即时反馈。
  • 安全措施: 内置安全标签,仅允许删除由本工具创建的资源,以防止 LLM 意外删除其他重要的 Scaleway 资源。

安装步骤

  1. 下载或构建: 您可以从项目的 GitHub Releases 页面下载最新版本的可执行文件,或者使用 Go 语言从源代码构建。
  2. Scaleway 配置: 确保您的环境中已正确配置 Scaleway API 凭据。这通常通过设置以下环境变量来完成:
    • 'SCW_ACCESS_KEY': 您的 Scaleway 访问密钥。
    • 'SCW_SECRET_KEY': 您的 Scaleway 秘密密钥。
    • 'SCW_DEFAULT_REGION': 您希望操作的默认 Scaleway 区域,例如 'fr-par' 或 'nl-ams'。 例如:
    export SCW_DEFAULT_REGION=fr-par
    # export SCW_ACCESS_KEY=YOUR_ACCESS_KEY
    # export SCW_SECRET_KEY=YOUR_SECRET_KEY
    强烈建议您创建一个具有 'FunctionsFullAccess' 最小权限集的 Scaleway API 密钥,以增强安全性。

服务器配置

MCP 服务器支持通过 HTTP SSE 或 Standard I/O (Stdio) 传输协议与客户端通信。默认情况下,它会在 'http://localhost:8080' 端口以 SSE 模式启动。

您的 MCP 客户端(例如 VSCode 中的 GitHub Copilot)需要进行配置才能连接到此服务器。以下是配置信息及参数注释,请根据您的实际安装路径和偏好进行调整:

// 在MCP客户端的配置文件中 (例如 .vscode/mcp.json)
{
  "servers": {
    "mcp_scaleway_functions": { // 服务器的名称,可以根据您的喜好自定义
      "command": "/path/to/your/mcp_scaleway_functions_executable", // MCP 服务器可执行文件的完整路径
      "args": [
        "--transport", "stdio", // 可选参数:指定使用 Stdio 传输协议。如果省略此参数,将默认使用 SSE 传输。
        "--log-level", "info" // 可选参数:设置服务器的日志级别,例如 "debug", "info", "warn", "error"。
        // 注意:Scaleway 区域等配置可以通过环境变量(如 SCW_DEFAULT_REGION)在启动服务器前设置,
        // 而不是作为命令行参数传递给 MCP 服务器本身。
      ],
      "type": "stdio" // 服务器的传输类型。如果 "--transport" 参数设置为 "stdio",则此处应为 "stdio"。
                      // 如果使用默认的 SSE 传输(未设置 "--transport" 参数),则此处应为 "http"。
    }
  }
}

基本使用方法

  1. 启动服务器: 打开您的终端,导航到 'mcp_scaleway_functions' 可执行文件所在的目录,然后运行:
    • 默认 SSE 模式 (服务器将在 'http://localhost:8080' 监听):
      ./mcp_scaleway_functions
    • Stdio 模式 (服务器将通过标准输入/输出与客户端通信):
      ./mcp_scaleway_functions --transport stdio
  2. 通过 LLM 客户端交互: 一旦 MCP 服务器正在运行并且您的 LLM 客户端已按上述步骤配置,您就可以通过自然语言提示 LLM 执行 Scaleway 函数相关的操作。例如:
    • "创建一个名为 'my-test-namespace' 的 Scaleway 函数命名空间。"
    • "列出我所有的 Scaleway 函数命名空间。"
    • "在 'my-test-namespace' 中部署一个 Python 函数,其代码位于本地目录 './my-function-code',处理器为 'handler.handle',超时时间为5秒。"
    • "删除名为 'my-test-namespace' 的命名空间。"

信息

分类

开发者工具