Token导航 LogoToken导航

MCP Server · 开发工具

Html To Image MCP

一个通过MCP协议提供高质量网页截图并自动上传至Cloudinary的服务,适用于网页存档、内容分享和自动化测试等场景。

stdio官方级别未说明来源级核验工具 1
开发工具PythonClaude云存储VS Code

快速开始

作者 / 组织
alperenkocyigit
提供方
alperenkocyigit

工具数量

1

来源目录标注

资源数量

0

来源目录标注

提示词数量

0

来源目录标注

GitHub Star

0

仓库热度

收录来源

1 个

MCP World

选型结论

Html To Image MCP 属于开发工具类 MCP Server,公开资料标注 1 个工具,通过stdio 本地进程接入,适配 Claude、VS Code,有可以直接复制的安装命令;接入前先确认权限范围。

分类

开发工具

传输方式

stdio

认证方式

无需认证

部署方式

公开资料未说明

安装与配置

安装命令

pip install -r requirements.txt

公开命令不是通用的启动方式,拼不出可靠配置示例;请在客户端 MCP 配置里按官方文档填写 command 和 args。

上手步骤

  1. 1

    准备运行环境

    stdio 服务在本地起进程,需要先装好 对应的运行时,再按安装命令拉取依赖。

  2. 2

    安装服务

    复制下面的安装命令执行;命令里带占位符的位置换成自己的密钥或路径。

  3. 3

    写入客户端配置

    在客户端的 MCP 配置里填启动命令和参数,保存后完全退出客户端再打开,让新配置生效。

  4. 4

    验证是否可用

    连接成功后客户端会列出 1 个工具,随便调一个只读工具确认能返回结果。

接入前确认

不要直接授予不必要的文件、网络或账号权限;先核对安装命令和配置内容。

详细介绍

HTML到图像MCP服务器

一个复杂的模型上下文协议(MCP)服务器,可以捕获网页的高质量屏幕截图,并自动将其上传到Cloudinary,以便于共享和存储。

🌟 特性

  • 📸 网页截图:捕获任何可公开访问的网页的全分辨率屏幕截图
  • ☁️ 云集成:使用安全URL自动上传到Cloudinary
  • 🎨 可定制尺寸:配置视口宽度和高度以实现完美捕捉
  • 📄 完整页面支持:捕获视口外整个页面高度的选项
  • 🚀 高性能:内置async/await以获得最佳速度
  • 🔒 安全:API凭据的基于环境的配置
  • 🐳 Docker就绪:容器化部署支持

🛠️ 安装

先决条件

安装前,请确保:

  • Python 3.8或更高版本
  • Cloudinary帐户(免费注册)
  • Docker(可选,用于容器化部署)

快速设置

  1. 克隆存储库:
git clone git@github.com:alperenkocyigit/html-to-image-mcp.git
cd html-to-image-mcp
  1. 安装依赖项:
pip install -r requirements.txt
  1. 下载Chromium浏览器:
python setup.py
  1. 配置环境变量:

创建一个 .env 项目根目录中的文件:

CLOUDINARY_CLOUD_NAME=your_cloud_name
CLOUDINARY_API_KEY=your_api_key
CLOUDINARY_API_SECRET=your_api_secret

Docker安装

  1. 构建Docker镜像:
docker build -t html-to-image-mcp .
  1. 使用环境变量运行:
docker run -e CLOUDINARY_CLOUD_NAME=your_cloud_name \
           -e CLOUDINARY_API_KEY=your_api_key \
           -e CLOUDINARY_API_SECRET=your_api_secret \
           html-to-image-mcp

🚀 用法

通过Smithery轻松安装

参观铁匠铺并遵循指示

https://smithery.ai/server/@alperenkocygit/html到图像mcp

启动MCP服务器

地方发展(STDIO模式)
MCP_TRANSPORT=stdio python server.py

服务器将在STDIO传输上运行,用于本地开发和测试。

用于HTTP部署(流式HTTP模式)
python server.py

服务器将在HTTP传输(可流式传输HTTP)上运行 http://0.0.0.0:8000,适用于容器部署和Smithery等托管环境。MCP端点位于 /mcp.

工具: take_screenshot

捕获网页的屏幕截图并将其上传到Cloudinary。

参数
参数类型必填默认说明
urlstring✅ 是-要截图的网页的URL。必须从以下内容开始 https:// 或 http://
width整数❌ 可选1280视口宽度(像素)
height整数❌ 可选720视口高度(像素)
fullPageboolean❌ 可选false捕获整页高度,而不是仅捕获视口高度
示例用法

基本截图:

{
  "name": "take_screenshot",
  "arguments": {
    "url": "https://example.com"
  }
}

自定义尺寸:

{
  "name": "take_screenshot",
  "arguments": {
    "url": "https://github.com",
    "width": 1920,
    "height": 1080
  }
}

完整页面捕获:

{
  "name": "take_screenshot",
  "arguments": {
    "url": "https://news.ycombinator.com",
    "width": 1280,
    "height": 720,
    "fullPage": true
  }
}
响应格式
{
  "status": 200,
  "message": "Screenshot captured and uploaded successfully",
  "url": "",
  "public_id": "screenshots/abc123",
  "dimensions": {
    "width": 1280,
    "height": 720,
    "fullPage": false
  }
}

⚙️ 配置

环境变量

变量描述必填
CLOUDINARY_CLOUD_NAME您的Cloudinary云名称✅
CLOUDINARY_API_KEY您的Cloudinary API密钥✅
CLOUDINARY_API_SECRET您的Cloudinary API秘密✅

Cloudinary设置

  1. 创建Cloudinary帐户 在 cloudinary.com
  2. 获取您的凭据 从仪表板:

- 云名称 - API密钥 - API秘密

  1. 添加凭据 给你的 .env 文件或环境变量

🏗️ 建筑

graph TB
    subgraph "MCP Client Environment"
        A[MCP Client
Claude/VS Code/etc] --> B[JSON-RPC Request
take_screenshot]
    end
    
    subgraph "HTML to Image MCP Server"
        B --> C{URL Validation}
        C -->|Valid URL| D[Pyppeteer
Browser Launch]
        C -->|Invalid URL| E[Error Response
Invalid URL format]
        
        D --> F[Headless Chromium
Browser Instance]
        F --> G[Page Navigation
viewport: width x height]
        G --> H[Screenshot Capture
PNG format]
        H --> I[Temporary File
Creation]
        I --> J[Cloudinary Upload
folder: screenshots]
    end
    
    subgraph "External Services"
        K[Target Website
https://example.com]
        L[Cloudinary CDN
Image Storage]
    end
    
    subgraph "Response Flow"
        J --> M[Upload Success]
        M --> N[JSON Response
secure_url, public_id]
        N --> O[MCP Client
Receives Image URL]
    end
    
    G --> K
    J --> L
    
    %% Error paths
    G -->|Navigation Timeout| P[Error Response
Navigation failed]
    J -->|Upload Failed| Q[Error Response
Cloudinary upload failed]
    
    %% Styling
    classDef client fill:#e1f5fe
    classDef server fill:#f3e5f5
    classDef external fill:#e8f5e8
    classDef error fill:#ffebee
    
    class A,O client
    class C,D,F,G,H,I,J,M,N server
    class K,L external
    class E,P,Q error

关键组件

  • MCP服务器:处理协议通信和请求路由
  • 皮影师:控制无头Chromium进行屏幕截图
  • Cloudinary SDK:管理图像上传和存储
  • 码头工人:提供一致的部署环境

🔧 发展

项目结构

html-to-image-mcp/
├── server.py          # Main MCP server implementation
├── app.py             # Utility functions for screenshot capture
├── setup.py           # Chromium download and setup
├── requirements.txt   # Python dependencies
├── Dockerfile         # Container configuration
├── smithery.yaml      # Smithery deployment config
└── README.md          # This documentation

运行测试

# Test Chromium installation
python setup.py

# Test screenshot functionality
python -c "
import asyncio
from app import url_to_cloudinary_url_async
print(asyncio.run(url_to_cloudinary_url_async('https://example.com')))
"

添加功能

  1. 分叉存储库
  2. 创建要素分支: git checkout -b feature-name
  3. 进行更改
  4. 彻底测试
  5. 提交拉取请求

🐳 Docker部署

建筑

docker build -t html-to-image-mcp .

跑步

docker run -d \
  --name html-to-image \
  -p 8000:8000 \
  -e CLOUDINARY_CLOUD_NAME=your_cloud_name \
  -e CLOUDINARY_API_KEY=your_api_key \
  -e CLOUDINARY_API_SECRET=your_api_secret \
  html-to-image-mcp

服务器将可在以下位置访问 http://localhost:8000 用于HTTP/SSE传输。

Docker Compose

version: '3.8'
services:
  html-to-image-mcp:
    build: .
    ports:
      - "8000:8000"
    environment:
      - CLOUDINARY_CLOUD_NAME=your_cloud_name
      - CLOUDINARY_API_KEY=your_api_key
      - CLOUDINARY_API_SECRET=your_api_secret
    restart: unless-stopped

🚨 故障排除

常见问题

“Chromium下载失败”

# Install required system dependencies (Ubuntu/Debian)
sudo apt-get update
sudo apt-get install -y \
  gconf-service libasound2 libatk1.0-0 libc6 libcairo2 libcups2 \
  libdbus-1-3 libexpat1 libfontconfig1 libgcc1 libgconf-2-4 \
  libgdk-pixbuf2.0-0 libglib2.0-0 libgtk-3-0 libnspr4 \
  libpango-1.0-0 libpangocairo-1.0-0 libstdc++6 libx11-6 \
  libx11-xcb1 libxcb1 libxcomposite1 libxcursor1 libxdamage1 \
  libxext6 libxfixes3 libxi6 libxrandr2 libxrender1 libxss1 \
  libxtst6 ca-certificates fonts-liberation libappindicator1 \
  libnss3 lsb-release xdg-utils wget

“URL格式无效”

  • 确保URL以开头 https:// 或 http://
  • 检查网站是否可公开访问
  • 验证URL中没有拼写错误

“云上传失败”

  • 验证您的Cloudinary凭据是否正确
  • 检查您的Cloudinary帐户限制
  • 确保您的API密钥具有上载权限

“导航超时”

  • 增加服务器配置中的超时时间
  • 检查目标网站是否响应
  • 验证您的互联网连接

性能提示

  • 使用较小的视口大小以实现更快的捕获
  • 启用 fullPage: false 为了获得更好的性能
  • 考虑缓存频繁访问的屏幕截图
  • 监控Cloudinary使用限制

📚 API 参考

URL验证

服务器验证URL以确保它们:

  • 从开始 https:// 或 http://
  • 具有有效的域结构
  • 根据RFC标准正确格式化

屏幕截图选项

  • 视口大小:控制浏览器窗口大小
  • 整页:捕获初始视口之外的内容
  • PNG格式:始终输出高质量的PNG图像
  • 网络空闲:等待网络请求完成

错误处理

服务器为以下对象提供详细的错误消息:

  • URL无效或缺失
  • 网络连接问题
  • Cloudinary上传失败
  • 浏览器自动化问题

📝 许可证

此项目根据MIT许可证获得许可-有关详细信息,请参阅许可证文件。

🤝 贡献

欢迎投稿!请随时提交拉取请求。对于重大更改,请先打开一个问题来讨论您想要更改的内容。

📞 支持

  • 问题:报告GitHub问题上的错误
  • 文档:查看此README以获取全面的指南
  • 社区:在GitHub讨论中加入讨论

______________________________________________________________________

Alperen Koçyiğit与❤️ 对于MCP社区

工具与能力

工具数量

1

资源数量

0

提示词数量

0

能力标签

网页截图Python本地部署自动化工具云存储MCP协议开发工具

支持客户端

ClaudeVS Code

数量来自来源目录的标注,具体工具清单以官方文档为准。

典型使用场景

让助手直接读代码

把仓库、提交记录和 issue 交给模型检索,补全和重构时不用来回复制文件。

在对话里跑命令

触发构建、测试和脚本,执行结果直接回到上下文,省去切终端。

接进开发流程

把 PR、CI 状态和代码审查接进助手,减少在几个工具之间跳。

选择建议

值得选的地方

  • 只提供 1 个工具,职责集中,接入后不容易误操作。
  • 有现成的安装命令,不用自己找入口,照着跑就能起服务。
  • 已经适配 Claude、VS Code,换客户端不用重新研究配置。

先想清楚的地方

  • stdio 方式要求本地装好 运行环境,换机器要重新装一遍。
  • 第三方目录整理,版本更新和行为细节以官方仓库为准。

更适合

  • 需要在开发工具场景里让模型直接调用外部能力的人。
  • 已经在用 Claude 的用户,接入路径最短。
  • 想先快速试一下、能接受在本地跑服务的人。

不太适合

  • 完全不想在本地装环境的人。
  • 需要厂商级 SLA 和技术支持的生产环境。

同类对比

5 个同类
MCP Server工具数传输方式安装命令收录来源最后核验
Html To Image MCP

MCP World · 本页

1stdio有1 个2026-05-17
Git 838e2ec1

MCP World

12stdio有2 个2026-05-17
Markitdown MCP 2c653a5f

MCP World

1stdio有1 个2026-05-17
Context7 MCP C671e75a

MCP World

0stdio有1 个2026-05-17
Context7 831acf40

MCP World

0stdio有1 个2026-05-17

按同分类和工具数量挑出最接近的几条,字段以各自详情页为准。

常见问题

5 条

Html To Image MCP 怎么安装?

公开资料给出的安装命令是 pip install -r requirements.txt,运行环境为 未标注。装完后按客户端要求写进 MCP 配置,重启客户端生效。

Html To Image MCP 怎么在 Claude Desktop、Cursor 里配置?

它是stdio 本地进程,客户端配置里要写启动命令和参数,运行环境是 未标注;保存后完全退出客户端再打开,配置才会生效。

Html To Image MCP 收费吗?

本站只整理公开资料,不代收费用,也没有标注具体价格。是否收费取决于服务本身和背后的接口额度,正式使用前按官方说明确认。

Html To Image MCP 需要 API Key 吗?

公开资料标注为无需认证,装好就能连;如果实际调用时报鉴权错误,按官方文档补上凭据。

Html To Image MCP 支持哪些客户端?

公开资料标注支持 Claude、VS Code;其他客户端只要能配置 MCP Server,也能用同样的命令或地址接入。

来源信息

继续浏览同类 MCP