MCP Server
9 requirements
·
23 scenarios
Persisted Intrinsic Node IDs
JR-mcp-server-001
The MCP server SHALL use persisted intrinsic paragraph/node identifiers (
The identifier strategy SHALL NOT use absolute sequential indexes as anchor identity.
jr_para_*) as canonical anchor identity.The identifier strategy SHALL NOT use absolute sequential indexes as anchor identity.
4 test scenarios
- Re-opening unchanged document yields same IDs JR-mcp-server-001.1
- Inserting new paragraph does not renumber unrelated IDs JR-mcp-server-001.2
- Two identical signature-block paragraphs remain uniquely addressable JR-mcp-server-001.3
- Missing intrinsic IDs are backfilled once JR-mcp-server-001.4
Session-Based Re-Download Without Re-Editing
JR-mcp-server-003
The MCP server SHALL allow users to re-download previously generated artifacts by
session_id without replaying edit operations.
2 test scenarios
- Repeat download reuses cached artifacts JR-mcp-server-003.1
- New edit invalidates previous revision cache JR-mcp-server-003.2
Tool Feature Parity
JR-mcp-server-011
The Safe-Docx MCP server SHALL match the formatting fidelity of the reference editing pipeline for core editing operations, not merely structural validity.
3 test scenarios
- read_file returns TOON schema with structure columns JR-mcp-server-011.1
- smart_edit preserves mixed-run formatting JR-mcp-server-011.2
- smart_insert preserves header/definition semantics JR-mcp-server-011.3
Semantic Tags and Role Model Rendering
JR-mcp-server-014
The server SHALL support semantic tags in inserted/replacement text and render them into concrete OOXML formatting using role models discovered in the document.
1 test scenario
- defined term bolding via <definition> role model JR-mcp-server-014.1
Explicit Definition Auto-Tagging
JR-mcp-server-015
The server SHALL automatically detect explicit definition patterns in inserted/replacement text and apply definition styling via role models without requiring the caller to include
<definition> tags.
2 test scenarios
- auto-tagged explicit definition gets role model styling JR-mcp-server-015.1
- header semantics accepted via tags for backward compatibility JR-mcp-server-015.2
Automatic Document Normalization
JR-mcp-server-019
The Safe-Docx MCP server SHALL automatically normalize documents on open by running merge_runs and simplify_redlines preprocessing, improving text matching accuracy and read_file context efficiency.
4 test scenarios
- document is normalized on open by default JR-mcp-server-019.1
- skip_normalization bypasses preprocessing JR-mcp-server-019.2
- normalization stats in session metadata JR-mcp-server-019.3
- jr_para_* IDs stable across normalization JR-mcp-server-019.4
Formatting-Preserving Replacement with Run Normalization
JR-mcp-server-024
The Safe-Docx MCP server SHALL support formatting-preserving text replacement via
smart_edit, with an optional normalize_first flag to merge fragmented runs before searching.
2 test scenarios
- replace_text performs formatting-preserving replacement JR-mcp-server-024.1
- replace_text can normalize fragmented runs before search JR-mcp-server-024.2
Document Validation and Auto-Repair (Internal Primitives)
JR-mcp-server-027
The Safe-Docx MCP server SHALL apply document validation as an internal primitive during download, and auto-repair as an internal primitive during normalize-on-open.
3 test scenarios
- validate packed or unpacked DOCX inputs JR-mcp-server-027.1
- redline validation runs when original baseline is provided JR-mcp-server-027.2
- auto-repair fixes known safe issues JR-mcp-server-027.3
Runtime Dependency Boundary for Safe-Docx
JR-mcp-server-030
Safe-Docx runtime distribution SHALL be self-contained and SHALL NOT require external language runtimes or commercial library dependencies for layout formatting.
> _Implementation note:_ The current implementation is Node/TypeScript-only. No Python or Aspose runtime is required.
> _Implementation note:_ The current implementation is Node/TypeScript-only. No Python or Aspose runtime is required.
2 test scenarios
- Runtime remains self-contained JR-mcp-server-030.1
- Build-time tooling may be external but optional JR-mcp-server-030.2