S3接口工具

通过Model Context Protocol (MCP)为LLM代理提供AWS S3接口的工具集,支持文件列表、上传、下载、删除等操作。

  • by Sidhartht1607
  • Python
  • 本地部署
  • 更新于
在 GitHub 查看 sidhartht1607/mcp-s3-toolkit

使用说明

🗂️ 简单S3 MCP服务器

此服务器通过模型上下文协议(MCP)将AWS S3接口作为LLM代理的工具公开。

✅ 可用工具

工具 说明
list_files 列出bucket中的所有对象键
list_keys_with_metadata 列出具有存储类和区域的键
get_file_content 返回UTF-8的内容 .txt 文件
upload_text 将文本字符串上传为文件
upload_file 按路径上传本地文件
upload_report 上传多行报告 .txt
delete_file 从S3中删除文件
download_and_preview 下载和打印 .txt 或 .pdf
check_authorization 检查AWS凭据是否有效
create_bucket 创建新的S3存储桶

⚠️ 常见问题及解决方法

1. ❌ SSE connection not established 或 500 Internal Server Error

  • 原因:由于文件较大或UTF-8内容无效,工具崩溃
  • 修复:使用 get_file_content 仅适用于小型 .txt 文件

2. ❌ MCP error -32001: Request timed out

  • 原因:工具(例如。 get_file_content)耗时太长或文件太大
  • 修复:使用截断的预览或将内容限制在前几KB

3. ❌ Invalid bucket name 或 The specified key does not exist

  • 修复:确保输入字段中没有尾随空格
  • 解决方案:所有工具自动应用 .strip() 输入

4.🧠 JSON格式问题 upload_report

  • 修复:必须输入 lines 作为有效的JSON数组:
    [
      "Line 1",
      "Line 2"
    ]
    
  1. 创建并激活虚拟环境
  • python3-m venv-venv
  • 源venv/bin/activate
  1. 安装依赖项
  • pip安装-r要求.txt
  1. 创建.env文件
  • AWS_ACCESS_KEY_ID=your_ACCESS_KEY
  • AWS_SECRET_ACCESS_KEY=您的密钥
  • AWS_DEFAULT_REGION=us-east-1

🧪 在开发模式下运行MCP服务器

  • mcp-dev s3_mcp_server.py