JUHE API Marketplace
haixyeh avatar
MCP Server

MCP Manual Generator

Automates the creation of application user manuals by capturing screenshots and generating documentation, supporting any web application through configurable workflows and MCP integration with AI assistants.

0
GitHub Stars
8/18/2025
Last Updated
No Configuration
Please check the documentation below.

README Documentation

🤖 MCP Manual Generator

一個基於 Model Context Protocol (MCP) 的自動化截圖和使用手冊生成工具。支援任何 Web 應用程式,透過配置檔定義截圖流程,自動生成包含截圖的操作手冊。

✨ 特色功能

  • 🖼️ 自動化截圖:使用 Playwright 自動瀏覽網站並擷取畫面
  • 🔐 智能登入:支援自動登入和身份驗證
  • 📝 手冊生成:根據截圖自動生成 Markdown 格式的操作手冊
  • 🎨 模板系統:支援自定義手冊模板
  • 🔧 高度可配置:透過 JSON 配置檔控制所有行為
  • 🤝 MCP 整合:可作為 MCP 服務器與 Claude 等 AI 助手整合
  • 🌍 環境變數:支援敏感資訊的環境變數配置

🚀 快速開始

安裝

# 全域安裝
npm install -g mcp-manual-generator

# 或作為專案依賴
npm install mcp-manual-generator

基本使用

  1. 初始化配置檔
mcp-manual init
  1. 編輯配置檔 (mcp-manual.config.json)
{
  "project": {
    "name": "我的應用程式",
    "baseUrl": "http://localhost:3000"
  },
  "screenshots": [
    {
      "name": "home",
      "url": "/",
      "description": "首頁"
    }
  ]
}
  1. 執行截圖和生成手冊
mcp-manual run

📖 詳細文檔

CLI 命令

mcp-manual init

初始化配置檔

mcp-manual init [options]

Options:
  -o, --output <path>  輸出路徑 (預設: ./mcp-manual.config.json)

mcp-manual capture

執行截圖

mcp-manual capture [options]

Options:
  -c, --config <path>   配置檔路徑 (預設: ./mcp-manual.config.json)
  -o, --output <dir>    截圖輸出目錄
  --headless           無頭模式執行
  --no-headless        顯示瀏覽器視窗

mcp-manual generate

生成操作手冊

mcp-manual generate [options]

Options:
  -s, --screenshots <dir>  截圖目錄 (預設: ./screenshots)
  -o, --output <path>      輸出檔案路徑 (預設: ./manual.md)
  -t, --template <name>    模板名稱或路徑 (預設: default)
  -m, --metadata <json>    額外的元數據 (JSON 字串)

mcp-manual run

執行完整流程(截圖 + 生成手冊)

mcp-manual run [options]

Options:
  -c, --config <path>  配置檔路徑
  --headless          無頭模式執行

mcp-manual serve

啟動 MCP 服務器

mcp-manual serve

配置檔說明

完整的配置檔範例:

{
  "project": {
    "name": "應用程式名稱",
    "version": "1.0.0",
    "baseUrl": "http://localhost:3000",
    "description": "應用程式描述"
  },
  
  "auth": {
    "enabled": true,
    "credentials": {
      "username": "${TEST_USERNAME}",
      "password": "${TEST_PASSWORD}"
    },
    "loginUrl": "/login",
    "loginSelectors": {
      "username": "input[name='username']",
      "password": "input[name='password']",
      "submit": "button[type='submit']"
    }
  },
  
  "routing": {
    "mode": "hash"  // "hash" 或 "history"
  },
  
  "browser": {
    "headless": false,
    "viewport": {
      "width": 1920,
      "height": 1080
    },
    "timeout": 30000
  },
  
  "screenshots": [
    {
      "name": "login",
      "url": "/",
      "description": "登入頁面",
      "waitFor": "input",
      "folder": "01_login",
      "requireAuth": false
    },
    {
      "name": "dashboard",
      "url": "/#/dashboard",
      "description": "儀表板",
      "waitFor": ".dashboard",
      "folder": "02_main",
      "requireAuth": true
    }
  ],
  
  "manual": {
    "template": "default",
    "output": "./USER_MANUAL.md",
    "metadata": {
      "author": "作者名稱"
    }
  },
  
  "outputDir": "./screenshots",
  "delayBetweenScreenshots": 2000,
  "failOnError": false
}

環境變數

支援在配置檔中使用環境變數:

# .env 檔案
TEST_USERNAME=myuser
TEST_PASSWORD=mypassword

配置檔中使用 ${VARIABLE_NAME} 格式引用。

🤝 MCP 整合

配置 MCP 服務器

在 Claude 或其他支援 MCP 的工具中配置:

{
  "mcpServers": {
    "manual-generator": {
      "command": "mcp-manual",
      "args": ["serve"],
      "cwd": "/path/to/your/project"
    }
  }
}

MCP 工具列表

  • capture_screenshots: 根據配置擷取截圖
  • generate_manual: 從截圖生成手冊
  • load_config: 載入並驗證配置檔
  • capture_single: 擷取單張截圖

🎨 自定義模板

建立自定義模板檔案:

# {{projectName}} 使用手冊

版本:{{version}}
作者:{{author}}
日期:{{timestamp}}

## 目錄
{{toc}}

## 內容
{{sections}}

使用自定義模板:

mcp-manual generate -t ./my-template.md

📁 專案結構

執行後的輸出結構:

your-project/
├── mcp-manual.config.json    # 配置檔
├── screenshots/              # 截圖目錄
│   ├── 01_login/
│   │   └── login.png
│   ├── 02_main/
│   │   └── dashboard.png
│   └── screenshot_report.json
└── USER_MANUAL.md           # 生成的手冊

🛠️ 進階使用

程式化使用

const { ScreenshotTool, ManualGenerator } = require('mcp-manual-generator');

async function generateManual() {
  // 截圖
  const screenshotTool = new ScreenshotTool({
    project: { baseUrl: 'http://localhost:3000' },
    screenshots: [
      { name: 'home', url: '/', description: '首頁' }
    ]
  });
  
  await screenshotTool.initialize();
  await screenshotTool.captureAll();
  await screenshotTool.cleanup();
  
  // 生成手冊
  const generator = new ManualGenerator({
    screenshotDir: './screenshots',
    outputPath: './manual.md'
  });
  
  await generator.generate();
}

整合到現有專案

  1. 安裝依賴:
npm install mcp-manual-generator --save-dev
  1. 加入 npm scripts:
{
  "scripts": {
    "manual:init": "mcp-manual init",
    "manual:capture": "mcp-manual capture",
    "manual:generate": "mcp-manual generate",
    "manual:run": "mcp-manual run"
  }
}
  1. 執行:
npm run manual:run

🐛 故障排除

常見問題

Q: 截圖都是登入頁面?
A: 檢查路由模式設定是否正確(hash vs history)

Q: 無法找到頁面元素?
A: 調整 waitFor 選擇器或增加 waitTime

Q: 環境變數無法讀取?
A: 確保 .env 檔案在正確位置,或使用系統環境變數

調試模式

啟用詳細日誌:

LOG_LEVEL=debug mcp-manual capture

顯示瀏覽器視窗:

mcp-manual capture --no-headless

📄 授權

MIT License - 詳見 LICENSE 檔案

🤝 貢獻

歡迎提交 Issue 和 Pull Request!

📞 支援


Made with ❤️ by Ryan Yeh

Quick Actions

Key Features

Model Context Protocol
Secure Communication
Real-time Updates
Open Source