MCP Server for deploy html content to S3
Project description
MCP WebPage To S3
一个基于 Python FastMCP 框架的 MCP 服务器,专注于将网页内容快速部署到 S3 存储服务。
可以看作腾讯 edgeone-pages 的基于 S3 的替代品。
功能特性
- deploy_html_to_s3: 将 HTML 内容部署到 S3 存储并获取访问链接
- 支持所有 S3 兼容的云存储服务
安装要求
- Python 3.12+
- uv 包管理器(推荐)
快速开始
1. 克隆项目
git clone <repository-url>
cd mcp-webpage-to-s3
2. 安装依赖
# 使用 uv 安装依赖
uv sync
# 或使用 pip
pip install -e .
3. 配置服务器
# 复制并编辑配置文件
cp config.yaml.sample config.yaml
# 编辑 config.yaml,填入你的 S3 存储配置
4. 运行服务器
# 使用 Python 直接运行
python main.py
# 或使用安装的命令
mcp-webpage-to-s3
# 或使用 uvx 直接运行(推荐)
uvx mcp-webpage-to-s3
配置说明
项目支持两种配置方式:环境变量(优先)和配置文件。这分别适用于 stdio 和 容器化部署 两种模式。
方式 1:环境变量配置(stdio 模式下推荐)
# S3 存储配置
export MCP_S3_ACCESS_KEY="your_access_key_id"
export MCP_S3_SECRET_KEY="your_secret_access_key"
export MCP_S3_BUCKET="your-bucket-name"
export MCP_S3_ENDPOINT="https://s3.amazonaws.com"
export MCP_S3_BASE_URL="https://your-bucket.s3.ap-southeast-1.amazonaws.com"
export MCP_S3_REGION="ap-southeast-1"
# MCP 服务器配置
export MCP_TRANSPORT="stdio"
export MCP_PORT="8001"
export MCP_LOG_LEVEL="INFO"
# 运行服务器
uvx mcp-webpage-to-s3
方式 2:配置文件(容器化部署下推荐)
配置文件 config.yaml 使用 YAML 格式,包含以下配置项:
# MCP 服务器配置
mcp_server:
port: 8001 # 服务器端口
transport: stdio # 传输协议:stdio, http, sse, streamable-http
# S3 存储配置
s3:
access_key: your_access_key_id # S3 访问密钥 ID
secret_key: your_secret_access_key # S3 访问密钥
bucket: your-bucket-name # S3 存储桶名称
endpoint: https://s3.amazonaws.com # S3 服务端点
base_url: https://your-bucket.s3.ap-southeast-1.amazonaws.com # 文件访问基础 URL
region: ap-southeast-1 # 存储区域
# 日志级别
log_level: INFO
MCP 工具说明
deploy_html_to_s3
将 HTML 内容部署到 S3 存储并返回访问链接。
参数:
html_content(str): 要部署的 HTML 文件内容
返回示例:
{
"success": true,
"message": "HTML 文件部署成功",
"url": "https://bucket.s3.amazonaws.com/abc123def456.html"
}
错误返回示例:
{
"success": false,
"error": "S3 客户端未初始化,无法上传文件"
}
版本历史
- v0.2.0:
- ✨ 新增环境变量配置支持
- 🔧 配置优先级:环境变量 > 配置文件
- 📦 改进包构建和入口点配置
- 🐳 优化 Docker 和 CI/CD 使用体验
- v0.1.1: 发布到 pypi
- v0.1.0: 初始版本,支持基本的 HTML 部署功能3、阿里云 OSS、腾讯云 COS 等)
- 自动生成唯一文件名,避免文件冲突
- 优化的 HTML 文件缓存和内容类型设置
- 支持多种传输协议(stdio、http、sse、streamable-http)
许可证
MIT License - 详见 LICENSE 文件
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file mcp_webpage_to_s3-0.1.3.tar.gz.
File metadata
- Download URL: mcp_webpage_to_s3-0.1.3.tar.gz
- Upload date:
- Size: 38.2 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.7.9
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
48583d878f3e8b368134e6dfe92d65bf0d5eda9424de8a4c609d4a6f319223f2
|
|
| MD5 |
b333a79c5a0d526bff2247342f5111ff
|
|
| BLAKE2b-256 |
2dff6a3348c95fafc9f15fdcab7d8a41e57fcd991e1d3bfffee2f3962d2c6ae8
|
File details
Details for the file mcp_webpage_to_s3-0.1.3-py3-none-any.whl.
File metadata
- Download URL: mcp_webpage_to_s3-0.1.3-py3-none-any.whl
- Upload date:
- Size: 8.1 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.7.9
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
4a85c44cf63628c2cec5b60306b134dac4beab0d3aa0f2cf144a0361c4e94182
|
|
| MD5 |
68493c9eb096d7a4842bf83d56afb02c
|
|
| BLAKE2b-256 |
981d882f94a9df3098c4d11e5d771b662d7d79bd15d1d1ad5679922b61b263cb
|