
Sample S3 Model Context Protocol Server

2025.02.25
33
Python数据检索AWS S3 集成数据库
sample-mcp-server-s3 是一个基于 Model Context Protocol (MCP) 的服务实现,主要用于从 AWS S3 存储中检索数据(如 PDF 文件)。该服务通过暴露 AWS S3 数据作为资源,将信息加载到 LLM 上下文中。目前仅支持 PDF 文档,且限制为最多 1000 个对象。
View on GitHub
Overview
基本能力
产品定位
sample-mcp-server-s3 是一个用于从 AWS S3 存储中检索数据的 MCP 服务实现,特别适用于需要将 S3 数据加载到 LLM 上下文中的场景。
核心功能
- 资源暴露:
- 通过资源(类似于 GET 端点)暴露 AWS S3 数据,用于将信息加载到 LLM 的上下文中。
-
目前仅支持 PDF 文档,且限制为最多 1000 个对象。
-
工具能力:
- ListBuckets:返回请求认证者拥有的所有存储桶列表。
- ListObjectsV2:返回存储桶中的部分或全部(最多 1000 个)对象。
- GetObject:从 Amazon S3 检索对象,支持虚拟主机风格请求和路径风格请求。
适用场景
- 数据检索:从 AWS S3 存储中检索 PDF 文档以供 LLM 使用。
- 开发集成:与 Claude Desktop 等工具集成,提供 S3 数据访问能力。
- 调试与开发:使用 MCP Inspector 进行调试和开发。
使用教程
使用依赖
- AWS 凭证配置:
- 从 AWS 管理控制台获取 AWS 访问密钥 ID、秘密访问密钥和区域。
- 使用默认配置文件配置凭证文件,参考 AWS CLI 配置文档。
- 确保凭证具有适当的 S3 读写权限。
安装教程
-
同步依赖并更新锁文件:
bash uv sync
-
构建包分发:
bash uv build
-
这将在
dist/
目录中创建源和轮分发。 -
发布到 PyPI:
bash uv publish
- 需要通过环境变量或命令标志设置 PyPI 凭证。
调试方式
- 使用 MCP Inspector:
- 安装 Node.js 和 npm。
- 运行以下命令启动 MCP Inspector:
bash npx @modelcontextprotocol/inspector uv --directory /Users/user/generative_ai/model_context_protocol/s3-mcp-server run s3-mcp-server
- 启动后,检查器将显示一个可在浏览器中访问的 URL 以开始调试。
常见问题解答
- 支持的文档类型:目前仅支持 PDF 文档。
- 对象数量限制:最多支持 1000 个对象。
- 调试工具:推荐使用 MCP Inspector 进行调试。
- 权限问题:确保 AWS 凭证具有适当的 S3 读写权限。