Sufy MCP Server について
Sufy MCP Server は AI モデルクライアントを Sufy サービスに接続し、バケットやファイルの一覧表示、内容の読み取り、画像サイズの変更などを行います。Cline などの MCP クライアントから Sufy を利用したいユーザー向けです。
主な機能
- 01Sufy リソース情報の一覧表示
- 02バケットとファイルの一覧表示
- 03ファイル内容の読み取り
- 04画像サイズの変更
活用シーン
- 01バケットと保存ファイルの確認
- 02保存ファイルの読み取り
- 03バケット内画像のサイズ変更
MCP 対応
MCP クライアントに Sufy サービスの機能を公開します。既定では stdio を使用し、SSE モードでも実行できます。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
ツール
ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。
詳細
Sufy MCP サーバー
概要
Sufy 製品を基盤として構築された Model Context Protocol(MCP)サーバーを使用すると、AI LLM クライアントのコンテキスト内で、この MCP サーバーを通じて Sufy サービスにアクセスできます。
環境要件
- Python 3.12 以上
- uv パッケージマネージャー
uv をまだインストールしていない場合は、次のコマンドでインストールできます。
以下は、提供されたテキストの英語訳です:
# Mac, recommended to install using brew
brew install uv
# Linux & Mac
# 1. Installation
curl -LsSf https://astral.sh/uv/install.sh | sh
# 2. After installation, make sure to add the package installation directory (the directory containing uv and uvx executables) to your system's PATH environment variable.
# Assuming the installation path is /Users/xxx/.local/bin (see installation output)
### Temporary effect (current session), execute the following command in your current terminal:
export PATH="/Users/xxx/.local/bin:$PATH"
### Permanent effect (recommended), execute the following command in your current terminal:
echo 'export PATH="/Users/xxx/.local/bin:$PATH"' >> ~/.bash_profile
source ~/.bash_profile
# Windows
powershell -ExecutionPolicy ByPass -c "irm https://astral.sh/uv/install.ps1 | iex"
具体的なインストール方法については、uv のインストールを参照してください。
Cline での使用方法
手順:
- VSCode に Cline プラグインをインストールします(インストール後、サイドバーに Cline アイコンが表示されます)
- LLM を設定します
- Sufy MCP を設定します
- Cline アイコンをクリックしてプラグイン画面を開き、MCP サーバーモジュールを選択します
- 「Installed」を選択し、「Advanced MCP Settings」をクリックして、次のテンプレートを使用して設定します:
{ "mcpServers": { "Sufy": { "command": "uvx", "args": [ "sufy-mcp-server" ], "env": { "SUFY_ACCESS_KEY": "YOUR_ACCESS_KEY", "SUFY_SECRET_KEY": "YOUR_SECRET_KEY", "SUFY_REGION_NAME": "YOUR_REGION_NAME", "SUFY_ENDPOINT_URL": "YOUR_ENDPOINT_URL", "SUFY_BUCKETS": "YOUR_BUCKET_A,YOUR_BUCKET_B" }, "disabled": false } } }- Sufy MCP Server の接続スイッチをオンにして、接続を確立します
- Cline でチャットウィンドウを作成し、sufy-mcp-server を使用して AI とやり取りします。プロンプトの例: ◦ Sufy のリソース情報を一覧表示する ◦ Sufy のすべての Bucket を一覧表示する ◦ Sufy の xxx Bucket にあるファイルを一覧表示する ◦ Sufy の xxx Bucket にある yyy ファイルの内容を読み取る ◦ Sufy の xxx Bucket にある yyy 画像のサイズを 20% 変更する
注:Cline で MCP サーバーを作成する際は、上記の設定をそのまま使用できます。
開発
- リポジトリをクローンします:
git clone [email protected]:sufy/sufy-mcp-server.git
cd sufy-mcp-server
- 仮想環境を作成して有効化します:
uv venv
source .venv/bin/activate # Linux/macOS
# or
.venv\Scripts\activate # Windows
- 依存関係をインストールします:
uv pip install -e .
- 設定
環境変数のテンプレートをコピーします:
cp .env.example .env
.env ファイルを編集し、次のパラメーターを設定します:
# S3/Sufy credentials
SUFY_ACCESS_KEY=your_access_key
SUFY_SECRET_KEY=your_secret_key
# Region info
SUFY_REGION_NAME=your_region
SUFY_ENDPOINT_URL=endpoint_url # eg:https://s3.your_region.sufycs.com
# Configure buckets (comma-separated, max 20 recommended)
SUFY_BUCKETS=bucket1,bucket2,bucket3
機能を拡張する場合:
coreの下に新しいビジネスパッケージのディレクトリを作成します(例:storage)- パッケージディレクトリ内に機能を実装します
- パッケージの
__init__.pyにあるload()関数を通じて、ツール/リソースを登録します core/__init__.pyで load 関数を呼び出し、登録を完了します
ディレクトリ構成:
core
├── __init__.py # Load business tools/resources
└── storage # Storage service
├── __init__.py # Load storage tools/resources
├── resource.py # Storage resources
├── storage.py # Storage utilities
└── tools.py # Storage tools
テスト
Model Control Protocol Inspector を使用する
推奨ツール:Model Control Protocol Inspector
# Requires node v22.4.0
npx @modelcontextprotocol/inspector uv --directory . run sufy-mcp-server
ローカル MCP サーバーの例
- stdio モードで起動します(デフォルト):
uv --directory . run sufy-mcp-server
- SSE モードで起動します(ウェブアプリケーション向け):
uv --directory . run sufy-mcp-server --transport sse --port 8000
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。