返回 MCP 目录
public公开dns本地运行

sample-mcp-server-s3

一个通过MCP协议从AWS S3获取PDF等数据的服务实现

article

README

🚀 S3 模型上下文协议服务器示例

这是一个用于从 S3 获取数据(如 PDF 文件)的 MCP 服务器实现,能够帮助用户方便地从 AWS S3 中获取所需数据并加载到 LLM 上下文中。

🚀 快速开始

本项目是一个用于从 S3 获取数据(如 PDF 文件)的 MCP 服务器实现,下面将为你介绍其主要功能、配置方式、开发流程等内容。

✨ 主要特性

资源

通过 资源 展现 AWS S3 数据(类似于 GET 端点,用于将信息加载到 LLM 的上下文中)。目前仅支持 PDF 文件,且最多显示 1000 个对象。

工具

  • ListBuckets:返回所有由经过身份验证的请求发送者拥有的桶的列表。
  • ListObjectsV2:返回某个桶中的一些或全部(每个请求最多返回 1000)对象。
  • GetObject:从 Amazon S3 检索一个对象。在 GetObject 请求中,需指定该对象的完整键名。支持通用存储桶,同时支持虚拟主机样式请求和路径样式请求。

📦 安装指南

设置 AWS 凭证

  1. 通过 AWS 管理控制台获取 AWS 访问密钥 ID、秘密访问密钥和区域,使用 默认 配置文件配置凭证文件,如 这里 所示。
  2. 确保这些凭证具有适当的权限以读取/写入 S3。

与 Claude Desktop 使用

Windows 和 MacOS

  • 在 MacOS 上:~/Library/Application\ 支持/Claude/claude_desktop_config.json
  • 在 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"
      ]
    }
  }
}

💻 使用示例

基础用法

以下是构建和发布项目的基础命令:

# 同步依赖项并更新锁定文件
uv sync
# 构建发行版本
uv build
# 发布到 PyPI
uv publish

高级用法

调试

由于 MCP 服务器通过标准输入输出运行,调试可能具有挑战性。为了获得最佳的调试体验,我们强烈推荐使用 MCP 检查器。 你可以通过 npm 执行以下命令启动 MCP 检查器:

npx @modelcontextprotocol/inspector uv --directory /Users/user/generative_ai/model_context_protocol/s3-mcp-server run s3-mcp-server

启动后,检查器会显示一个 URL,你可以在浏览器中访问该 URL 开始调试。

📚 详细文档

构建和发布

为了准备分发包,需要按以下步骤操作:

  1. 同步依赖项并更新锁定文件:
uv sync
  1. 构建发行版本:
uv build

这将在 dist/ 目录中创建源代码和轮发行。 3. 发布到 PyPI:

uv publish

注意:你需要通过环境变量或命令行参数设置 PyPI 凭证:

  • 令牌:--tokenUV_PUBLISH_TOKEN
  • 或者用户名/密码:--username / UV_PUBLISH_USERNAME--password / UV_PUBLISH_PASSWORD

🔧 技术细节

本项目主要实现了从 AWS S3 获取数据的功能,通过特定的工具和资源展示数据。在配置方面,需要设置 AWS 凭证以确保能够正常访问 S3 服务。在开发过程中,使用特定的命令进行构建、发布和调试,以保证项目的正常运行。

📄 许可证

MIT License

保留所有权利。请查看完整的许可信息。

🔒 安全说明

有关更多信息,请参阅 CONTRIBUTING

help

运行方式说明

cloud

托管运行

托管运行通常表示这个 MCP Server 由服务方环境承载,用户一般按页面提供的连接方式或授权流程接入,不需要在本地长期启动一个 MCP 进程

  1. 打开服务方连接页
  2. 完成授权或复制端点
  3. 在 MCP 客户端中连接
terminal

本地运行 / 其它方式

本地运行通常需要用户在自己的电脑或服务器上安装依赖,把 server_config 复制到 MCP 客户端,并按 env_schema 补齐环境变量、密钥或其它配置

  1. 复制 server_config
  2. 安装所需依赖
  3. 补齐环境变量后重启客户端