⚙️ 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.
Setup
Choose your client, copy the config, then fill in any required environment variables.
claude mcp add s3-server-geun-oh --env AWS_ACCESS_KEY_ID='<AWS_ACCESS_KEY_ID>' --env AWS_SECRET_ACCESS_KEY='<AWS_SECRET_ACCESS_KEY>' -- npx -y @geunoh/s3-mcp-server --region '{{config.AWS_REGION}}' --bucket '{{config.S3_BUCKET_NAME}}'~/.codex/config.toml
[mcp_servers.s3-server-geun-oh]
command = "npx"
args = ["-y", "@geunoh/s3-mcp-server", "--region", "{{config.AWS_REGION}}", "--bucket", "{{config.S3_BUCKET_NAME}}"]
env = { AWS_ACCESS_KEY_ID = "<AWS_ACCESS_KEY_ID>", AWS_SECRET_ACCESS_KEY = "<AWS_SECRET_ACCESS_KEY>" }
# codex mcp add s3-server-geun-oh --env AWS_ACCESS_KEY_ID='<AWS_ACCESS_KEY_ID>' --env AWS_SECRET_ACCESS_KEY='<AWS_SECRET_ACCESS_KEY>' -- npx -y @geunoh/s3-mcp-server --region '{{config.AWS_REGION}}' --bucket '{{config.S3_BUCKET_NAME}}'~/.cursor/mcp.json
{
"mcpServers": {
"s3-server-geun-oh": {
"command": "npx",
"args": [
"-y",
"@geunoh/s3-mcp-server",
"--region",
"{{config.AWS_REGION}}",
"--bucket",
"{{config.S3_BUCKET_NAME}}"
],
"env": {
"AWS_ACCESS_KEY_ID": "<AWS_ACCESS_KEY_ID>",
"AWS_SECRET_ACCESS_KEY": "<AWS_SECRET_ACCESS_KEY>"
}
}
}
}.vscode/mcp.json
{
"servers": {
"s3-server-geun-oh": {
"type": "stdio",
"command": "npx",
"args": [
"-y",
"@geunoh/s3-mcp-server",
"--region",
"{{config.AWS_REGION}}",
"--bucket",
"{{config.S3_BUCKET_NAME}}"
],
"env": {
"AWS_ACCESS_KEY_ID": "<AWS_ACCESS_KEY_ID>",
"AWS_SECRET_ACCESS_KEY": "<AWS_SECRET_ACCESS_KEY>"
}
}
}
}~/.gemini/settings.json
{
"mcpServers": {
"s3-server-geun-oh": {
"command": "npx",
"args": [
"-y",
"@geunoh/s3-mcp-server",
"--region",
"{{config.AWS_REGION}}",
"--bucket",
"{{config.S3_BUCKET_NAME}}"
],
"env": {
"AWS_ACCESS_KEY_ID": "<AWS_ACCESS_KEY_ID>",
"AWS_SECRET_ACCESS_KEY": "<AWS_SECRET_ACCESS_KEY>"
}
}
}
}claude_desktop_config.json
{
"mcpServers": {
"s3-server-geun-oh": {
"command": "npx",
"args": [
"-y",
"@geunoh/s3-mcp-server",
"--region",
"{{config.AWS_REGION}}",
"--bucket",
"{{config.S3_BUCKET_NAME}}"
],
"env": {
"AWS_ACCESS_KEY_ID": "<AWS_ACCESS_KEY_ID>",
"AWS_SECRET_ACCESS_KEY": "<AWS_SECRET_ACCESS_KEY>"
}
}
}
}.trae/mcp.json
{
"mcpServers": {
"s3-server-geun-oh": {
"command": "npx",
"args": [
"-y",
"@geunoh/s3-mcp-server",
"--region",
"{{config.AWS_REGION}}",
"--bucket",
"{{config.S3_BUCKET_NAME}}"
],
"env": {
"AWS_ACCESS_KEY_ID": "<AWS_ACCESS_KEY_ID>",
"AWS_SECRET_ACCESS_KEY": "<AWS_SECRET_ACCESS_KEY>"
}
}
}
}Environment variables
AWS_ACCESS_KEY_IDAWS_SECRET_ACCESS_KEY
Replace the placeholders with your own credentials and keep them out of version control.