S3 MCP Server
Servidor S3 MCP
Un servidor de Protocolo de contexto de modelo (MCP) de Amazon S3 que proporciona herramientas para interactuar con objetos y depósitos de S3.
https://github.com/user-attachments/assets/d05ff0f1-e2bf-43b9-8d0c-82605abfb666
Descripción general
Este servidor MCP permite que los modelos de lenguaje grandes (LLM) como Claude interactúen con el almacenamiento de AWS S3. Proporciona herramientas para:
Listado de buckets S3 disponibles
Listado de objetos dentro de un depósito
Recuperando el contenido de un objeto
El servidor está construido utilizando TypeScript y MCP SDK, lo que proporciona una forma segura y estandarizada para que los LLM interactúen con S3.
Related MCP server: AWS MCP Server
Instalación
Prerrequisitos
Node.js 18 o superior
npm o hilo
Credenciales de AWS configuradas (ya sea a través de variables de entorno o archivo de credenciales de AWS)
Docker (opcional, para configuración en contenedores)
Configuración
Instalar mediante npm:
# Install globally via npm
npm install -g aws-s3-mcp
# Or as a dependency in your project
npm install aws-s3-mcpSi se construye desde la fuente:
# Clone the repository
git clone https://github.com/samuraikun/aws-s3-mcp.git
cd aws-s3-mcp
# Install dependencies and build
npm install
npm run buildConfigurar las credenciales de AWS y el acceso a S3:
Cree un archivo .env con su configuración de AWS:
AWS_REGION=us-east-1
S3_BUCKETS=bucket1,bucket2,bucket3
S3_MAX_BUCKETS=5
AWS_ACCESS_KEY_ID=your-access-key
AWS_SECRET_ACCESS_KEY=your-secret-keyO configúrelos como variables de entorno.
Configuración
El servidor se puede configurar utilizando las siguientes variables de entorno:
Variable | Descripción | Por defecto |
| Región de AWS donde se encuentran sus buckets S3 |
|
| Lista separada por comas de nombres de buckets S3 permitidos | (vacío) |
| Número máximo de buckets a devolver en el listado |
|
| Clave de acceso de AWS (si no se utilizan credenciales predeterminadas) | (de la configuración de AWS) |
| Clave secreta de AWS (si no se utilizan credenciales predeterminadas) | (de la configuración de AWS) |
Ejecución del servidor
Ejecución directa de Node.js
Puedes ejecutar el servidor directamente con Node.js:
# Using npx (without installing)
npx aws-s3-mcp
# If installed globally
npm install -g aws-s3-mcp
aws-s3-mcp
# If running from cloned repository
npm start
# Or directly
node dist/index.jsConfiguración de Docker 🐳
Puede ejecutar el servidor S3 MCP como un contenedor Docker utilizando Docker CLI o Docker Compose.
Uso de Docker CLI
Construya la imagen de Docker:
docker build -t aws-s3-mcp .Ejecute el contenedor con variables de entorno:
# Option 1: Pass environment variables directly
docker run -d \
-e AWS_REGION=us-east-1 \
-e S3_BUCKETS=bucket1,bucket2 \
-e S3_MAX_BUCKETS=5 \
-e AWS_ACCESS_KEY_ID=your-access-key \
-e AWS_SECRET_ACCESS_KEY=your-secret-key \
--name aws-s3-mcp-server \
aws-s3-mcp
# Option 2: Use environment variables from .env file
docker run -d \
--env-file .env \
--name aws-s3-mcp-server \
aws-s3-mcpComprobar los registros del contenedor:
docker logs aws-s3-mcp-serverDetener y retirar el contenedor:
docker stop aws-s3-mcp-server
docker rm aws-s3-mcp-serverTenga en cuenta que el contenedor no expone ningún puerto porque está diseñado para usarse con Claude Desktop a través de Docker exec en lugar de conexiones HTTP directas.
Uso de Docker Compose
Construya e inicie el contenedor Docker:
# Build and start the container
docker compose up -d s3-mcp
# View logs
docker compose logs -f s3-mcpPara detener el contenedor:
docker compose downUso de Docker con MinIO para pruebas
La configuración de Docker Compose incluye un servicio MinIO para pruebas locales:
# Start MinIO and the MCP server
docker compose up -d
# Access MinIO console at http://localhost:9001
# Default credentials: minioadmin/minioadminEl servicio MinIO crea automáticamente dos grupos de pruebas ( test-bucket-1 y test-bucket-2 ) y carga archivos de muestra para realizar pruebas.
Depuración en MCP Inspector
Para depurar el servidor usando MCP Inspector:
# Run inspector with local Node.js
sh run-inspector.sh
# Run inspector with Docker Compose and MinIO
sh run-inspector.sh --docker-compose
# Run inspector with Docker CLI (without Docker Compose)
sh run-inspector.sh --dockerAl utilizar la opción --docker-compose , el script hará lo siguiente:
Inicie MinIO y los contenedores del servidor S3 MCP si no se están ejecutando
Inicie el Inspector MCP conectado al servidor MCP de S3
Luego puede probar las herramientas S3 contra la instancia local de MinIO.
Conexión a Claude Desktop
Para utilizar este servidor con Claude Desktop:
Edite su archivo de configuración de Claude Desktop:
macOS:
~/Library/Application Support/Claude/claude_desktop_config.jsonVentanas:
%APPDATA%\Claude\claude_desktop_config.json
Agregue el servidor S3 MCP a la configuración:
{
"mcpServers": {
"s3": {
"command": "npx",
"args": ["aws-s3-mcp"],
"env": {
"AWS_REGION": "us-east-1",
"S3_BUCKETS": "bucket1,bucket2,bucket3",
"S3_MAX_BUCKETS": "5",
"AWS_ACCESS_KEY_ID": "your-access-key",
"AWS_SECRET_ACCESS_KEY": "your-secret-key"
}
}
}
}Opción de Docker para Claude Desktop 🐳
También puede configurar Claude Desktop para utilizar un contenedor Docker en ejecución para el servidor MCP:
{
"mcpServers": {
"s3": {
"command": "docker",
"args": ["exec", "-i", "aws-s3-mcp-server", "node", "dist/index.js"],
"env": {}
}
}
}⚠️ Requisitos previos importantes : para que esta configuración de Docker funcione, primero DEBE compilar y ejecutar el contenedor Docker ANTES de iniciar Claude Desktop:
# 1. First, build the Docker image (only needed once or after changes) docker build -t aws-s3-mcp . # 2. Then start the container (required each time before using with Claude) # Using Docker Compose (recommended) docker compose up -d s3-mcp # Or using Docker CLI docker run -d --name aws-s3-mcp-server --env-file .env aws-s3-mcpSin un contenedor en ejecución, Claude Desktop mostrará errores al intentar utilizar herramientas S3.
La configuración de Docker anterior usa
execpara enviar solicitudes MCP directamente al contenedor en ejecución. No se requiere la asignación de puertos, ya que Claude se comunica directamente con el contenedor en lugar de a través de un puerto de red.
Nota : asegúrese de que el nombre del contenedor en la configuración (
aws-s3-mcp-server) coincida con el nombre del contenedor en ejecución.
Importante : tenga en cuenta lo siguiente al utilizar la configuración anterior
Reemplace
AWS_ACCESS_KEY_IDyAWS_SECRET_ACCESS_KEYcon sus credenciales reales
S3_BUCKETSdebe contener una lista separada por comas de los depósitos a los que desea permitir el acceso.
AWS_REGIONdebe configurarse en la región donde se encuentran sus buckets
💣 Si ocurre un error en Claude Desktop
Si encuentra errores con la configuración anterior en Claude Desktop, intente utilizar rutas absolutas de la siguiente manera:
# Get the path of node and aws-s3-mcp
which node
which aws-s3-mcp{
"globalShortcut": "",
"mcpServers": {
"s3": {
"command": "your-absolute-path-to-node",
"args": ["your-absolute-path-to-aws-s3-mcp/dist/index.js"],
"env": {
"AWS_REGION": "your-aws-region",
"S3_BUCKETS": "your-s3-buckets",
"S3_MAX_BUCKETS": "your-max-buckets",
"AWS_ACCESS_KEY_ID": "your-access-key",
"AWS_SECRET_ACCESS_KEY": "your-secret-key"
}
}
}
}Herramientas disponibles
lista de cubos
Enumera los buckets de S3 disponibles a los que el servidor tiene permiso de acceso. Esta herramienta respeta la configuración S3_BUCKETS , que limita los buckets que se muestran.
Parámetros: Ninguno
Ejemplo de salida:
[
{
"Name": "my-images-bucket",
"CreationDate": "2022-03-15T10:30:00.000Z"
},
{
"Name": "my-documents-bucket",
"CreationDate": "2023-05-20T14:45:00.000Z"
}
]lista de objetos
Enumera los objetos en un bucket S3 específico.
Parámetros:
bucket(obligatorio): nombre del bucket S3 del que se listarán los objetosprefix(opcional): prefijo para filtrar objetos (como una ruta de carpeta)maxKeys(opcional): Número máximo de objetos a devolver
Ejemplo de salida:
[
{
"Key": "sample.pdf",
"LastModified": "2023-10-10T08:12:15.000Z",
"Size": 2048576,
"StorageClass": "STANDARD"
},
{
"Key": "sample.md",
"LastModified": "2023-10-12T15:30:45.000Z",
"Size": 1536000,
"StorageClass": "STANDARD"
}
]obtener objeto
Recupera un objeto de un bucket de S3 especificado. Los archivos de texto se devuelven como texto sin formato, mientras que los archivos binarios se devuelven con detalles limitados.
Parámetros:
bucket(obligatorio): nombre del bucket S3key(obligatoria): Clave (ruta) del objeto a recuperar
Ejemplo de salida de texto:
This is the content of a text file stored in S3.
It could be JSON, TXT, CSV or other text-based formats.Ejemplo de salida binaria:
Binary content (image/jpeg): base64 data is /9j/4AAQSkZJRgABAQAAAQABAAD/2wBDAAgGBgcGBQgHBwcJCQgKDBQNDAsLDBkSEw8UHRof...Consideraciones de seguridad
El servidor solo accederá a los depósitos especificados en la variable de entorno
S3_BUCKETSLas credenciales de AWS deben tener los permisos adecuados para los depósitos
Utilice el principio del mínimo privilegio al configurar los permisos de AWS
Para uso en producción, considere usar roles de IAM con permisos S3 específicos
Uso con Claude
Al interactuar con Claude en la aplicación de escritorio, puedes pedirle que realice operaciones S3 como:
"Enumerar todos mis buckets S3"
Resumir archivos PDF en la carpeta "Mis documentos"
Obtener el archivo README.txt de my-documents-bucket
Claude utilizará la herramienta MCP adecuada para realizar la solicitud y mostrarle los resultados.
Licencia
Instituto Tecnológico de Massachusetts (MIT)
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Servers
- FlicenseBqualityDmaintenanceAn MCP server that provides tools for interacting with AWS S3 buckets, enabling direct access to S3 operations through the Model Context Protocol.1
- AlicenseAqualityFmaintenanceA Model Context Protocol server implementation that enables Claude to perform AWS operations on S3 and DynamoDB services through natural language commands.23127MIT
- FlicenseCqualityDmaintenanceA Model Context Protocol server allowing Claude AI to interact with AWS resources through natural language, enabling users to query and manage AWS services without using the traditional AWS Console or CLI.36
- AlicenseAqualityDmaintenanceA Model Context Protocol (MCP) server for AWS S3 integration using FastMCP and boto3. This server provides access to S3 functionality through MCP-compatible tools.101MIT
Related MCP Connectors
A comprehensive Model Context Protocol (MCP) server that enables AI assistants to interact with yo…
Hosted Amazon Seller Central and Amazon Ads MCP server for Claude, ChatGPT, Cursor, and agents.
Hosted Amazon Seller and Vendor MCP server for Claude, ChatGPT, Cursor, Codex, Gemini, Copilot.
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/samuraikun/aws-s3-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server