Sample S3 Model Context Protocol Server

Sample S3 Model Context Protocol Server

site icon
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 上下文中的场景。

核心功能

  1. 资源暴露
  2. 通过资源(类似于 GET 端点)暴露 AWS S3 数据,用于将信息加载到 LLM 的上下文中。
  3. 目前仅支持 PDF 文档,且限制为最多 1000 个对象。

  4. 工具能力

  5. ListBuckets:返回请求认证者拥有的所有存储桶列表。
  6. ListObjectsV2:返回存储桶中的部分或全部(最多 1000 个)对象。
  7. GetObject:从 Amazon S3 检索对象,支持虚拟主机风格请求和路径风格请求。

适用场景

  1. 数据检索:从 AWS S3 存储中检索 PDF 文档以供 LLM 使用。
  2. 开发集成:与 Claude Desktop 等工具集成,提供 S3 数据访问能力。
  3. 调试与开发:使用 MCP Inspector 进行调试和开发。

使用教程

使用依赖

  1. AWS 凭证配置
  2. 从 AWS 管理控制台获取 AWS 访问密钥 ID、秘密访问密钥和区域。
  3. 使用默认配置文件配置凭证文件,参考 AWS CLI 配置文档
  4. 确保凭证具有适当的 S3 读写权限。

安装教程

  1. 同步依赖并更新锁文件bash uv sync

  2. 构建包分发bash uv build

  3. 这将在 dist/ 目录中创建源和轮分发。

  4. 发布到 PyPIbash uv publish

  5. 需要通过环境变量或命令标志设置 PyPI 凭证。

调试方式

  1. 使用 MCP Inspector
  2. 安装 Node.js 和 npm。
  3. 运行以下命令启动 MCP Inspector: bash npx @modelcontextprotocol/inspector uv --directory /Users/user/generative_ai/model_context_protocol/s3-mcp-server run s3-mcp-server
  4. 启动后,检查器将显示一个可在浏览器中访问的 URL 以开始调试。

常见问题解答

  1. 支持的文档类型:目前仅支持 PDF 文档。
  2. 对象数量限制:最多支持 1000 个对象。
  3. 调试工具:推荐使用 MCP Inspector 进行调试。
  4. 权限问题:确保 AWS 凭证具有适当的 S3 读写权限。

许可证

该项目遵循 MIT-0 开源许可条款,请参阅 MIT-0 了解完整条款。