remote-filesystem について
Remote Filesystem は、クラウドストレージに対するリモートのファイル操作を行う MCP サーバーです。現在は Google Cloud Storage に対応しており、S3 と Cloudflare R2 への対応も予定されています。MCP クライアントからバケット内のファイルをアップロード、ダウンロード、管理する用途に適しています。
主な機能
- 01公開または非公開を指定したアップロード
- 02テキストまたは base64 としてのダウンロード
- 03プレフィックスによるファイルとディレクトリの一覧
- 04ファイルプロパティとメタデータの変更
- 05読み取り専用と読み書きを分けるツールグループ
活用シーン
- 01生成したスクリーンショットを GCS にアップロードし公開リンクを共有する
- 02読み取り専用モードでバケットの内容を閲覧する
MCP 対応
MCP クライアントに upload、download、list_files、modify、delete_file などのツールを公開する MCP サーバーで、クラウドストレージ上のファイルを操作できます。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
npx -y remote-filesystem-mcp-serverGCS_BUCKETGoogle Cloud Storage bucket name.GCS_PROJECT_IDGoogle Cloud project ID.GCS_CLIENT_EMAILService account email for inline credentials.GCS_PRIVATE_KEYシークレットService account private key for inline credentials.GOOGLE_APPLICATION_CREDENTIALSシークレットPath to Google Cloud service account key file.GCS_ROOT_PATHRoot path prefix to restrict access within bucket.GCS_MAKE_PUBLICMake uploaded files publicly accessible.ENABLED_TOOLGROUPSComma-separated tool groups: readonly or readwrite.ローカルサーバーにはマシン上の実行環境(Node.js 18 以上など)が必要です。設定ファイルの場所はクライアントごとに異なります。
ツール
5掲載時のツール一覧 · 2 週間前に更新
| パラメーター | 型 | 必須 | 説明 |
|---|---|---|---|
| path | string | はい | リモートファイルシステム内のファイルへのパス(ルートからの相対パス)。例:"screenshots/pr-123.png" |
| asBase64 | boolean | いいえ | true の場合、ファイルの内容を base64 エンコード文字列として返します。画像などのバイナリファイルに便利です。デフォルト:false(テキストとして返します)。 |
詳細
リモートファイルシステム MCP サーバー
クラウドストレージプロバイダー上でリモートファイルシステムを操作するための MCP サーバーです。現在は Google Cloud Storage(GCS)に対応しており、S3、Cloudflare R2 などへの対応も予定しています。
機能
- アップロード ファイルをクラウドストレージにアップロードし、公開/非公開のアクセス制御を設定します
- ダウンロード ファイルをテキストまたは Base64(バイナリファイルの場合)としてダウンロードします
- 一覧表示 プレフィックスで絞り込み、ファイルとディレクトリを一覧表示します
- 変更 ファイルのプロパティ(公開/非公開、コンテンツタイプ、メタデータ)を変更します
- 削除 リモートストレージからファイルを削除します
- ルートパスの制約により、バケット内でのアクセスを制限します
- 権限ベースのアクセス制御に対応するツールセットグループ
- インライン認証情報に対応(JSON キーファイルは不要)
- 非公開ファイル用の署名付き URL を生成します
インストール
npm install remote-filesystem-mcp-server
または、npx で直接実行します:
npx remote-filesystem-mcp-server
設定
環境変数
| 変数 | 必須 | 説明 | デフォルト |
|---|---|---|---|
GCS_BUCKET | はい | GCS バケット名 | - |
GCS_PROJECT_ID | いいえ | Google Cloud プロジェクト ID | 自動 |
GCS_CLIENT_EMAIL | いいえ* | サービスアカウントのメールアドレス(インライン認証情報) | - |
GCS_PRIVATE_KEY | いいえ* | サービスアカウントの秘密鍵(インライン) | - |
GOOGLE_APPLICATION_CREDENTIALS | いいえ* | サービスアカウントのキーファイルのパス | - |
GCS_ROOT_PATH | いいえ | ルートパスのプレフィックス(アクセスを制限) | なし |
GCS_MAKE_PUBLIC | いいえ | ファイルを公開アクセス可能にする | false |
ENABLED_TOOLGROUPS | いいえ | ツールグループ:readonly、readwrite | すべて |
- 認証方法が1つ必要です:インライン認証情報、キーファイル、または ADC
Claude Desktop の設定
{
"mcpServers": {
"remote-filesystem": {
"command": "npx",
"args": ["-y", "remote-filesystem-mcp-server"],
"env": {
"GCS_BUCKET": "your-bucket-name",
"GCS_CLIENT_EMAIL": "[email protected]",
"GCS_PRIVATE_KEY": "-----BEGIN PRIVATE KEY-----\n...",
"GCS_ROOT_PATH": "uploads/"
}
}
}
}
ツール
upload
リモートファイルシステムにファイルをアップロードします。
パラメーター:
| パラメーター | 型 | 必須 | 説明 |
|---|---|---|---|
source | string | はい | ファイルパス(file://...)または Base64 データ |
path | string | いいえ | 保存先のパス(指定しない場合は自動生成) |
contentType | string | いいえ | MIME タイプ(指定がない場合は自動検出) |
makePublic | boolean | いいえ | デフォルトの公開/非公開設定を上書きします |
例:
upload({
source: 'file:///tmp/screenshot.png',
path: 'screenshots/pr-123.png',
makePublic: true,
});
download
リモートファイルシステムからファイルをダウンロードします。
パラメーター:
| パラメーター | 型 | 必須 | 説明 |
|---|---|---|---|
path | string | はい | ファイルへのパス |
asBase64 | boolean | いいえ | Base64 として返します(バイナリデータ用) |
例:
download({
path: 'screenshots/pr-123.png',
asBase64: true,
});
list_files
リモートファイルシステム内のファイルとディレクトリを一覧表示します。
パラメーター:
| パラメーター | 型 | 必須 | 説明 |
|---|---|---|---|
prefix | string | いいえ | 一覧表示するディレクトリのプレフィックス |
maxResults | number | いいえ | 返すファイルの最大数 |
例:
list_files({
prefix: 'screenshots/',
maxResults: 100,
});
modify
ファイルのプロパティを変更します。
パラメーター:
| パラメーター | 型 | 必須 | 説明 |
|---|---|---|---|
path | string | はい | ファイルへのパス |
makePublic | boolean | いいえ | ファイルを公開します |
makePrivate | boolean | いいえ | ファイルを非公開にします |
contentType | string | いいえ | 新しい MIME タイプ |
metadata | object | いいえ | カスタムメタデータのキーと値 |
例:
modify({
path: 'reports/doc.pdf',
makePublic: true,
metadata: { author: 'claude' },
});
delete_file
リモートファイルシステムからファイルを削除します。
パラメーター:
| パラメーター | 型 | 必須 | 説明 |
|---|---|---|---|
path | string | はい | ファイルへのパス |
例:
delete_file({
path: 'temp/old-file.txt',
});
ツールセットグループ
サーバーは、ツールグループによる権限ベースのアクセス制御に対応しています。
readonly:downloadツールとlist_filesツールのみ利用できますreadwrite:すべてのツールを利用できます(読み取り専用ツールを含む)
ENABLED_TOOLGROUPS=readonly を設定すると、読み取り専用操作に制限できます。
認証
サーバーは、複数の認証方式に対応しています。
1. インライン認証情報(推奨)
[email protected]
GCS_PRIVATE_KEY="-----BEGIN PRIVATE KEY-----\n...\n-----END PRIVATE KEY-----\n"
2. キーファイル
GOOGLE_APPLICATION_CREDENTIALS=/path/to/service-account.json
3. アプリケーションのデフォルト認証情報(ADC)
gcloud auth application-default login
ライセンス
MIT
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。