MCP Scaleway Functions について
MCP Scaleway Functionsは、Scaleway Serverless Functionsを管理・デプロイする非公式のMCPサーバーです。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 とは提携関係になく、Scaleway の承認も受けていません。 LLM による破壊的な操作を防ぐための簡単な安全対策をいくつか実装していますが、 万全ではありません。 自己責任でご利用ください。
はじめに
リリースページから最新リリースをダウンロードするか、Go を使用してソースからビルドしてください。
MCP サーバーを起動します:
./mcp-scaleway-functions
デフォルトでは、MCP サーバーは http://localhost:8080 で SSE トランスポートを使用して実行されますが、--transport stdio フラグを指定して Standard I/O(stdio)トランスポートを使用するように変更することもできます。
次に、使用する IDE またはツールを設定して、MCP サーバーに接続します。以下に例を示します:
VSCode(SSE の例)
.vscode/mcp.json ファイルに新しいサーバー設定を追加します:
{
"servers": {
"mcp-scaleway-functions": {
"url": "http://localhost:8080",
"type": "http",
}
},
}
Crush(stdio の例)
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
}
}
}
同じ ~/.config/crush/crush.json ファイルに新しいプロバイダーを追加すれば、Scaleway Generative APIs と Crush を組み合わせて使うこともできます:
{
"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
}
]
}
}
}
これで完了です 🎉!お好みに合わせて、バイブコーディングやバイブデブオプスを楽しんでください。
設定
デフォルトでは、MCP サーバーは ~/.config/scw/config.yaml にある標準の Scaleway 設定ファイルを読み込みます。
MCP サーバーの設定には、Scaleway の環境変数も使用できます。
たとえば、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 サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。