New tools for easier document navigation:
- get_document_outline: Structured view of headings with chapter detection
- check_style_consistency: Find formatting issues and missing chapters
- search_document: Search with context and chapter location
All tools tested with 200+ page manuscript. Detects issues like
Chapter 3 being styled as "normal" instead of "Heading 1".
- Create @resolve_field_defaults decorator to handle Pydantic FieldInfo
objects when tools are called directly (outside MCP framework)
- Create @handle_office_errors decorator for consistent error wrapping
- Apply decorators to Excel and Word mixins, removing ~100 lines of
boilerplate code
- Fix Excel formula extraction performance: load workbooks once before
loop instead of per-cell (100x faster with calculated values)
- Update test suite to use correct mock patch paths (patch where names
are looked up, not where defined)
- Add torture_test.py for real document validation
- Use app.run_stdio_async() instead of deprecated stdio_server import
- Aligns with FastMCP 2.11.3 API
- Server now starts correctly with uv run mcp-office-tools
- Maintains all MCPMixin functionality and tool registration