hybrid server
The server is able to function both locally and remotely, depending on the configuration or use case.
Integrations
Provides tools for listing available S3 buckets, listing objects within a bucket, and retrieving object contents from AWS S3 storage.
S3 MCP サーバー
S3 バケットおよびオブジェクトと対話するためのツールを提供する Amazon S3 モデルコンテキストプロトコル (MCP) サーバー。
https://github.com/user-attachments/assets/d05ff0f1-e2bf-43b9-8d0c-82605abfb666
概要
このMCPサーバーは、Claudeのような大規模言語モデル(LLM)がAWS S3ストレージと連携できるようにします。以下のツールを提供します。
- 利用可能なS3バケットの一覧表示
- バケット内のオブジェクトの一覧表示
- オブジェクトの内容を取得しています
サーバーは TypeScript と MCP SDK を使用して構築されており、LLM が S3 とインターフェースするための安全で標準化された方法を提供します。
インストール
前提条件
- Node.js 18以上
- npmまたはyarn
- AWS 認証情報が設定されている(環境変数または AWS 認証情報ファイル経由)
設定
- npm 経由でインストール:
- ソースからビルドする場合:
- AWS 認証情報と S3 アクセスを構成します。
AWS 設定で.env
ファイルを作成します。
または、これらを環境変数として設定します。
構成
サーバーは次の環境変数を使用して構成できます。
変数 | 説明 | デフォルト |
---|---|---|
AWS_REGION | S3バケットが配置されているAWSリージョン | us-east-1 |
S3_BUCKETS | 許可された S3 バケット名のカンマ区切りリスト | (空の) |
S3_MAX_BUCKETS | リストに返されるバケットの最大数 | 5 |
AWS_ACCESS_KEY_ID | AWS アクセスキー(デフォルトの認証情報を使用していないとき) | (AWS 設定から) |
AWS_SECRET_ACCESS_KEY | AWS 秘密キー(デフォルトの認証情報を使用していないとき) | (AWS 設定から) |
サーバーの実行
Node.js を使用してサーバーを実行できます。
Claudeデスクトップに接続しています
このサーバーをClaude Desktopで使用するには:
- Claude Desktop 構成ファイルを編集します。
- macOS:
~/Library/Application Support/Claude/claude_desktop_config.json
- Windows:
%APPDATA%\Claude\claude_desktop_config.json
- macOS:
- S3 MCP サーバーを構成に追加します。
重要: 上記の設定を使用する場合は、次の点に注意してください。
AWS_ACCESS_KEY_ID
とAWS_SECRET_ACCESS_KEY
実際の認証情報に置き換えます。S3_BUCKETS
は、アクセスを許可するバケットのカンマ区切りのリストを含める必要があります。AWS_REGION
バケットが配置されているリージョンに設定する必要があります
💣 Claude Desktopでエラーが発生した場合
Claude Desktop で上記の構成でエラーが発生した場合は、次のように絶対パスを使用してみてください。
利用可能なツール
リストバケット
サーバーがアクセス権限を持つ利用可能なS3バケットを一覧表示します。このツールは、表示されるバケットを制限するS3_BUCKETS
設定に従います。
**パラメータ:**なし
出力例:
リストオブジェクト
指定された S3 バケット内のオブジェクトを一覧表示します。
パラメータ:
bucket
(必須): オブジェクトを一覧表示するS3バケットの名前prefix
(オプション):フィルターオブジェクトのプレフィックス(フォルダーパスなど)maxKeys
(オプション): 返されるオブジェクトの最大数
出力例:
オブジェクトを取得
指定されたS3バケットからオブジェクトを取得します。テキストファイルはプレーンテキストとして返され、バイナリファイルは限定された詳細情報とともに返されます。
パラメータ:
bucket
(必須): S3バケットの名前key
(必須): 取得するオブジェクトのキー(パス)
テキスト出力の例:
バイナリ出力の例:
セキュリティに関する考慮事項
- サーバーは
S3_BUCKETS
環境変数で指定されたバケットにのみアクセスします。 - AWS認証情報にはバケットへの適切な権限が必要です
- AWS の権限を設定するときは、最小権限の原則を使用します。
- 本番環境での使用には、特定のS3権限を持つIAMロールの使用を検討してください。
クロードとの使用
デスクトップ アプリで Claude と対話する場合、次のような S3 操作を実行するように要求できます。
- 「すべてのS3バケットを一覧表示する」
- 「画像バケットの内容を見せてください」
- 「my-documents-bucket から README.txt ファイルを取得する」
Claude は適切な MCP ツールを使用してリクエストを実行し、結果を表示します。
ライセンス
マサチューセッツ工科大学
You must be authenticated.
Claude のような大規模言語モデルが AWS S3 ストレージと対話できるようにし、バケットの一覧表示、オブジェクトの一覧表示、オブジェクトの内容の取得を行うツールを提供する Amazon S3 モデルコンテキストプロトコル サーバー。