Skip to main content
Glama

article-review-mcp

Визуальное MCP-приложение для рецензирования явных патчей статьи с категоризированными комментариями.

Редактирующий агент не передаёт серверу молча переписанную рукопись. Он отправляет:

unchanged base document
+ explicit patches against that base
+ one or more categorized rationale comments per patch

Сервер детерминированно проверяет и применяет эти патчи, открывает интерактивный интерфейс рецензирования, фиксирует решения человека и безопасно собирает итоговую статью.

Почему патчи первичны

Полнодокументный diff может показать, что изменилось, но теряет исходное намерение агента. В этом проекте патч является атомарным объектом рецензирования:

Patch
├── exact target in the original document
├── replace / delete / insert_before / insert_after
├── proposed text
├── categorized comments explaining why
└── human decision: pending / accepted / rejected / edited

Каждый комментарий имеет ровно один основной topicId. Патч может содержать несколько комментариев по разным темам.

Related MCP server: Lens

Текущие возможности

  • Явная отправка PatchSet для неизменяемого базового документа

  • replace, delete, insert_before и insert_after

  • Проверка SHA-256 базового документа

  • Точное разрешение якорей с опциональными contextBefore и contextAfter

  • Отклонение неоднозначных якорей и перекрывающихся патчей

  • Обязательные категоризированные комментарии с обоснованием для каждого патча

  • Пользовательские таксономии тем для каждой сессии рецензирования

  • Вкладки тем со счётчиками патчей/комментариев по каждой теме

  • Два режима рецензирования по темам:

    • оставлять все патчи видимыми и затемнять несвязанные

    • показывать только патчи, содержащие выбранную тему

  • Раздельный, объединённый и полный итоговый виды

  • Подсветка вставок/удалений на уровне слов для английского и китайского языков

  • Принять, отклонить, сбросить, отредактировать вручную и массово вынести решение по видимым патчам

  • Добавлять, отвечать на, закрывать и фильтровать комментарии рецензентов

  • Компактная обратная связь, отфильтрованная по темам, для редактирующего агента

  • Неизменяемые раунды ревизий с переносом решений по точным патчам

  • JSON-персистентность, оптимистичная конкурентность и идемпотентность

  • MCP App плюс браузерный просмотрщик на localhost, защищённый токеном

  • Безопасный предпросмотр, запись в новый файл, защищённая перезапись и экспорт в статический HTML

  • Устаревшие инструменты base + full proposal сохранены как псевдонимы совместимости

Требования

  • Node.js 20 или новее

  • Установка зависимостей для запуска не требуется

Проверка

npm run check

Набор тестов запускает проверки синтаксиса и 13 тестов, включая реальный обмен данными MCP через stdio и вызовы просмотрщика на localhost.

Запуск в качестве MCP-сервера

node src/cli.mjs \
  --stdio \
  --workspace /absolute/path/to/your/writing-workspace

Пример конфигурации клиента:

{
  "mcpServers": {
    "article-review": {
      "command": "node",
      "args": [
        "/absolute/path/to/article-review-mcp/src/cli.mjs",
        "--stdio",
        "--workspace",
        "/absolute/path/to/your/writing-workspace"
      ]
    }
  }
}

Основной вызов агента

Вызовите article_review_submit_patchset:

{
  "title": "Introduction revision",
  "format": "markdown",
  "base": {
    "type": "workspace_file",
    "path": "manuscript.md"
  },
  "baseHash": "optional-sha256-of-the-base",
  "topics": [
    {
      "id": "architecture",
      "label": "架构与叙事",
      "description": "章节组织、研究主线和段落衔接"
    },
    {
      "id": "logic",
      "label": "逻辑与论证"
    },
    {
      "id": "clarity",
      "label": "表达与清晰度"
    }
  ],
  "patchSet": {
    "id": "revision-001",
    "summary": "补齐 Section 1 到 Section 2 的理论过渡",
    "patches": [
      {
        "id": "selection-pressure-bridge",
        "operation": "replace",
        "target": {
          "oldText": "The later experiments therefore held the candidate text fixed...",
          "contextBefore": "These results support Prediction 1...",
          "contextAfter": "LLM judge reliability varies..."
        },
        "newText": "Collectively, Section 1 establishes that...",
        "comments": [
          {
            "topicId": "architecture",
            "kind": "proposal_rationale",
            "title": "补齐 Section 1 → Section 2 的逻辑桥梁",
            "body": "原文从多智能体失败直接跳到 Judge reliability,缺少为什么需要 Judge 的理论过渡。",
            "severity": "major"
          },
          {
            "topicId": "logic",
            "kind": "proposal_rationale",
            "title": "明确研究问题递进关系",
            "body": "先证明系统存在选择失败,再验证 Judge 是否能够提供可靠信号。"
          }
        ]
      }
    ]
  }
}

Правила патчей

  • Все патчи нацелены на один и тот же неизменённый базовый документ.

  • Каждый патч должен включать как минимум один категоризированный комментарий.

  • Каждый комментарий имеет один и только один основной topicId.

  • target.oldText должен разрешаться ровно в одно место.

  • Используйте contextBefore и contextAfter, когда один и тот же текст встречается несколько раз.

  • Перекрывающиеся патчи и множественные вставки на небезопасной общей границе отклоняются.

  • Сервер формирует предложение; агент не отправляет второй полный вариант рукописи в основном рабочем процессе.

Типичные ошибки валидации:

BASE_HASH_MISMATCH
ANCHOR_NOT_FOUND
ANCHOR_AMBIGUOUS
PATCH_OVERLAP
MISSING_PATCH_COMMENT
UNKNOWN_COMMENT_TOPIC

Рецензирование по темам

Интерфейс показывает вкладки тем, например:

全部主题 12
架构与叙事 4
逻辑与论证 3
证据与引用 2
方法与统计 1
表达与清晰度 2

Выбор темы фильтрует комментарии на правой панели по этой теме. Панель рукописи может либо:

  • сохранять все патчи видимыми и затемнять несвязанные, либо

  • полностью скрывать несвязанные патчи.

J и K перемещают только по патчам, релевантным активной теме.

Запасной локальный просмотрщик

Для клиентов, которые не отображают MCP Apps:

node src/cli.mjs \
  --viewer 4173 \
  --workspace /absolute/path/to/your/writing-workspace

Просмотрщик привязывается к 127.0.0.1 и выводит случайный URL, защищённый токеном.

Синтетическое демо:

npm run demo

Основные инструменты

Рабочий процесс, обращённый к модели:

article_review_submit_patchset
article_review_open
article_review_get_feedback
article_review_add_comments
article_review_update_patchset
article_review_finalize

Операции рецензирования только для приложения:

article_review_get_page
article_review_get_document
article_review_set_patch_decision
article_review_bulk_decide
article_review_edit_patch
article_review_add_comment
article_review_reply_comment
article_review_resolve_comment

Устаревшие псевдонимы совместимости:

article_review_create
article_review_get_summary
article_review_update_proposal
article_review_set_decision
article_review_edit_hunk

Инварианты безопасности

  • Базовый документ восстанавливается байт в байт из необработанных сегментов.

  • Применение всех патчей восстанавливает итоговое предложение байт в байт.

  • CRLF, пробельные символы, Markdown, китайский, английский и базовый LaTeX не нормализуются.

  • Текст рукописи отображается как инертные текстовые узлы, никогда через innerHTML.

  • Абсолютные пути, обход через .. и выход через симлинки каталогов отклоняются.

  • Мутации требуют expectedVersion и idempotencyKey.

  • Перезапись исходного файла требует явного подтверждения, проверки SHA-256 исходного файла и резервной копии.

Документация

Отложенные возможности

  • Отслеживание изменений DOCX

  • Редактирование PDF

  • Частичное принятие на уровне слов

  • Совместная работа нескольких пользователей в реальном времени

  • Синхронизация с Google Docs

Install Server
A
license - permissive license
C
quality
B
maintenance

Maintenance

Maintainers
Response time
Release cycle
Releases (12mo)
Commit activity

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Servers

  • A
    license
    -
    quality
    B
    maintenance
    A stateful, AST-aware MCP server for structured code review workflows. It enables iterative review sessions with AST-based context localization and provides structured feedback with verdicts and patch suggestions for JavaScript/TypeScript code.
    1
    GPL 3.0
  • A
    license
    -
    quality
    C
    maintenance
    MCP server for searching and retrieving submissions, reviews, meta-reviews, rebuttals, and decisions from OpenReview venues like NeurIPS and ICLR, enabling peer review analysis.
    1
    MIT
  • F
    license
    -
    quality
    D
    maintenance
    MCP server for creating, validating, and reviewing implementation plans in GitHub Copilot Chat, with visual review interface and MongoDB persistence.

View all related MCP servers

Related MCP Connectors

  • Read-only MCP over an agentic SLR workspace with per-claim citation verification

  • Read-only MCP over an agentic SLR workspace with per-claim citation verification

  • Hosted MCP server for structured code review passes on human- and AI-written code. Free tier.

View all MCP Connectors

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/Biogod2020/article-review-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server