article-review-mcp
article-review-mcp
Una aplicación MCP visual para revisar parches explícitos de artículos con comentarios categorizados.
El agente editor no entrega al servidor un manuscrito reescrito silenciosamente. En su lugar, envía:
unchanged base document
+ explicit patches against that base
+ one or more categorized rationale comments per patchEl servidor valida y aplica esos parches de forma determinista, abre una interfaz de revisión interactiva, registra las decisiones humanas y ensambla de forma segura el artículo final.
Por qué el enfoque basado en parches
Un diff de documento completo puede mostrar qué cambió, pero pierde la intención original del agente. En este proyecto, un parche es el objeto atómico de revisión:
Patch
├── exact target in the original document
├── replace / delete / insert_before / insert_after
├── proposed text
├── categorized comments explaining why
└── human decision: pending / accepted / rejected / editedCada comentario tiene exactamente un topicId principal. Un parche puede contener múltiples comentarios sobre diferentes temas.
Related MCP server: Lens
Capacidades actuales
Envío explícito de
PatchSetcontra un documento base inmutablereplace,delete,insert_beforeeinsert_afterVerificación SHA-256 de la base
Resolución de anclas exactas con
contextBeforeycontextAfteropcionalesRechazo de anclas ambiguas y parches superpuestos
Comentarios de justificación categorizados obligatorios para cada parche
Taxonomías de temas personalizadas por sesión de revisión
Pestañas de temas con recuentos de parches/comentarios por tema
Dos modos de revisión por tema:
mantener todos los parches visibles y atenuar los no relacionados
mostrar solo los parches que contienen el tema seleccionado
Vistas divididas, unificadas y Final completas
Resaltado de inserciones/eliminaciones a nivel de palabra para inglés y chino
Aceptar, rechazar, restablecer, editar manualmente y decidir en bloque los parches visibles
Añadir, responder, resolver y filtrar comentarios de revisores
Comentarios compactos filtrados por tema para el agente editor
Rondas de revisión inmutables con transferencia exacta de decisiones de parches
Persistencia JSON, concurrencia optimista e idempotencia
Aplicación MCP más visor de navegador localhost protegido por token
Vista previa segura, escritura en archivo nuevo, sobrescritura protegida y exportación HTML estática
Herramientas heredadas de
base + propuesta completaconservadas como alias de compatibilidad obsoletos
Requisitos
Node.js 20 o superior
No se requiere instalación de dependencias en tiempo de ejecución
Validar
npm run checkLa suite ejecuta comprobaciones de sintaxis y 13 pruebas, incluido un intercambio real de MCP stdio y llamadas al visor localhost.
Ejecutar como servidor MCP
node src/cli.mjs \
--stdio \
--workspace /absolute/path/to/your/writing-workspaceEjemplo de configuración de cliente:
{
"mcpServers": {
"article-review": {
"command": "node",
"args": [
"/absolute/path/to/article-review-mcp/src/cli.mjs",
"--stdio",
"--workspace",
"/absolute/path/to/your/writing-workspace"
]
}
}
}Llamada principal del agente
Llame a 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 是否能够提供可靠信号。"
}
]
}
]
}
}Reglas de parches
Todos los parches apuntan al mismo documento base sin cambios.
Cada parche debe incluir al menos un comentario categorizado.
Cada comentario tiene uno y solo un
topicIdprincipal.target.oldTextdebe resolverse a exactamente una ubicación.Use
contextBeforeycontextAftercuando el mismo texto aparezca repetidamente.Se rechazan los parches superpuestos y las inserciones múltiples en un límite compartido no seguro.
El servidor deriva la propuesta; el agente no envía un segundo manuscrito completo en el flujo de trabajo principal.
Errores de validación típicos:
BASE_HASH_MISMATCH
ANCHOR_NOT_FOUND
ANCHOR_AMBIGUOUS
PATCH_OVERLAP
MISSING_PATCH_COMMENT
UNKNOWN_COMMENT_TOPICRevisión centrada en temas
La interfaz muestra pestañas de temas como:
全部主题 12
架构与叙事 4
逻辑与论证 3
证据与引用 2
方法与统计 1
表达与清晰度 2Seleccionar un tema filtra los comentarios del lado derecho a ese tema. El panel del manuscrito puede:
conservar todos los parches y atenuar los no relacionados, o
ocultar por completo los parches no relacionados.
J y K navegan solo por los parches relevantes al tema activo.
Respaldo del visor local
Para clientes que no renderizan aplicaciones MCP:
node src/cli.mjs \
--viewer 4173 \
--workspace /absolute/path/to/your/writing-workspaceEl visor se vincula a 127.0.0.1 e imprime una URL protegida por token aleatorio.
Demostración sintética:
npm run demoHerramientas principales
Flujo de trabajo orientado al modelo:
article_review_submit_patchset
article_review_open
article_review_get_feedback
article_review_add_comments
article_review_update_patchset
article_review_finalizeOperaciones de revisión solo para la aplicación:
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_commentAlias de compatibilidad obsoletos:
article_review_create
article_review_get_summary
article_review_update_proposal
article_review_set_decision
article_review_edit_hunkInvariantes de seguridad
El documento base se reconstruye byte a byte a partir de segmentos sin procesar.
Aplicar cada parche reconstruye la propuesta derivada byte a byte.
CRLF, espacios en blanco, Markdown, chino, inglés y LaTeX básico no se normalizan.
El texto del manuscrito se renderiza como nodos de texto inertes, nunca mediante
innerHTML.Se rechazan rutas absolutas, el recorrido
..y el escape de enlaces simbólicos de directorios.Las mutaciones requieren
expectedVersioneidempotencyKey.La sobrescritura de la fuente requiere confirmación explícita, validación SHA-256 de la fuente y una copia de seguridad.
Documentación
Alcance diferido
Control de cambios DOCX
Edición de PDF
Aceptación parcial a nivel de palabra
Colaboración multiusuario en tiempo real
Sincronización con Google Docs
Maintenance
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
- Alicense-qualityBmaintenanceA 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.1GPL 3.0
- Alicense-qualityDmaintenanceMCP server for visual feedback, video direction, and QA assertions on web pages, enabling AI agents to read, reply, and resolve annotations in real time.4MIT
- Alicense-qualityCmaintenanceMCP server for searching and retrieving submissions, reviews, meta-reviews, rebuttals, and decisions from OpenReview venues like NeurIPS and ICLR, enabling peer review analysis.1MIT
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.
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
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