R

ReviewMCP

@dsgarage/ReviewMCP
0 Stars 14 次浏览 dsgarage 更新于 2026-08-23
该服务暂未提供标准配置,请参考 README 手动接入

服务介绍

review-mcp-min

Minimal MCP (Model Context Protocol) server for Re:VIEW document processing with JS/Ruby hybrid pipeline.

Version

v0.1.0 - Initial release with hybrid pipeline support

Features

Core Functionality

  • Tag Enforcement: Validates Re:VIEW markup tags against configurable allowlists
  • ID Management: Automatically fixes empty/duplicate IDs in blocks and captions
  • Fast Linting: Quick sanity checks via LaTeX compilation
  • Hybrid Pipeline: JS preprocessing + Ruby (LaTeX Builder) for PDF generation

Security (SSOT - Single Source of Truth)

  • Dynamic security configuration loading from ReviewExtention
  • Two-layer defense: MCP pre-sanitization + Ruby final validation
  • Path traversal and absolute path blocking for mapfile macros
  • File size and extension validation

MCP Commands

Basic Commands

  • review.version - Get Re:VIEW CLI version
  • review.tags.list - List allowed tags
  • review.enforceTags.check - Check for unknown tags
  • review.fixIds.plan - Plan ID fixes for empty/duplicate IDs
  • review.fixIds.apply - Apply ID fixes with backup
  • review.lint - Run fast lint checks

Hybrid Pipeline Commands

  • review.preprocess - JS preprocessing (currently passthrough)
  • review.build-pdf-hybrid - Build PDF with hybrid pipeline
  • review.check-ruby-extensions - Verify Ruby extensions
  • review.test-mapfile - Test mapfile with security validation

Security Commands

  • review.security.config - Get current security configuration
  • review.security.validate-mapfile - Validate mapfile paths
  • review.security.compare - Compare configs for SSOT compliance

Installation

# Clone the repository
git clone https://github.com/dsgarage/ReviewMCP.git
cd review-mcp-min

# Install dependencies
npm install

# Build TypeScript
npm run build

# Start MCP server
npm start

Usage

Project Root (cwd) Specification

All MCP tools require a cwd parameter pointing to your Re:VIEW project root:

mybook/               This is cwd
 config.yml        Required
 catalog.yml       Required
 ch01.re
 ch02.re
 images/
 ...

The cwd must be the directory containing config.yml and catalog.yml.

With Claude Desktop

Add to ~/Library/Application Support/Claude/claude_desktop_config.json:

{
  "mcpServers": {
    "review-mcp": {
      "command": "node",
      "args": [
        "/path/to/review-mcp-min/node_modules/.bin/tsx",
        "/path/to/review-mcp-min/src/index.ts"
      ]
    }
  }
}

With ClaudeCode

cd ~/books/mybook
claude mcp add review-mcp -s project -- \
  node ./tools/review-mcp/node_modules/.bin/tsx ./src/index.ts

Project Structure

review-mcp-min/
 src/
    index.ts                 # MCP server main
    commands/
       hybrid-pipeline.ts   # Hybrid pipeline commands
    config/
       security.ts          # SSOT security configuration
    utils/
        runCommand.ts        # Command execution utilities
 articles/                    # Re:VIEW test documents
    chapter01.re
    chapter02.re
 config.yml                   # Re:VIEW configuration
 catalog.yml                  # Re:VIEW catalog
 test-build.js               # Test script for hybrid pipeline

Development

# Run in development mode
npm run dev

# Type checking
npm run typecheck

# Build
npm run build

# Test PDF generation
node test-build.js

Testing

The repository includes test Re:VIEW documents demonstrating various features:

  • Inline tags (strong, em, code, tt, kw)
  • Block tags (list, emlist, note, memo, cmd, quote)
  • Tables, source code blocks, footnotes
  • Security and SSOT configuration examples

Run the test build:

review-pdfmaker config.yml

CI/CD

GitHub Actions workflow included (.github/workflows/mcp-hybrid.yml) for:

  • Multi-version testing (Node.js 18/20, Ruby 3.x)
  • Security configuration validation
  • PDF generation testing
  • SSOT compliance checking

Requirements

  • Node.js 18+
  • Ruby + Bundler
  • Re:VIEW gem (5.x recommended)
  • TeX Live (for PDF generation with uplatex)
  1. On save: review.enforceTags.check - Block unknown tags
  2. Auto-fix: review.fixIds.plan review.fixIds.apply - Fix IDs
  3. Lint: review.lint - Show warnings

Configuration

Optional review-mcp.json:

{
  "profile": "dual",
  "target": "latex",
  "blockOnUnknownTags": true,
  "autoFixIdsOnSave": true
}

License

MIT

Contributing

Issues and PRs welcome at GitHub repository

  • #5 - Ruby implementation integration
  • #6 - Hybrid pipeline commands
  • #7 - SSOT security configuration

Author

@dsgarage

Changelog

v0.1.0 (2025-01-08)

  • Initial release
  • Hybrid JS/Ruby pipeline implementation
  • SSOT security configuration
  • Basic Re:VIEW tag validation and ID management
  • Test documents and PDF generation support

相关 MCP 服务