Skip to main content
Glama
liangming99

slide-review-mcp

by liangming99
README.md
# Slide Review MCP

Local MCP server for collecting visual review feedback from a live local HTTP preview target.

It starts or connects to a local preview, serves a browser Review UI, stores Region Annotations in the reviewed project's `.review-mcp/` directory, and exposes the finalized Review Session back to agents through MCP tools.

## Install From GitHub

```sh
git clone https://github.com/liangming99/slide-review-mcp.git
cd slide-review-mcp
npm install
npm run build
```

Configure your MCP client to run the built stdio server:

```json
{
  "mcpServers": {
    "slide-review": {
      "command": "node",
      "args": ["/absolute/path/to/slide-review-mcp/dist/src/mcpServer.js"]
    }
  }
}
```

You can also run it directly from GitHub with `npx`:

```sh
npx -y github:liangming99/slide-review-mcp
```

## Tools

- `start_review_session`: start a Review Session for a local preview URL or preview command.
- `wait_for_review_submission`: wait until the user finalizes the Review Session.
- `stop_review_session`: stop a preview process started by this service.
- `list_review_sessions`: list stored Review Sessions for a project.
- `read_review_session`: read Review Session metadata and annotation summaries.
- `read_annotation_asset`: read a saved annotation asset by id.
- `export_review_session`: export a Review Session as a ZIP archive.
- `start_follow_up_review_session`: open another feedback round from a finalized session.

## Example

Start a local app first, or let the MCP tool start it:

```json
{
  "projectDir": "D:\\project\\my-slide-deck",
  "previewUrl": "http://127.0.0.1:5173/slides.html#slide-1",
  "sessionName": "Design review"
}
```

The tool returns a `reviewUrl`. Open that URL, select regions, add comments, optional replacement text, or image Reference Assets, then finalize. The agent should then call `wait_for_review_submission` or `read_review_session`.

## Scope

Supported in this MVP:

- Local HTTP/HTTPS Preview Targets on loopback hosts.
- Comment, Text Revision, and Visual Reference annotations.
- Image Reference Assets: PNG, JPEG, WebP, GIF, SVG.
- Project-local Session Store under `.review-mcp/sessions/`.
- Open and finalized Review Session states.
- Same-origin HTTP proxy and best-effort WebSocket proxy.
- ZIP export with JSON data, summary markdown, and annotation assets.

Not supported:

- Remote production websites.
- `file://` Preview Targets.
- Login-state reuse.
- Automatic source-code application.
- Multi-user collaboration or threaded comments.
- Non-image Reference Assets.

Current snapshot limitation: Annotation Snapshot assets are placeholder SVGs that preserve the normalized rectangle, frame size, and URL. They are not real page-pixel screenshots yet.

## Development

```sh
npm run check
npm run demo
```

`npm run check` builds TypeScript and runs the Vitest integration suite.