关于 Sample S3 Model Context Protocol Server
Sample S3 Model Context Protocol Server 是一个 MCP 服务示例,用于从 Amazon S3 读取数据,目前主要支持 PDF 文档。它适合希望把 S3 对象接入 LLM 上下文的开发者参考。
主要功能
- 01以资源形式暴露 S3 中的 PDF 文档
- 02列出存储桶及存储桶中的对象
- 03按完整键名获取对象内容
- 04资源数量限制为 1000 个对象
适用场景
- 01让 Claude Desktop 读取 S3 中存放的 PDF 文档
- 02基于 S3 中的文档进行问答或摘要
- 03学习如何构建访问 AWS S3 的 MCP 服务
MCP 相关
该项目是一个 MCP 服务,向 MCP 客户端暴露 S3 数据的资源,并提供 ListBuckets、ListObjectsV2 和 GetObject 等工具。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
我们还没有获取到这个服务的安装包或远程地址,请按项目 README 中的说明安装。
工具
本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。
详细介绍
示例 S3 Model Context Protocol 服务
用于从 S3 检索数据(例如 PDF)的 MCP 服务实现。
功能
资源
通过 资源 提供 AWS S3 数据。(可以将它们视为 GET 端点;它们用于将信息加载到大模型的上下文中。)目前仅支持 PDF 文档,且最多支持 1000 个对象。
工具
- ListBuckets
- 返回经过身份验证的请求发送方拥有的所有存储桶列表
- ListObjectsV2
- 每次请求返回存储桶中的部分或全部对象(最多 1,000 个)
- GetObject
- 从 Amazon S3 检索对象。在 GetObject 请求中,指定对象的完整键名。对于通用存储桶,支持虚拟托管式请求和路径式请求
配置
设置 AWS 凭证
- 从 AWS Management Console 获取 AWS 访问密钥 ID、秘密访问密钥和区域。
- 确保这些凭证具有适当的 AWS S3 权限。
在 Claude Desktop 中使用
Claude Desktop
在 MacOS 上:~/Library/Application\ Support/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
这将在 dist/ 目录中创建源代码分发包和 wheel 分发包。
- 发布到 PyPI:
uv publish
注意:你需要通过环境变量或命令标志设置 PyPI 凭证:
- 令牌:
--token或UV_PUBLISH_TOKEN - 或用户名/密码:
--username/UV_PUBLISH_USERNAME和--password/UV_PUBLISH_PASSWORD
调试
由于 MCP 服务通过标准输入输出运行,调试可能颇具挑战。为了获得最佳调试体验,我们强烈建议使用 MCP Inspector。
你可以通过 npm 使用以下命令启动 MCP Inspector:
npx @modelcontextprotocol/inspector uv --directory /Users/user/generative_ai/model_context_protocol/s3-mcp-server run s3-mcp-server
启动后,Inspector 会显示一个 URL,你可以在浏览器中访问该 URL 开始调试。
安全
更多信息请参阅 CONTRIBUTING。
许可证
此库采用 MIT-0 许可证。请参阅 LICENSE 文件。
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。