🗂️ Simple S3 MCP Server

🗂️ Simple S3 MCP Server

site icon
2025.04.23 0
PythonAWS S3 接口文件管理LLM 代理工具开发效率数据库
mcp-s3-toolkit 是一个基于 Model Context Protocol (MCP) 的 AWS S3 接口服务,为 LLM 代理提供了一系列操作 S3 存储的工具。该服务允许用户通过简单的接口进行文件的上传、下载、删除、列表查看等操作,同时支持文件的元数据查询和权限检查。
View on GitHub

Overview

基本能力

产品定位

mcp-s3-toolkit 是一个 AWS S3 接口的 MCP 服务,旨在为 LLM 代理提供简单易用的 S3 存储操作工具。

核心功能

  • 文件列表查看list_fileslist_keys_with_metadata 工具可以列出 S3 存储桶中的所有文件及其元数据。
  • 文件内容获取get_file_content 工具可以获取 UTF-8 编码的 .txt 文件内容。
  • 文件上传:支持通过 upload_textupload_fileupload_report 工具上传文本、本地文件或多行报告。
  • 文件删除delete_file 工具可以从 S3 存储桶中删除文件。
  • 文件下载与预览download_and_preview 工具可以下载并预览 .txt.pdf 文件。
  • 权限检查check_authorization 工具可以检查 AWS 凭证的有效性。
  • 存储桶创建create_bucket 工具可以创建新的 S3 存储桶。

适用场景

  • 开发效率:快速操作 S3 存储,提升开发效率。
  • 数据库:管理存储在 S3 中的文件和数据。

使用教程

使用依赖

  1. 创建并激活虚拟环境: bash python3 -m venv venv source venv/bin/activate
  2. 安装依赖: bash pip install -r requirements.txt
  3. 创建 .env 文件并配置 AWS 凭证: bash AWS_ACCESS_KEY_ID=your_access_key AWS_SECRET_ACCESS_KEY=your_secret_key AWS_DEFAULT_REGION=us-east-1

安装教程

  1. 克隆项目并进入项目目录。
  2. 按照上述依赖步骤配置环境。
  3. 运行 MCP 服务: bash mcp dev s3_mcp_server.py

调试方式

  • 检查 .env 文件中的 AWS 凭证是否正确。
  • 确保虚拟环境已激活且依赖已安装。
  • 运行服务后,检查日志以确认服务是否正常启动。

常见问题解答

  1. SSE connection not established500 Internal Server Error
  2. 原因:工具因大文件或无效的 UTF-8 内容崩溃。
  3. 解决方案:仅对小的 .txt 文件使用 get_file_content

  4. MCP error -32001: Request timed out

  5. 原因:工具(如 get_file_content)耗时过长或文件过大。
  6. 解决方案:使用截断预览或限制内容为前几 KB。

  7. Invalid bucket nameThe specified key does not exist

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

  9. JSON 格式化问题

  10. 解决方案:在 upload_report 中,必须将 lines 作为有效的 JSON 数组输入。 json [ "Line 1", "Line 2" ]

许可证

该项目遵循 MIT 开源许可条款,请参阅 MIT 了解完整条款。