Overview
What is S3 YAML MCP Server?
A Model Context Protocol (MCP) server that connects to AWS S3 to provide access to YAML files containing Swagger/OpenAPI documentation. Designed for seamless integration with VS Code and GitHub Copilot, it enables AI assistants to discover, search, and read API specifications stored in S3.
How to use S3 YAML MCP Server?
Install via the recommended one-line script, Go install, binary download, or Docker. Set the required environment variable S3_BUCKET (optionally S3_REGION, S3_ENDPOINT, etc.) and create a .vscode/mcp.json file to register the server in VS Code. After installation, open VS Code and use GitHub Copilot Chat with commands like @s3YamlDocs list all YAML files to interact with your S3-hosted specifications.
Key features of S3 YAML MCP Server
- Connects to any S3-compatible storage service
- Automatically lists and discovers YAML/YML files
- Reads and provides YAML content to AI assistants
- Searches for files and specific API endpoint details
- Built-in integration with VS Code and GitHub Copilot
- Uses AWS CLI credentials or IAM roles for secure authentication
Use cases of S3 YAML MCP Server
- Generate API client code directly from OpenAPI specs in S3
- Find specific endpoint details (request/response schemas) via chat
- Validate Express.js routes or other implementations against contract
- Generate comprehensive test cases covering all endpoints
- Search across all APIs for authentication-related endpoints or specific response fields
FAQ from S3 YAML MCP Server
What are the prerequisites?
AWS credentials configured (AWS CLI, IAM roles, or environment variables), an S3 bucket containing YAML files, and VS Code with the GitHub Copilot extension.
How do I install S3 YAML MCP Server?
Four methods: one-line install (curl β¦ | bash), Go install (go install β¦), downloading a binary from the releases page, or Docker (docker pull ghcr.io/ander-castiblanco-stori/s3-mcp-server:latest).
What environment variables must be configured?
S3_BUCKET is required. Optional variables include S3_REGION (default us-east-1), AWS_ACCESS_KEY_ID, AWS_SECRET_ACCESS_KEY, S3_ENDPOINT (for S3-compatible services), and LOG_LEVEL.
Which AWS S3 permissions are needed?
The credentials require s3:GetObject, s3:ListBucket, s3:HeadBucket, and s3:HeadObject on the bucket and its objects.
Can I use an S3-compatible service instead of AWS S3?
Yes. Set the S3_ENDPOINT environment variable to point to your S3-compatible service (e.g., MinIO, DigitalOcean Spaces).