S3模型上下文协议服务器示例
用于从S3检索PDF等数据的MCP服务器实现。
特性
资源
通过以下方式公开AWS S3数据 资源(将这些类似于GET端点;它们用于将信息加载到LLM的上下文中)。目前仅 PDF 支持的文件仅限于 1000 物体。
工具
- 列表Buckets
- 返回请求的经过身份验证的发送方拥有的所有bucket的列表
- 列表对象V2
- 每次请求时返回bucket中的部分或全部(最多1000个)对象
- 获取对象
- 从Amazon S3检索对象。在GetObject请求中,指定对象的完整键名。通用桶-支持虚拟托管样式请求和路径样式请求
配置
设置AWS凭据
- 从AWS管理控制台获取AWS访问密钥ID、秘密访问密钥和区域。
- 确保这些凭据具有AWS S3的适当权限。
使用Claude Desktop
克劳德桌面版
在MacOS上: ~/Library/Application\ Support/Claude/claude_desktop_config.json 在Windows上: %APPDATA%/Claude/claude_desktop_config.json
Development/Unpublished Servers Configuration
{
"mcpServers": {
"s3-mcp-server": {
"command": "uv",
"args": [
"--directory",
"/Users/user/generative_ai/model_context_protocol/s3-mcp-server",
"run",
"s3-mcp-server"
]
}
}
}Published Servers Configuration
{
"mcpServers": {
"s3-mcp-server": {
"command": "uvx",
"args": [
"s3-mcp-server"
]
}
}
}发展
建筑与出版
准备分发包裹:
- 同步依赖关系并更新锁文件:
uv sync- 构建包分发:
uv build这将在 dist/ 目录。
- 发布到PyPI:
uv publish注意:您需要通过环境变量或命令标志设置PyPI凭据:
- 令牌:
--token或UV_PUBLISH_TOKEN - 或用户名/密码:
--username/UV_PUBLISH_USERNAME和--password/UV_PUBLISH_PASSWORD
调试
由于MCP服务器在stdio上运行,调试可能具有挑战性。为了达到最佳调试效果 经验,我们强烈建议使用 MCP检查员.
您可以通过以下方式启动MCP检查器 使用此命令:
npx @modelcontextprotocol/inspector uv --directory /Users/user/generative_ai/model_context_protocol/s3-mcp-server run s3-mcp-server启动后,检查器将显示一个URL,您可以在浏览器中访问该URL以开始调试。
安全
看 贡献 了解更多信息。
许可证
此库根据MIT-0许可证获得许可。请参阅LICENSE文件。
