Skip to main content
Glama
README.md
# page-image-mcp

MCP server que lê um site página por página e gera uma imagem coesa com o tema
de cada página — **sem nenhum texto** e **sem rostos humanos reconhecíveis**.

## Setup

```bash
cd /Users/pastorello/Desktop/MCP
npm install
npm run build
```

A geração de imagem usa uma instância **local** do
[Draw Things](https://drawthings.ai) rodando o modelo Flux Schnell
quantizado. Não precisa de API key nem de internet para gerar — mas o app
Draw Things precisa estar aberto com o servidor de API habilitado em
`http://127.0.0.1:7860` antes de rodar qualquer tool deste MCP.

Os detectores locais de rosto/texto (`scripts/detect_face.py`,
`scripts/detect_text.py`) rodam via OpenCV num virtualenv próprio, não
versionado:

```bash
python3 -m venv venv-facedetect
venv-facedetect/bin/pip install opencv-python numpy
```

Eles também esperam dois arquivos de modelo em `models/` (não versionados
por serem binários grandes — o EAST detector tem ~92MB):

- `models/face_detection_yunet.onnx` — [OpenCV Zoo, face_detection_yunet](https://github.com/opencv/opencv_zoo/tree/main/models/face_detection_yunet)
- `models/frozen_east_text_detection.pb` — modelo EAST de detecção de texto

## Registrar no Claude Code

```bash
claude mcp add page-image-mcp -- node /Users/pastorello/Desktop/MCP/dist/index.js
```

## Tools

- **list_pages** `{ url, maxPages }` — descobre as páginas do site via
  `sitemap.xml` (com fallback para crawl same-origin por links).
- **generate_page_image** `{ url, outDir?, styleHint?, size? }` — lê uma página
  e gera 1 imagem coesa com o conteúdo dela.
- **generate_site_images** `{ url, maxPages?, outDir?, styleHint?, size? }` —
  roda o fluxo completo: descobre páginas + gera 1 imagem por página.

Imagens são salvas em `~/Desktop/MCP/output` por padrão.

## Como a restrição "sem texto / sem rosto" é aplicada

O prompt enviado ao modelo de geração de imagem (via Draw Things)
inclui instruções rígidas, sempre anexadas ao tema da página:

- proibição explícita de letras, números, palavras, logos, legendas, marcas d'água;
- proibição de rostos humanos reconhecíveis — pessoas só podem aparecer como
  silhuetas distantes ou de costas;
- proibição de UI/screenshots.

Ver `src/prompt.ts` para o texto exato.

TDQS

A4.2/5.0

Scored across 3 tools

Disambiguation5/5

Each tool has a clearly distinct purpose: generating images for a single page, generating images for multiple pages, and discovering page URLs. No overlap exists.

Naming Consistency5/5

All tool names follow a consistent verb_noun pattern (generate_page_image, generate_site_images, list_pages) using snake_case.

Tool Count5/5

Three tools is well-scoped for a focused image-generation server—neither too few nor too many.

Completeness5/5

The tool set covers the full workflow: discover pages, generate images for a single page, and generate images for an entire site. No obvious gaps for its purpose.

Maintenance

ActivityStale
ResponsivenessNo issues