
🗂️ Simple S3 MCP Server

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_files
和list_keys_with_metadata
工具可以列出 S3 存储桶中的所有文件及其元数据。 - 文件内容获取:
get_file_content
工具可以获取 UTF-8 编码的.txt
文件内容。 - 文件上传:支持通过
upload_text
、upload_file
和upload_report
工具上传文本、本地文件或多行报告。 - 文件删除:
delete_file
工具可以从 S3 存储桶中删除文件。 - 文件下载与预览:
download_and_preview
工具可以下载并预览.txt
或.pdf
文件。 - 权限检查:
check_authorization
工具可以检查 AWS 凭证的有效性。 - 存储桶创建:
create_bucket
工具可以创建新的 S3 存储桶。
适用场景
- 开发效率:快速操作 S3 存储,提升开发效率。
- 数据库:管理存储在 S3 中的文件和数据。
使用教程
使用依赖
- 创建并激活虚拟环境:
bash python3 -m venv venv source venv/bin/activate
- 安装依赖:
bash pip install -r requirements.txt
- 创建
.env
文件并配置 AWS 凭证:bash AWS_ACCESS_KEY_ID=your_access_key AWS_SECRET_ACCESS_KEY=your_secret_key AWS_DEFAULT_REGION=us-east-1
安装教程
- 克隆项目并进入项目目录。
- 按照上述依赖步骤配置环境。
- 运行 MCP 服务:
bash mcp dev s3_mcp_server.py
调试方式
- 检查
.env
文件中的 AWS 凭证是否正确。 - 确保虚拟环境已激活且依赖已安装。
- 运行服务后,检查日志以确认服务是否正常启动。
常见问题解答
SSE connection not established
或500 Internal Server Error
- 原因:工具因大文件或无效的 UTF-8 内容崩溃。
-
解决方案:仅对小的
.txt
文件使用get_file_content
。 -
MCP error -32001: Request timed out
- 原因:工具(如
get_file_content
)耗时过长或文件过大。 -
解决方案:使用截断预览或限制内容为前几 KB。
-
Invalid bucket name
或The specified key does not exist
-
解决方案:确保输入字段中没有尾随空格。所有工具会自动对输入应用
.strip()
。 -
JSON 格式化问题
- 解决方案:在
upload_report
中,必须将lines
作为有效的 JSON 数组输入。json [ "Line 1", "Line 2" ]