by aws-samples
Retrieve PDF documents and other S3 objects through Model Context Protocol resources, enabling LLMs to pull data directly from AWS S3 buckets.
Provides an MCP server implementation that exposes AWS S3 data—currently PDF files—via Resources (GET‑like endpoints) and a set of helper Tools for bucket and object operations.
uv sync
(or pip if preferred).uv run s3-mcp-server
(or uvx s3-mcp-server
for a published install).claude_desktop_config.json
under mcpServers
as shown in the README.ListBuckets
– list all buckets owned by the authenticated AWS user.ListObjectsV2
– enumerate up to 1,000 objects in a bucket.GetObject
– retrieve any S3 object by full key name.Q: What file types are supported?
A: Currently only PDF documents are exposed as resources; other types can be retrieved via GetObject
but won’t be automatically loaded into LLM context.
Q: Is there a limit on the number of objects? A: Yes, resources are limited to 1,000 objects per request.
Q: How do I debug the server?
A: Use the MCP Inspector (npx @modelcontextprotocol/inspector …
) which provides a web UI for live debugging.
Q: Can I publish this server to PyPI?
A: Yes, follow the build steps (uv build
) and publish with uv publish
after setting the appropriate PyPI token.
An MCP server implementation for retrieving data such as PDF's from S3.
Expose AWS S3 Data through Resources. (think of these sort of like GET endpoints; they are used to load information into the LLM's context). Currently only PDF documents supported and limited to 1000 objects.
On MacOS: ~/Library/Application\ Support/Claude/claude_desktop_config.json
On Windows: %APPDATA%/Claude/claude_desktop_config.json
{
"mcpServers": {
"s3-mcp-server": {
"command": "uv",
"args": [
"--directory",
"/Users/user/generative_ai/model_context_protocol/s3-mcp-server",
"run",
"s3-mcp-server"
]
}
}
}
{
"mcpServers": {
"s3-mcp-server": {
"command": "uvx",
"args": [
"s3-mcp-server"
]
}
}
}
To prepare the package for distribution:
uv sync
uv build
This will create source and wheel distributions in the dist/
directory.
uv publish
Note: You'll need to set PyPI credentials via environment variables or command flags:
--token
or UV_PUBLISH_TOKEN
--username
/UV_PUBLISH_USERNAME
and --password
/UV_PUBLISH_PASSWORD
Since MCP servers run over stdio, debugging can be challenging. For the best debugging experience, we strongly recommend using the MCP Inspector.
You can launch the MCP Inspector via npm
with this command:
npx @modelcontextprotocol/inspector uv --directory /Users/user/generative_ai/model_context_protocol/s3-mcp-server run s3-mcp-server
Upon launching, the Inspector will display a URL that you can access in your browser to begin debugging.
See CONTRIBUTING for more information.
This library is licensed under the MIT-0 License. See the LICENSE file.
Please log in to share your review and rating for this MCP.
Explore related MCPs that share similar capabilities and solve comparable challenges
by awslabs
Provides specialized servers that expose AWS capabilities through the Model Context Protocol, enabling AI assistants to retrieve up-to-date documentation, execute API calls, and automate infrastructure workflows directly within development environments.
by cloudflare
Provides a collection of Model Context Protocol servers that enable MCP‑compatible clients to interact with Cloudflare services such as Workers, Observability, Radar, and more, allowing natural‑language driven management of configurations, data, and operations.
by Flux159
Connects to a Kubernetes cluster and offers a unified MCP interface for kubectl, Helm, port‑forwarding, diagnostics, and non‑destructive read‑only mode.
by TencentEdgeOne
Deploy HTML, folders, or zip archives to EdgeOne Pages and instantly obtain a public URL for fast edge delivery.
by rishikavikondala
Provides Model Context Protocol tools for performing AWS S3 and DynamoDB operations, with automatic logging and audit access via the `audit://aws-operations` endpoint.
by confluentinc
Enables AI assistants to manage Confluent Cloud resources such as Kafka topics, connectors, and Flink SQL statements through natural‑language interactions.
by aliyun
Enables AI assistants to operate Alibaba Cloud resources such as ECS, Cloud Monitor, OOS and other services through seamless integration with Alibaba Cloud APIs via the Model Context Protocol.
by kocierik
Connects to HashiCorp Nomad and exposes Model Context Protocol endpoints for job, deployment, node, allocation, variable, volume, ACL, Sentinel, and cluster management via a Go‑based server.
by qiniu
Provides MCP endpoints that enable AI models to list buckets, retrieve file lists, upload and download files, generate download links, perform image scaling and rounding, and refresh or prefetch CDN resources on Qiniu cloud.