Skip to main content

AI-powered HTML website generator with auto-upload functionality via Model Context Protocol

Project description

HTML Generator MCP

一个基于 Model Context Protocol (MCP) 的智能网页生成服务,支持AI驱动的网站创建、实时进度追踪和自动部署功能。

✨ 主要特性

  • 🤖 AI驱动生成: 使用大语言模型智能分析需求,生成个性化网站
  • 📊 实时进度追踪: 支持任务状态监控和进度查询
  • 🚀 自动部署上传: 构建完成后自动打包上传到云端
  • 🎨 现代化设计: 响应式布局,支持移动端适配
  • 🔧 灵活配置: 支持多种模型和自定义配置

🚀 快速开始

安装

pip install agent-mcp

基本使用

  1. 创建网站计划
import asyncio
from MCP.web_agent_server import create_simple_site

async def main():
    result = await create_simple_site(
        description="创建一个现代化的咖啡店网站",
        site_title="星巴克咖啡",
        context_content="地址:北京市朝阳区,营业时间:7:00-22:00"
    )
    print(f"计划ID: {result['plan_id']}")

asyncio.run(main())
  1. 执行构建(含自动上传)
from MCP.web_agent_server import execute_plan

result = await execute_plan(
    plan_id="your_plan_id",
    project_root="/path/to/project",
    auto_upload=True,  # 🎯 构建完成后自动上传
    save_output=True
)
  1. 查询进度
from MCP.web_agent_server import get_progress

progress = await get_progress(job_id=result["job_id"])
print(f"状态: {progress['job']['status']}")

# 如果启用了自动上传
if progress['job'].get('upload_status') == 'success':
    if progress['job'].get('upload_url'):
        print(f"部署包下载: {progress['job']['upload_url']}")
    if progress['job'].get('web_url'):
        print(f"网站地址: {progress['job']['web_url']}")

🛠️ MCP 工具

  • create_simple_site() - 生成网站计划
  • execute_plan() - 执行网站构建
  • get_progress() - 查询构建进度
  • upload_project_to_mcp_server() - 打包上传至 OSS 并部署到 EdgeOne Pages
  • deploy_folder_or_zip() - 部署到EdgeOne Pages

🔧 环境配置

创建 .env 文件:

# AI模型配置
OPENAI_BASE_URL=https://dashscope.aliyuncs.com/compatible-mode/v1
OPENAI_API_KEY=your_api_key
WEB_AGENT_MODEL=qwen3-coder-plus-2025-09-23

# 项目路径(可选)
WEB_AGENT_PROJECT_ROOT=/path/to/projects

# EdgeOne Pages 部署(可选)
EDGEONE_PAGES_API_TOKEN=your_token
EDGEONE_PAGES_PROJECT_NAME=your_project
EDGEONE_AUTO_DEPLOY_ENV=Production  # 支持 Production / Preview
KEEP_OSS_UPLOAD=true               # 保留 OSS 压缩包上传(false 则跳过)

🎯 自动上传功能

构建完成时自动部署到 EdgeOne Pages,同时保留 OSS 压缩包链接:

# 启动带自动上传的构建
result = await execute_plan(
    plan_id="plan_id",
    project_root="./my-website",
    auto_upload=True  # 关键参数
)

# 监听进度变化
while True:
    progress = await get_progress(job_id=result["job_id"])

    status = progress['job']['status']
    if status == 'completed':
        upload_status = progress['job'].get('upload_status')
        if upload_status == 'success':
            if progress['job'].get('upload_url'):
                print(f"📦 部署包下载: {progress['job']['upload_url']}")
            if progress['job'].get('web_url'):
                print(f"🎉 网站已上线: {progress['job']['web_url']}")
            break
        elif upload_status == 'failed':
            print("❌ 上传失败")
            break

    await asyncio.sleep(2)

📋 进度状态

  • 构建阶段: runningcompleted
  • 上传阶段: uploadingsuccess/failed
  • 最终结果: upload_url (OSS 压缩包下载地址,可选)、web_url (EdgeOne 访问地址)

🤝 贡献

欢迎提交 Issue 和 Pull Request!

📄 许可证

MIT License

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

htmlgen_mcp-0.4.8.tar.gz (151.4 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

htmlgen_mcp-0.4.8-py3-none-any.whl (169.4 kB view details)

Uploaded Python 3

File details

Details for the file htmlgen_mcp-0.4.8.tar.gz.

File metadata

  • Download URL: htmlgen_mcp-0.4.8.tar.gz
  • Upload date:
  • Size: 151.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.5

File hashes

Hashes for htmlgen_mcp-0.4.8.tar.gz
Algorithm Hash digest
SHA256 2fe6228602ae4725694a04687d4b4a1e2bd56d0226957ae92afea34d96a634a2
MD5 82f58adfde4da25c38ba3e8a49be9053
BLAKE2b-256 30ecfdc1e9fee4362f38a23265cdec4a707b85c0db88191b0241beb0661fc2b8

See more details on using hashes here.

File details

Details for the file htmlgen_mcp-0.4.8-py3-none-any.whl.

File metadata

  • Download URL: htmlgen_mcp-0.4.8-py3-none-any.whl
  • Upload date:
  • Size: 169.4 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.5

File hashes

Hashes for htmlgen_mcp-0.4.8-py3-none-any.whl
Algorithm Hash digest
SHA256 84f2bf3bdfb4443e171e8bfb008dc8a77010deeec7c8424b621c54aa6f38bfdf
MD5 36e62bc443df83a04849a217ccb1b7ac
BLAKE2b-256 6c39791b5d80a58e1a42adb9f1ba8207d65d26ca4e907b3b1d2ca54d983d62a0

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page