File Store MCP Server について
File Store MCP Server は、統一インターフェースでファイルをクラウドストレージにアップロードします。ローカル、クリップボード、URL のファイルをオンラインで利用するアプリ向けで、複数のストレージと STDIO、SSE に対応しています。
主な機能
- 01複数のクラウドストレージに対応
- 02ローカル、クリップボード、URL のファイルをアップロード
- 03署名付きアクセス URL の生成
- 04URL の有効期間とカスタムドメインの設定
- 05STDIO と SSE の動作モード
活用シーン
- 01ローカル文書をオンラインで分析
- 02ローカル保存せずにクリップボードのファイルを共有
- 03指定されたウェブリンクからファイルをアップロード
- 04カスタムドメインや CDN で保存ファイルを配信
MCP 対応
MCP サーバーは、設定済みストレージにファイルをアップロードする `upload_files`、`upload_clipboard_files`、`upload_url_files` ツールを公開します。STDIO または SSE で動作します。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
このサーバーのパッケージやリモートエンドポイントはまだ取得できていません。プロジェクトの README の手順に従ってください。
ツール
ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。
詳細
特長
- 複数のクラウドストレージプロバイダーに対応
- ファイルアップロード用の統一 API
- 安全なアクセスのための署名付き URL の生成
- AWS S3、Alibaba Cloud OSS、Tencent Cloud COS、Qiniu Cloud、GitHub に対応
- 環境変数による簡単な設定
- URL の有効期限をカスタマイズ可能
- カスタムドメインと CDN に対応
- 2 つの動作モード:直接統合用の stdio とサーバーモード用の SSE
クイックスタート
インストール
go install github.com/sjzar/file-store-mcp@latest
基本的な使い方
- 選択したストレージプロバイダーに必要な環境変数を設定します
- 他のアプリケーションと直接統合する場合は、stdio モード(デフォルト)で実行します:
file-store-mcp - または、HTTP ベースで統合する場合は、SSE サーバーモードで実行します:
file-store-mcp --sse-port 8080
MCP ツール
File Store MCP は、ファイルをクラウドストレージにアップロードするための 3 つのツールを提供します:
1. ファイルアップロードツール(upload_files)
ローカルファイルをクラウドストレージにアップロードし、HTTP URL を返します。
使用するタイミング:ユーザーがローカルファイルのパスを指定した場合や、ファイルをオンラインで利用する必要がある場合に使用します。PDF の内容の分析、描画タスクでのローカル画像の参照、その他あらゆるローカルファイルの処理に適しています。
パラメーター:
paths:アップロードするローカルファイルの絶対パスの配列(必須)
例:
{
"tool": "upload_files",
"params": {
"paths": ["/path/to/file1.pdf", "C:/Users/user/Documents/file2.jpg"]
}
}
2. クリップボードファイルアップロードツール(upload_clipboard_files)
クリップボード内のファイルをクラウドストレージにアップロードし、HTTP URL を返します。
使用するタイミング:ユーザーがクリップボードからのファイルアップロードを明示的に依頼した場合にのみ使用します。クリップボードの内容をローカルに保存せずに共有または処理したい場合に便利です。
パラメーター:必須のパラメーターはありません
例:
{
"tool": "upload_clipboard_files"
}
3. URL ファイルアップロードツール(upload_url_files)
指定された URL からファイルをダウンロードしてクラウドストレージにアップロードし、新しい HTTP URL を返します。
使用するタイミング:ユーザーが処理または分析したいファイルへのウェブリンクを指定した場合に使用します。現在のワークフローに取り込む必要がある外部ファイルをユーザーが参照する状況に適しています。
パラメーター:
urls:ダウンロードしてアップロードするファイルを指す URL の配列(必須)
例:
{
"tool": "upload_url_files",
"params": {
"urls": ["https://example.com/file1.pdf", "https://another-site.org/image.jpg"]
}
}
ストレージプロバイダー
File Store MCP は、以下のストレージプロバイダーに対応しています:
- AWS S3(Cloudflare R2 などの互換サービスを含む)
- Alibaba Cloud OSS
- Tencent Cloud COS
- Qiniu Cloud Storage
- GitHub リポジトリ
設定
共通設定
| 環境変数 | 説明 | デフォルト |
|---|---|---|
FSM_STORAGE_TYPE | ストレージプロバイダーの種類(s3, oss, cos, qiniu, github) | empty |
AWS S3 の設定
AWS S3 または互換サービスを使用するには、FSM_STORAGE_TYPE=s3 を設定します。
| 環境変数 | 説明 | 必須 | デフォルト |
|---|---|---|---|
FSM_S3_BUCKET | S3 バケット名 | はい | - |
FSM_S3_REGION | AWS リージョン | はい | - |
FSM_S3_ENDPOINT | S3 互換サービス用のカスタムエンドポイント | いいえ | AWS S3 エンドポイント |
FSM_S3_ACCESS_KEY | AWS アクセスキー ID | はい | - |
FSM_S3_SECRET_KEY | AWS シークレットアクセスキー | はい | - |
FSM_S3_SESSION | AWS セッショントークン | いいえ | - |
FSM_S3_URL_EXPIRATION | 署名付き URL の有効期限(秒) | いいえ | 604800(7 日) |
S3 互換サービスに関する注意事項:
- Cloudflare R2 の場合:
FSM_S3_ENDPOINTに R2 のエンドポイント URL を設定します - その他の S3 互換サービスの場合:適切なエンドポイント URL を設定します
Alibaba Cloud OSS の設定
Alibaba Cloud OSS を使用するには、FSM_STORAGE_TYPE=oss を設定します。
| 環境変数 | 説明 | 必須 | デフォルト |
|---|---|---|---|
FSM_OSS_ENDPOINT | OSS エンドポイント | はい | - |
FSM_OSS_ACCESS_KEY | OSS アクセスキー ID | はい | - |
FSM_OSS_SECRET_KEY | OSS アクセスキーシークレット | はい | - |
FSM_OSS_BUCKET | OSS バケット名 | はい | - |
FSM_OSS_DOMAIN | OSS バケットのカスタムドメイン | いいえ | - |
FSM_OSS_URL_EXPIRATION | 署名付き URL の有効期限(秒) | いいえ | 604800(7 日) |
Tencent Cloud COS の設定
Tencent Cloud COS を使用するには、FSM_STORAGE_TYPE=cos を設定します。
| 環境変数 | 説明 | 必須 | デフォルト |
|---|---|---|---|
FSM_COS_BUCKET | COS バケット名 | はい | - |
FSM_COS_REGION | COS リージョン | はい | - |
FSM_COS_APP_ID | Tencent Cloud アプリ ID | はい | - |
FSM_COS_ACCESS_KEY | シークレット ID | はい | - |
FSM_COS_SECRET_KEY | シークレットキー | はい | - |
FSM_COS_DOMAIN | COS バケットのカスタムドメイン | いいえ | - |
FSM_COS_USE_HTTPS | HTTPS を使用するかどうか | いいえ | true |
FSM_COS_USE_ACCELERATE | グローバルアクセラレーションを使用するかどうか | いいえ | false |
FSM_COS_URL_EXPIRATION | 署名付き URL の有効期限(秒) | いいえ | 604800(7 日) |
Qiniu Cloud Storage の設定
Qiniu Cloud Storage を使用するには、FSM_STORAGE_TYPE=qiniu を設定します。
| 環境変数 | 説明 | 必須 | デフォルト |
|---|---|---|---|
FSM_QINIU_ACCESS_KEY | Qiniu アクセスキー | はい | - |
FSM_QINIU_SECRET_KEY | Qiniu シークレットキー | はい | - |
FSM_QINIU_BUCKET | Qiniu バケット名 | はい | - |
FSM_QINIU_DOMAIN | Qiniu バケットのカスタムドメイン(必須) | はい | - |
FSM_QINIU_REGION | ストレージリージョン | いいえ | z0(中国東部) |
FSM_QINIU_URL_EXPIRATION | 署名付き URL の有効期限(秒) | いいえ | 604800(7 日) |
利用可能な Qiniu リージョン:
z0:中国東部z1:中国北部z2:中国南部na0:北米as0:東南アジア
GitHub リポジトリの設定
GitHub をストレージプロバイダーとして使用するには、FSM_STORAGE_TYPE=github を設定します。
| 環境変数 | 説明 | 必須 | デフォルト |
|---|---|---|---|
FSM_GITHUB_TOKEN | GitHub パーソナルアクセストークン | はい | - |
FSM_GITHUB_OWNER | リポジトリの所有者 | はい | - |
FSM_GITHUB_REPO | リポジトリ名 | はい | - |
FSM_GITHUB_BRANCH | ブランチ名 | いいえ | main |
FSM_GITHUB_PATH | リポジトリ内のファイル保存パス | いいえ | - |
FSM_GITHUB_DOMAIN | GitHub コンテンツのカスタムドメイン | いいえ | - |
GitHub トークンの権限:
- プライベートリポジトリでは、トークンに
repoスコープが必要です - パブリックリポジトリでは、
public_repoスコープで十分です
高度な使用方法
カスタムドメインの使用
すべてのストレージプロバイダーで、ファイルを配信するためのカスタムドメインを設定できます。ストレージの前段に CDN サービスがある場合に特に便利です。
カスタムドメインを使用する Alibaba Cloud OSS の例:
FSM_STORAGE_TYPE=oss
FSM_OSS_BUCKET=my-bucket
FSM_OSS_ENDPOINT=oss-cn-hangzhou.aliyuncs.com
FSM_OSS_ACCESS_KEY=your-access-key
FSM_OSS_SECRET_KEY=your-secret-key
FSM_OSS_DOMAIN=cdn.example.com
デバッグモード
より詳細なログを有効にするには、デバッグモードを有効にします。
file-store-mcp --debug
開発
ソースからビルドする
git clone https://github.com/sjzar/file-store-mcp.git
cd file-store-mcp
go build
ライセンス
このプロジェクトは Apache License 2.0 のライセンスに基づいています。詳細については、LICENSE ファイルをご覧ください。
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。