使用说明
🧠 木偶MCP服务器
一个轻量级的、Docker化的HTTP服务器,在无头模式下运行Puppeter,并公开一个与模型上下文协议(MCP)兼容的接口,用于
mcpo以及OpenWebUI环境。
🚀 特性
- 📸 屏幕截图端点 通过Puppeteer(无头铬)
- 🔌 HTTP API 与MCP协议兼容
- 🧾 OpenAPI模式 服务于
/schema.json - 🐳 在一个自给自足的环境中运行 Docker容器
- 🔁 已准备好与集成
mcpo在 OpenWebUI
🧱 堆栈
- Node.js 20(Alpine)
- 木偶23+
- Express.js
- Docker与Docker组合
📦 API终点
GET /schema.json
返回用于客户端发现的MCP兼容OpenAPI模式。
POST /screenshot
请求:
{
"url": "https://example.com"
}
答复:
200 OK–捕获的网页的PNG图像
🐳 Docker使用
构建并运行:
docker compose build --no-cache
docker compose up
该服务将在以下地点提供:
http://localhost:9555
测试截图端点:
curl -X POST http://localhost:9555/screenshot \
-H "Content-Type: application/json" \
-d '{"url": "https://example.com"}' --output screenshot.png
🔐 环境变量
| 变量 | 默认值 | 说明 |
|---|---|---|
PUPPETEER_EXECUTABLE_PATH |
/usr/bin/chromium-browser |
通往Chromium二进制的道路 |
🧪 健康检查
Docker容器包含一个健康检查,ping /schema.json 以验证服务器状态。
📁 项目结构
.
├── Dockerfile
├── docker-compose.yml
├── package.json
├── package-lock.json
├── server.js
├── schema.json
└── .gitignore
📈 未来发展
✅ = 事实
🟡 = 正在进行/计划中
- ✅ 轻量级和可重复的Dockerisation
- ✅ 主控程序
schema.json暴露 - ✅ 屏幕截图通过
POST /screenshot - 🟡 添加
/pdf将页面导出为PDF - 🟡 添加
/html返回完整的DOM - 🟡 支持
@modelcontextprotocol/sdk(如果可用) - 🟡 添加端点
GET /(状态/信息) - 🟡 添加批处理模式(多URL)
- 🟡 添加结构化JSON日志系统
- 🟡 Redis集成或队列(长任务)
- 🟡 Docker GHCR自动映像构建
- 🟡 添加单元测试+CI GitHub操作
📜 许可证
麻省理工学院——随心所欲🤝
由维护 @gamersalpa