Skip to main content

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

Project description

shuck-convert

PyPI MCP Registry

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 (required for markdown_to_docx)

Install

pip install shuck-convert

Or from source:

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:

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

Or with uvx:

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

CLI

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

# Markdown to DOCX
shuck-convert md2docx paper.md

Development

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

License

MIT

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

shuck_convert-1.0.0.tar.gz (9.9 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

shuck_convert-1.0.0-py3-none-any.whl (12.1 kB view details)

Uploaded Python 3

File details

Details for the file shuck_convert-1.0.0.tar.gz.

File metadata

  • Download URL: shuck_convert-1.0.0.tar.gz
  • Upload date:
  • Size: 9.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.14.3

File hashes

Hashes for shuck_convert-1.0.0.tar.gz
Algorithm Hash digest
SHA256 f78b2e63be64fccd78b03ee44f964704eb60f16fd628e8d4c40dacda6be52e68
MD5 006e60ef606aa39dd6a16b6c2e23a715
BLAKE2b-256 89c320b14d38cfa41979ba0b31500f6b2b445a7744cd387cfcec2b9d103fc200

See more details on using hashes here.

File details

Details for the file shuck_convert-1.0.0-py3-none-any.whl.

File metadata

  • Download URL: shuck_convert-1.0.0-py3-none-any.whl
  • Upload date:
  • Size: 12.1 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.14.3

File hashes

Hashes for shuck_convert-1.0.0-py3-none-any.whl
Algorithm Hash digest
SHA256 e0b157527d23aa1493537f848be9e4466cfeb65d2e49d92cf6c183a2db1f4376
MD5 e3b39a2b3666a489e4a87923c0312994
BLAKE2b-256 f4967c96d8db223308598d628390807e50409f24ae89d49d3d6f9d2ca8fbf9bb

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page