mcpField
R
remote-filesystem

remote-filesystem

ローカル
github.com/pulsemcpファイル・ストレージ818 週間前に更新

remote-filesystem について

Remote Filesystem は、クラウドストレージに対するリモートのファイル操作を行う MCP サーバーです。現在は Google Cloud Storage に対応しており、S3 と Cloudflare R2 への対応も予定されています。MCP クライアントからバケット内のファイルをアップロード、ダウンロード、管理する用途に適しています。

主な機能

  1. 01公開または非公開を指定したアップロード
  2. 02テキストまたは base64 としてのダウンロード
  3. 03プレフィックスによるファイルとディレクトリの一覧
  4. 04ファイルプロパティとメタデータの変更
  5. 05読み取り専用と読み書きを分けるツールグループ

活用シーン

  1. 01生成したスクリーンショットを GCS にアップロードし公開リンクを共有する
  2. 02読み取り専用モードでバケットの内容を閲覧する

MCP 対応

MCP クライアントに upload、download、list_files、modify、delete_file などのツールを公開する MCP サーバーで、クラウドストレージ上のファイルを操作できます。

設定

ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。

mcp.json · 共通設定
{
"mcpServers": {
"com-pulsemcp-remote-filesystem": {
"command": "npx",
"args": [
"-y",
"remote-filesystem-mcp-server"
],
"env": {
"GCS_BUCKET": "<GCS_BUCKET>",
"GCS_PROJECT_ID": "<GCS_PROJECT_ID>",
"GCS_CLIENT_EMAIL": "<GCS_CLIENT_EMAIL>",
"GCS_PRIVATE_KEY": "<GCS_PRIVATE_KEY>",
"GOOGLE_APPLICATION_CREDENTIALS": "<GOOGLE_APPLICATION_CREDENTIALS>",
"GCS_ROOT_PATH": "<GCS_ROOT_PATH>",
"GCS_MAKE_PUBLIC": "<GCS_MAKE_PUBLIC>",
"ENABLED_TOOLGROUPS": "<ENABLED_TOOLGROUPS>"
}
}
}
}
起動コマンドnpx -y remote-filesystem-mcp-server
設定が必要な環境変数
GCS_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 以上など)が必要です。設定ファイルの場所はクライアントごとに異なります。

パッケージ
npmremote-filesystem-mcp-server0.1.5

ツール

5

掲載時のツール一覧 · 2 週間前に更新

パラメーター型必須説明
pathstringはいリモートファイルシステム内のファイルへのパス(ルートからの相対パス)。例:"screenshots/pr-123.png"
asBase64booleanいいえ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

リモートファイルシステムにファイルをアップロードします。

パラメーター:

パラメーター型必須説明
sourcestringはいファイルパス(file://...)または Base64 データ
pathstringいいえ保存先のパス(指定しない場合は自動生成)
contentTypestringいいえMIME タイプ(指定がない場合は自動検出)
makePublicbooleanいいえデフォルトの公開/非公開設定を上書きします

例:

upload({
  source: 'file:///tmp/screenshot.png',
  path: 'screenshots/pr-123.png',
  makePublic: true,
});
download

リモートファイルシステムからファイルをダウンロードします。

パラメーター:

パラメーター型必須説明
pathstringはいファイルへのパス
asBase64booleanいいえBase64 として返します(バイナリデータ用)

例:

download({
  path: 'screenshots/pr-123.png',
  asBase64: true,
});
list_files

リモートファイルシステム内のファイルとディレクトリを一覧表示します。

パラメーター:

パラメーター型必須説明
prefixstringいいえ一覧表示するディレクトリのプレフィックス
maxResultsnumberいいえ返すファイルの最大数

例:

list_files({
  prefix: 'screenshots/',
  maxResults: 100,
});
modify

ファイルのプロパティを変更します。

パラメーター:

パラメーター型必須説明
pathstringはいファイルへのパス
makePublicbooleanいいえファイルを公開します
makePrivatebooleanいいえファイルを非公開にします
contentTypestringいいえ新しい MIME タイプ
metadataobjectいいえカスタムメタデータのキーと値

例:

modify({
  path: 'reports/doc.pdf',
  makePublic: true,
  metadata: { author: 'claude' },
});
delete_file

リモートファイルシステムからファイルを削除します。

パラメーター:

パラメーター型必須説明
pathstringはいファイルへのパス

例:

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

コメント

MCP は初めてですか?

プロトコルの概要から最初のサーバーの導入まで、よくある疑問にまとめて答えます。

AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。