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
103 lines
2.9 KiB
Plaintext
103 lines
2.9 KiB
Plaintext
---
|
|
title: mcwaddams
|
|
description: MCP server for Microsoft Office document processing. Named for Milton Waddams, who was relocated to the basement with boxes of legacy documents.
|
|
template: splash
|
|
hero:
|
|
tagline: "I was told there would be document extraction."
|
|
image:
|
|
file: ../../assets/stapler.svg
|
|
actions:
|
|
- text: Get Started
|
|
link: /installation/
|
|
icon: right-arrow
|
|
variant: primary
|
|
- text: View on GitHub
|
|
link: https://github.com/ryanmalloy/mcwaddams
|
|
icon: external
|
|
variant: minimal
|
|
---
|
|
|
|
import { Card, CardGrid, LinkCard } from '@astrojs/starlight/components';
|
|
|
|
## The Situation
|
|
|
|
You have Office documents. Lots of them. Some are modern `.docx` files. Others are `.doc` files from 1997 that predate Unicode. Your AI agent needs to read them, but native PDF-to-text tools just stare blankly.
|
|
|
|
**mcwaddams** handles what nobody else wants to touch.
|
|
|
|
<CardGrid stagger>
|
|
<Card title="20 Tools" icon="document">
|
|
Extract text, tables, images, metadata. Analyze structure. Convert to Markdown. Index for on-demand fetching.
|
|
</Card>
|
|
<Card title="Legacy Support" icon="puzzle">
|
|
`.doc`, `.xls`, `.ppt` — the formats everyone forgot about until they need them. We didn't forget.
|
|
</Card>
|
|
<Card title="Smart Fallbacks" icon="setting">
|
|
When python-docx chokes, mammoth steps in. When openpyxl fails, pandas takes over. No silent failures.
|
|
</Card>
|
|
<Card title="MCP Resources" icon="open-book">
|
|
Index once, fetch chapters/sheets/slides on demand. Keep your context window manageable.
|
|
</Card>
|
|
</CardGrid>
|
|
|
|
---
|
|
|
|
## Quick Install
|
|
|
|
```bash
|
|
# With uvx (recommended)
|
|
uvx mcwaddams
|
|
|
|
# Add to Claude Code
|
|
claude mcp add mcwaddams "uvx mcwaddams"
|
|
```
|
|
|
|
---
|
|
|
|
## Documentation Structure
|
|
|
|
This documentation follows the [Diátaxis framework](https://diataxis.fr/):
|
|
|
|
<CardGrid>
|
|
<LinkCard
|
|
title="Tutorials"
|
|
description="Learn by doing. Step-by-step guides for common workflows."
|
|
href="/tutorials/first-extraction/"
|
|
/>
|
|
<LinkCard
|
|
title="How-To Guides"
|
|
description="Solve specific problems. Task-oriented recipes."
|
|
href="/how-to/extract-tables/"
|
|
/>
|
|
<LinkCard
|
|
title="Reference"
|
|
description="Look up tool parameters and return values."
|
|
href="/reference/tools/"
|
|
/>
|
|
<LinkCard
|
|
title="Explanation"
|
|
description="Understand the architecture and design decisions."
|
|
href="/explanation/architecture/"
|
|
/>
|
|
</CardGrid>
|
|
|
|
---
|
|
|
|
## TPS Reports
|
|
|
|
> *"Did you get the memo about the TPS reports?"*
|
|
|
|
We take testing seriously. Check out our [Test Dashboard](/tps/dashboard/) for live results, or browse the [Torture Tests](/tps/torture/) where we threw 301 random Office documents at mcwaddams.
|
|
|
|
**Result:** 99.3% success rate. The 2 failures were empty/corrupt files.
|
|
|
|
---
|
|
|
|
<div style="text-align: center; margin-top: 3rem; opacity: 0.6;">
|
|
<small>
|
|
Named for Milton Waddams, who was relocated to the basement with the legacy documents.
|
|
<br/>
|
|
<em>"I could set the building on fire..."</em>
|
|
</small>
|
|
</div>
|