Deploy AWS S3 MCP
Railway

Deploy AWS S3 MCP

Deploy and AWS S3 MCP with Railway

Deploy AWS S3 MCP

Just deployed

AWS S3 MCP logo

Deploy and Host AWS S3 MCP on Railway

AWS S3 MCP is a Model Context Protocol server that exposes S3 buckets to LLM clients as tools — list-buckets, list-objects, and get-object. This template deploys the MCP server behind an nginx bearer-token auth gateway, so an LLM can safely read objects from a publicly reachable endpoint.

About Hosting AWS S3 MCP

The upstream project has no built-in authentication, so this template places an nginx service in front that validates every request against a comma-separated list of bearer tokens before proxying to the MCP over Railway's private network. The MCP can be pointed at any S3-compatible storage — AWS S3, a Railway bucket, MinIO, Cloudflare R2, or Backblaze B2.

Common Use Cases

  • Give Claude, Cursor, or other MCP clients read access to files in S3
  • Retrieval-Augmented Generation (RAG) over documents stored in a bucket
  • Agent workflows that need to inspect build artifacts, logs, or exports
  • Secure sharing of an S3 tool endpoint with teammates via a bearer token

Dependencies for AWS S3 MCP Hosting

The template ships the nginx auth gateway and the AWS S3 MCP server. You bring the storage: attach a Railway bucket after deploy, or point the MCP at an external S3-compatible provider.

Deployment Dependencies

  • Credentials for the target S3-compatible storage (access key, secret, endpoint, region, bucket name).

Implementation Details

Architecture Components

This template deploys two services:

  • Gateway: nginx:alpine with a public Railway domain. Validates Authorization: Bearer against API_KEYS and proxies the rest to the MCP over Railway's private network with SSE-friendly settings.
  • AWS S3 MCP: the samuraikun/aws-s3-mcp server (pinned to v0.4.0) running in HTTP transport mode. No public domain — reachable only via mcp.railway.internal:3000.

Authentication

Clients must send Authorization: Bearer where ``is one of the comma-separated entries in API_KEYS. Generate keys with openssl rand -hex 32; rotating is a variable update + gateway redeploy.

Service Configuration

  • MCP endpoint: https:///mcp.
  • Storage: set AWS_ACCESS_KEY_ID, AWS_REGION, and S3_BUCKETS on the MCP service. For a Railway bucket, use reference variables against the bucket's credentials.

License Information

MIT (aws-s3-mcp) + BSD-2-Clause (nginx).

Why Deploy AWS S3 MCP on Railway?

The auth gateway, private-network wiring, and SSE passthrough are all pre-configured — giving an MCP client secure read access to S3 is a one-click deploy instead of a custom nginx + reverse-proxy project.

Notes


Template Content

More templates in this category

View Template
N8N Main + Worker
Deploy and Host N8N with Inactive worker.

jakemerson
View Template
Postgres Backup
Cron-based PostgreSQL backup to bucket storage

Railway Templates
View Template
Prefect [Updated Apr ’26]
Prefect [Apr ’26] (ETL & Automation alternative to Airflow) Self Host

shinyduo