WhatsUpDoc (downmarked)
A command-line tool for fetching and storing developer documentation locally using the Model Context Protocol (MCP).

Features
- Fetch documentation from any website and convert it to Markdown
- Save documentation to any location on your system
- Target specific content using CSS selectors
- Recursively fetch linked documentation pages
- Split documentation by headers into separate files
- Uses the Model Context Protocol (MCP) for standardized communication
Installation
# Install globally
npm install -g downmarked
# Or use with npx
npx downmarked fetch https://reactjs.org/docs/getting-started.html
Usage
Basic Usage
downmarked fetch <url>
This will prompt you for an output location and save the documentation as Markdown.
Options
# Fetch documentation with specific options
downmarked fetch https://reactjs.org/docs/getting-started.html \
-o ~/Documents/react-docs.md \
-s "main" \
-r \
-d 2 \
--split
Available Options
Option |
Description |
-o, --output <path> |
Output path (absolute or relative) |
-s, --selector <selector> |
CSS selector to target specific content |
-r, --recursive |
Recursively fetch linked documentation pages |
-d, --max-depth <number> |
Maximum depth for recursive fetching (default: 3) |
--split |
Split documentation by headers into separate files |
Examples
Fetch React Documentation
# Save React documentation to a specific location
downmarked fetch https://reactjs.org/docs/getting-started.html -o ~/Documents/react-docs.md
# Target only the main content area
downmarked fetch https://reactjs.org/docs/getting-started.html -s "main"
# Recursively fetch linked pages up to 2 levels deep
downmarked fetch https://reactjs.org/docs/getting-started.html -r -d 2
Fetch Python Documentation
# Save Python documentation
downmarked fetch https://docs.python.org/3/tutorial/index.html -o python-tutorial.md
How It Works
WhatsUpDoc (downmarked) uses the Model Context Protocol (MCP) to standardize communication between the CLI and the documentation server. The tool:
- Fetches HTML content from the specified URL
- Parses the HTML using Cheerio
- Converts the HTML to Markdown using Turndown
- Saves the Markdown to the specified location
Contributing
Contributions are welcome! Please feel free to submit a Pull Request.
- Fork the repository
- Create your feature branch (
git checkout -b feature/amazing-feature
)
- Commit your changes (
git commit -m 'Add some amazing feature'
)
- Push to the branch (
git push origin feature/amazing-feature
)
- Open a Pull Request
License
This project is licensed under the MIT License - see the LICENSE file for details.
Acknowledgments