Sample Mcp Server S3

Sample Mcp Server S3

🚀 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

  • 0 关注
  • 0 收藏,23 浏览
  • system 提出于 2025-09-19 07:39

相似服务问题

相关AI产品