CHM to Markdown Converter
@DTDucas
About CHM to Markdown Converter
chm to markdown and vectorDB
Config
Add this server to your MCP-compatible client using the configuration below.
{
"mcpServers": {
"chm-to-markdown": {
"command": "python",
"args": [
"chm_to_markdown.py"
]
}
}
}Tools
No tools detected
We auto-extract tools from the README. The maintainer can list them under a ## Tools heading to populate this section.
Overview
What is CHM to Markdown Converter?
A Python utility that converts Compiled HTML Help (.chm) files into clean Markdown. It uses a profile system—a generic profile works with any CHM file, and a revit profile is built for Autodesk Revit API documentation. Designed for developers and technical writers who need a reusable, offline conversion tool.
How to use CHM to Markdown Converter?
Install Python 3.10+ and 7-Zip (must be on PATH). Clone the repository, run pip install -r requirements.txt, place .chm files in the resources/ folder, then execute python chm_to_markdown.py. Use --single, --all, --profile, --preserve-structure, --keep-html, and concurrency tuning flags as needed.
Key features of CHM to Markdown Converter
- Profile-based conversion with
genericorrevitprofiles - Auto‑encoding detection via
chardet(UTF-8, GB18030, GBK, GB2312, etc.) - Cross‑platform 7‑Zip detection (Windows, Linux, macOS)
- Flexible CHM structure support (flat, nested, DirectX SDK style)
- Preserving code blocks with language detection (C#, VB, C++, F#, Python, etc.)
- Generating
file_index.json,id_lookup.json, andindex.mdfor AI integration
Use cases of CHM to Markdown Converter
- Converting Autodesk Revit API help files to searchable Markdown
- Extracting any CHM documentation into clean Markdown for version control
- Feeding converted files into a RAG or AI search pipeline
- Preserving folder hierarchy for deeply nested CHM structures (e.g., DirectX SDK)
- Batch converting multiple CHM files with consistent formatting
FAQ from CHM to Markdown Converter
How do I fix “7z not found”?
Install 7-Zip and ensure its executable is on your system PATH. For Windows, the installer adds it by default; on Linux, run sudo apt install p7zip-full; on macOS, use brew install p7zip.
Why is the output empty or no HTML files found?
The CHM may use a nested folder layout. Use the --preserve-structure flag to enable recursive traversal of internal directories.
How does the tool handle Chinese or non‑UTF‑8 text?
It automatically detects encoding using chardet, with fallbacks for GB18030, GBK, GB2312, and others. If issues persist, try the generic profile.
What are the system requirements?
Python 3.10 or higher, and 7-Zip available on the command line. No other runtime dependencies beyond the Python packages listed in requirements.txt.
Can I create a custom conversion profile?
Yes. Use the ConversionConfig dataclass from chm_converter.config to define classes, IDs, and cleanup patterns to remove, then pass it to process_chm_file in your own Python script.
Frequently asked questions
How do I fix “7z not found”?
Install 7-Zip and ensure its executable is on your system PATH. For Windows, the installer adds it by default; on Linux, run `sudo apt install p7zip-full`; on macOS, use `brew install p7zip`.
Why is the output empty or no HTML files found?
The CHM may use a nested folder layout. Use the `--preserve-structure` flag to enable recursive traversal of internal directories.
How does the tool handle Chinese or non‑UTF‑8 text?
It automatically detects encoding using `chardet`, with fallbacks for GB18030, GBK, GB2312, and others. If issues persist, try the `generic` profile.
What are the system requirements?
Python 3.10 or higher, and 7-Zip available on the command line. No other runtime dependencies beyond the Python packages listed in `requirements.txt`.
Can I create a custom conversion profile?
Yes. Use the `ConversionConfig` dataclass from `chm_converter.config` to define classes, IDs, and cleanup patterns to remove, then pass it to `process_chm_file` in your own Python script.
Basic information
More Other MCP servers
Blender
ahujasidOpen-source MCP to use Blender with any LLM
Nginx UI
0xJackyYet another WebUI for Nginx

Sequential Thinking
modelcontextprotocolModel Context Protocol Servers
Inbox Zero AI
elie222The world's best AI personal assistant for email. Open source app to help you reach inbox zero fast.

DeepMark
DeepMark helps teachers deliver rapid, consistent marking with meaningful feedback for every student — in a fraction of the time. What once took a week, now takes one free period.
Comments