Metadata-Version: 2.4
Name: shuck-convert
Version: 1.0.0
Summary: Convert between document formats — DOCX/PDF to Markdown, Markdown to DOCX.
Project-URL: Homepage, https://github.com/Shan-Zhu/shuck-convert
Project-URL: Repository, https://github.com/Shan-Zhu/shuck-convert
Project-URL: Issues, https://github.com/Shan-Zhu/shuck-convert/issues
Author: Shan
License-Expression: MIT
License-File: LICENSE
Keywords: ai-agent,conversion,document,docx,markdown,mcp,pdf
Classifier: Development Status :: 4 - Beta
Classifier: Intended Audience :: Developers
Classifier: License :: OSI Approved :: MIT License
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Programming Language :: Python :: 3.13
Classifier: Topic :: Text Processing :: Markup :: Markdown
Requires-Python: >=3.10
Requires-Dist: fastmcp>=2.0
Requires-Dist: pdfplumber>=0.9.0
Requires-Dist: pymupdf>=1.24.0
Requires-Dist: python-docx>=0.8.11
Description-Content-Type: text/markdown

# shuck-convert

<!-- mcp-name: io.github.Shan-Zhu/shuck-convert -->

[![PyPI](https://img.shields.io/pypi/v/shuck-convert)](https://pypi.org/project/shuck-convert/)
[![MCP Registry](https://img.shields.io/badge/MCP-Registry-blue)](https://registry.modelcontextprotocol.io)

Convert between document formats — DOCX/PDF to Markdown, Markdown to DOCX.

An MCP server for AI agents, with CLI support.

## Tools

| Tool | Direction | Description |
|------|-----------|-------------|
| `doc_to_markdown` | DOCX/PDF → MD | Extract text, formatting, tables, images |
| `markdown_to_docx` | MD → DOCX | Academic styling: Times New Roman + SimSun, three-line tables |

## Prerequisites

- Python 3.10+
- [Pandoc](https://pandoc.org/installing.html) (required for `markdown_to_docx`)

## Install

```bash
pip install shuck-convert
```

Or from source:

```bash
git clone https://github.com/Shan-Zhu/shuck-convert.git
cd shuck-convert
pip install -e .
```

## Usage

### MCP Server (for AI agents)

Add to your MCP client config:

```json
{
  "mcpServers": {
    "shuck-convert": {
      "command": "shuck-convert",
      "args": [],
      "transportType": "stdio"
    }
  }
}
```

Or with uvx:

```json
{
  "mcpServers": {
    "shuck-convert": {
      "command": "uvx",
      "args": ["shuck-convert"],
      "transportType": "stdio"
    }
  }
}
```

### CLI

```bash
# DOCX/PDF to Markdown
shuck-convert doc2md report.docx
shuck-convert doc2md paper.pdf

# Markdown to DOCX
shuck-convert md2docx paper.md
```

### Development

```bash
pip install -e .
fastmcp dev src/shuck_convert/server.py
```

## License

MIT
