Cover image
Try Now
2025-03-15

MCP Markdowify Server avec support UTF-8 - version améliorée avec une meilleure manipulation multilingue

3 years

Works with Finder

1

Github Watches

2

Github Forks

6

Github Stars

Markdownify MCP Server - UTF-8 Enhanced

This is an enhanced version of the original Markdownify MCP project, with improved UTF-8 encoding support and optimized handling of multilingual content.

中文文档

Enhancements

  • Added comprehensive UTF-8 encoding support
  • Optimized handling of multilingual content
  • Fixed encoding issues on Windows systems
  • Improved error handling mechanisms

Key Differences from Original Project

  1. Enhanced Encoding Support:

    • Full UTF-8 support across all operations
    • Proper handling of Chinese, Japanese, Korean and other non-ASCII characters
    • Fixed Windows-specific encoding issues (cmd.exe and PowerShell compatibility)
  2. Improved Error Handling:

    • Detailed error messages in both English and Chinese
    • Better exception handling for network issues
    • Graceful fallback mechanisms for conversion failures
  3. Extended Functionality:

    • Added support for batch processing multiple files
    • Enhanced YouTube video transcript handling
    • Improved metadata extraction from various file formats
    • Better preservation of document formatting
  4. Performance Optimizations:

    • Optimized memory usage for large file conversions
    • Faster processing of multilingual content
    • Reduced dependency conflicts
  5. Better Development Experience:

    • Comprehensive debugging options
    • Detailed logging system
    • Environment-specific configuration support
    • Clear documentation in both English and Chinese

Features

Supports converting various file types to Markdown:

  • PDF files
  • Images (with metadata)
  • Audio (with transcription)
  • Word documents (DOCX)
  • Excel spreadsheets (XLSX)
  • PowerPoint presentations (PPTX)
  • Web content:
    • YouTube video transcripts
    • Search results
    • General web pages
  • Existing Markdown files

Quick Start

  1. Clone this repository:

    git clone https://github.com/JDJR2024/markdownify-mcp-utf8.git
    cd markdownify-mcp-utf8
    
  2. Install dependencies:

    pnpm install
    

    Note: This will also install uv and related Python dependencies.

  3. Build the project:

    pnpm run build
    
  4. Start the server:

    pnpm start
    

Requirements

  • Node.js 16.0 or higher
  • Python 3.8 or higher
  • pnpm package manager
  • Git

Detailed Installation Guide

1. Environment Setup

  1. Install Node.js:

  2. Install pnpm:

    npm install -g pnpm
    pnpm --version
    
  3. Install Python:

    • Download from Python official website
    • Ensure Python is added to PATH during installation
    • Verify installation: python --version
  4. (Windows Only) Configure UTF-8 Support:

    # Set system-wide UTF-8
    setx PYTHONIOENCODING UTF-8
    # Set current session UTF-8
    set PYTHONIOENCODING=UTF-8
    # Enable UTF-8 in command prompt
    chcp 65001
    

2. Project Setup

  1. Clone the repository:

    git clone https://github.com/JDJR2024/markdownify-mcp-utf8.git
    cd markdownify-mcp-utf8
    
  2. Create and activate Python virtual environment:

    # Windows
    python -m venv .venv
    .venv\Scripts\activate
    
    # Linux/macOS
    python3 -m venv .venv
    source .venv/bin/activate
    
  3. Install project dependencies:

    # Install Node.js dependencies
    pnpm install
    
    # Install Python dependencies (will be handled by setup.sh)
    ./setup.sh
    
  4. Build the project:

    pnpm run build
    

3. Verification

  1. Start the server:

    pnpm start
    
  2. Test the installation:

    # Convert a web page
    python convert_utf8.py "https://example.com"
    
    # Convert a local file
    python convert_utf8.py "path/to/your/file.docx"
    

Usage Guide

Basic Usage

  1. Converting Web Pages:

    python convert_utf8.py "https://example.com"
    

    The converted markdown will be saved as converted_result.md

  2. Converting Local Files:

    # Convert DOCX
    python convert_utf8.py "document.docx"
    
    # Convert PDF
    python convert_utf8.py "document.pdf"
    
    # Convert PowerPoint
    python convert_utf8.py "presentation.pptx"
    
    # Convert Excel
    python convert_utf8.py "spreadsheet.xlsx"
    
  3. Converting YouTube Videos:

    python convert_utf8.py "https://www.youtube.com/watch?v=VIDEO_ID"
    

Advanced Usage

  1. Environment Variables:

    # Set custom UV path
    export UV_PATH="/custom/path/to/uv"
    
    # Set custom output directory
    export MARKDOWN_OUTPUT_DIR="/custom/output/path"
    
  2. Batch Processing: Create a batch file (e.g., convert_batch.txt) with URLs or file paths:

    https://example1.com
    https://example2.com
    file1.docx
    file2.pdf
    

    Then run:

    while read -r line; do python convert_utf8.py "$line"; done < convert_batch.txt
    

Troubleshooting

  1. Common Issues:

    • If you see encoding errors, ensure UTF-8 is properly set
    • For permission issues on Windows, run as Administrator
    • For Python path issues, ensure virtual environment is activated
  2. Debugging:

    # Enable debug output
    export DEBUG=true
    python convert_utf8.py "your_file.docx"
    

Usage

Command Line

Convert web page to Markdown:

python convert_utf8.py "https://example.com"

Convert local file:

python convert_utf8.py "path/to/your/file.docx"

Desktop App Integration

To integrate this server with a desktop app, add the following to your app's server configuration:

{
  "mcpServers": {
    "markdownify": {
      "command": "node",
      "args": [
        "{ABSOLUTE_PATH}/dist/index.js"
      ],
      "env": {
        "UV_PATH": "/path/to/uv"
      }
    }
  }
}

Troubleshooting

  1. Encoding Issues

    • If you encounter character encoding issues, ensure the PYTHONIOENCODING environment variable is set to utf-8
    • Windows users may need to run chcp 65001 to enable UTF-8 support
  2. Permission Issues

    • Ensure you have sufficient file read/write permissions
    • On Windows, you may need to run as administrator

Acknowledgments

This project is based on the original work by Zach Caceres. Thanks to the original author for their outstanding contribution.

License

This project continues to be licensed under the MIT License. See the LICENSE file for details.

Contributing

Contributions are welcome! Before submitting a Pull Request, please:

  1. Ensure your code follows the project's coding standards
  2. Add necessary tests and documentation
  3. Update relevant sections in the README

Contact

For issues or suggestions:

  1. Submit an Issue: https://github.com/JDJR2024/markdownify-mcp-utf8/issues
  2. Create a Pull Request: https://github.com/JDJR2024/markdownify-mcp-utf8/pulls
  3. Email: jdidndosmmxmx@gmail.com

相关推荐

  • NiKole Maxwell
  • I craft unique cereal names, stories, and ridiculously cute Cereal Baby images.

  • Joshua Armstrong
  • Confidential guide on numerology and astrology, based of GG33 Public information

  • https://suefel.com
  • Latest advice and best practices for custom GPT development.

  • Emmet Halm
  • Converts Figma frames into front-end code for various mobile frameworks.

  • Khalid kalib
  • Write professional emails

  • Elijah Ng Shi Yi
  • Advanced software engineer GPT that excels through nailing the basics.

  • Beniyam Berhanu
  • Therapist adept at identifying core issues and offering practical advice with images.

  • apappascs
  • Découvrez la collection la plus complète et la plus à jour de serveurs MCP sur le marché. Ce référentiel sert de centre centralisé, offrant un vaste catalogue de serveurs MCP open-source et propriétaires, avec des fonctionnalités, des liens de documentation et des contributeurs.

  • ShrimpingIt
  • Manipulation basée sur Micropython I2C de l'exposition GPIO de la série MCP, dérivée d'Adafruit_MCP230XX

  • OffchainLabs
  • Aller la mise en œuvre de la preuve de la participation Ethereum

  • huahuayu
  • Une passerelle API unifiée pour intégrer plusieurs API d'explorateur de blockchain de type étherscan avec la prise en charge du protocole de contexte modèle (MCP) pour les assistants d'IA.

  • deemkeen
  • Contrôlez votre MBOT2 avec un combo d'alimentation: MQTT + MCP + LLM

    Reviews

    3 (1)
    Avatar
    user_4I28xNXq
    2025-04-15

    I've been using the MySQL MCP Server by kaulvimal for a while now, and I must say it has vastly improved my database management experience. The seamless integration and user-friendly interface make it a top choice for both beginners and seasoned developers. Check it out here: https://mcp.so/server/mysql-mcp/kaulvimal.