Ryan Malloy 32b41f79d9 Initial mcwaddams documentation site
Astro + Starlight documentation site for mcwaddams MCP server.

Features:
- Diátaxis documentation structure (tutorials, how-to, reference, explanation)
- Office Space theming (Milton Waddams, TPS Reports, red Swingline)
- 29 documentation pages covering all 20 tools
- TPS Reports section for test results
- Flair gamification config (pieces of documentation flair)
- Custom CSS with Office Space color scheme

Structure:
- Getting Started: backstory, installation, quickstart
- Tutorials: first extraction, legacy formats, indexing, resources
- How-To: tables, Excel analysis, markdown, pagination, URLs
- Reference: all tools, universal/word/excel tools, MCP resources, formats
- Explanation: architecture, mixins, fallbacks, resource system
- TPS Reports: dashboard, coverage, torture tests
- Community: credits, feedback, leaderboard
2026-01-11 12:21:49 -07:00

36 lines
957 B
Plaintext

---
title: Why Mixins?
description: The architectural decision behind mcwaddams's modular structure.
---
import { Aside } from '@astrojs/starlight/components';
# Why Mixins?
> *"What would you say... you do here?"*
mcwaddams uses Python mixins to organize 20 tools into logical groups without creating multiple MCP servers.
## The Pattern
```python
class MCWaddamsServer(
UniversalMixin, # 7 cross-format tools
WordMixin, # 10 Word-specific tools
ExcelMixin, # 3 Excel-specific tools
):
pass
```
## Benefits
1. **Single server** — One MCP configuration, not three
2. **Shared utilities** — Validation, caching, format detection
3. **Clear boundaries** — Each mixin owns its tools
4. **Easy testing** — Test mixins in isolation
5. **Simple extension** — Add PowerPoint mixin without touching Word code
<Aside type="note">
See [Architecture](/explanation/architecture/) for the full design.
</Aside>