Cover image
Try Now
2025-03-26

⚙️ Un serveur de protocole de contexte de modèle (MCP) pour accéder aux seaux Amazon S3. Ce serveur fournit une intégration transparente avec le stockage S3 via MCP, permettant une gestion efficace des fichiers volumineux, y compris les PDF via des capacités de streaming.

3 years

Works with Finder

1

Github Watches

0

Github Forks

0

Github Stars

S3 MCP Server

A Model Context Protocol (MCP) server for accessing Amazon S3 buckets. This server provides seamless integration with S3 storage through MCP, allowing efficient handling of large files including PDFs through streaming capabilities.

Features

  • S3 bucket object listing with prefix filtering
  • Efficient large file handling through streaming
  • Secure AWS credentials management
  • TypeScript support
  • CLI interface with customizable options

Installation

npx -y @geunoh/s3-mcp-server

Usage

Command Line Options

npx -y @geunoh/s3-mcp-server [options]

Options:

  • --port, -p: Server port (default: 3000)
  • --region, -r: AWS region (default: ap-northeast-2)
  • --bucket, -b: S3 bucket name (default: my-dancing-bucket)

Environment Variables

Required:

export AWS_ACCESS_KEY_ID="your_access_key"
export AWS_SECRET_ACCESS_KEY="your_secret_key"

Optional:

export AWS_REGION="ap-northeast-2"
export S3_BUCKET_NAME="my-bucket-name"

MCP Integration

Add to your mcp.json:

{
  "mcpServers": {
    "s3-mcp-server": {
      "command": "npx",
      "args": ["-y", "@geunoh/s3-mcp-server"],
      "env": {
        "AWS_ACCESS_KEY_ID": "YOUR_AWS_ACCESS_KEY_ID",
        "AWS_SECRET_ACCESS_KEY": "YOUR_AWS_SECRET_ACCESS_KEY",

        // optional
        "AWS_REGION": "ap-northeast-2",
        "S3_BUCKET_NAME": "my-bucket-name",
      }
    }
  }
}

Available MCP Functions

listObjects

Lists objects in the S3 bucket.

Parameters:

  • prefix (optional): Filter objects by prefix

getObject

Retrieves an object from the S3 bucket. Optimized for large files through streaming.

Parameters:

  • key: The key of the object to retrieve

Returns:

  • stream: ReadableStream of the object content
  • contentType: MIME type of the object
  • contentLength: Size of the object in bytes
  • lastModified: Last modification timestamp
  • text: Text buffer of raw pdf ByteArray

AWS IAM Permissions

Minimum required permissions (see s3-policy.json):

{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Effect": "Allow",
            "Action": [
                "s3:ListBucket",
                "s3:GetObject"
            ],
            "Resource": "arn:aws:s3:::my-bucket-name"
        }
    ]
}

Development

  1. Clone the repository:
git clone https://github.com/Geun-Oh/s3-mcp-server.git
cd s3-mcp-server
  1. Install dependencies:
npm install
  1. Build the project:
npm run build
  1. Run locally:
node dist/cli.js

Project Structure

.
├── src/              # TypeScript source files
├── dist/            # Compiled JavaScript files and runtime dependencies
├── tsconfig.json    # TypeScript configuration
└── package.json     # Project configuration and dependencies

Deployment

  1. Create a new version tag:
npm version patch
  1. Push to npm registry:
npm publish --access public

The GitHub Actions workflow will automatically publish the package when a new version tag is pushed.

License

MIT

Contributing

Issues and pull requests are welcome. Please ensure that your changes maintain the existing code style and include appropriate tests.

相关推荐

  • NiKole Maxwell
  • I craft unique cereal names, stories, and ridiculously cute Cereal Baby images.

  • Joshua Armstrong
  • Confidential guide on numerology and astrology, based of GG33 Public information

  • https://suefel.com
  • Latest advice and best practices for custom GPT development.

  • Emmet Halm
  • Converts Figma frames into front-end code for various mobile frameworks.

  • Elijah Ng Shi Yi
  • Advanced software engineer GPT that excels through nailing the basics.

  • https://maiplestudio.com
  • Find Exhibitors, Speakers and more

  • lumpenspace
  • Take an adjectivised noun, and create images making it progressively more adjective!

  • Yasir Eryilmaz
  • AI scriptwriting assistant for short, engaging video content.

  • apappascs
  • Découvrez la collection la plus complète et la plus à jour de serveurs MCP sur le marché. Ce référentiel sert de centre centralisé, offrant un vaste catalogue de serveurs MCP open-source et propriétaires, avec des fonctionnalités, des liens de documentation et des contributeurs.

  • ShrimpingIt
  • Manipulation basée sur Micropython I2C de l'exposition GPIO de la série MCP, dérivée d'Adafruit_MCP230XX

  • huahuayu
  • Une passerelle API unifiée pour intégrer plusieurs API d'explorateur de blockchain de type étherscan avec la prise en charge du protocole de contexte modèle (MCP) pour les assistants d'IA.

  • deemkeen
  • Contrôlez votre MBOT2 avec un combo d'alimentation: MQTT + MCP + LLM

  • jae-jae
  • MCP Server pour récupérer le contenu de la page Web à l'aide du navigateur sans tête du dramwright.

    Reviews

    3 (1)
    Avatar
    user_qes4GeT8
    2025-04-16

    I've been using the s3-mcp-server by Geun-Oh for a while now, and it's simply outstanding. The seamless integration and efficient performance make it a standout choice for any MCP application needs. Highly recommend checking it out on GitHub!