Skip to main content
Glama
Document Organizer MCP Server

Document Organizer MCP Server

File Converter MCP

CI/CD Pipeline npm version License: MIT

A Model Context Protocol (MCP) server that aggregates various file conversion tools for quick formatting and file type transformations.

Features

Supported Conversions

  • PDF to Markdown - Convert PDF documents to markdown format

  • Image Format Conversion - Transform between common image formats (PNG, JPG, WebP, etc.)

  • Document Conversion - Convert between document formats (DOCX, TXT, HTML, etc.)

  • Spreadsheet Conversion - Transform spreadsheet formats (CSV, XLSX, JSON, etc.)

  • Code Format Conversion - Convert between code formats and syntax highlighting

  • Archive Operations - Extract and create archive files (ZIP, TAR, etc.)

Conversion Engines

  • PDF Engine: marker (recommended) and pymupdf4llm support

  • Image Engine: Sharp and ImageMagick integration

  • Document Engine: Pandoc integration for broad format support

  • Archive Engine: Built-in Node.js compression libraries

Installation

npm install -g file-converter-mcp

Dependencies

Install conversion engines based on your needs:

# PDF conversion engines
pip install marker-pdf pymupdf4llm

# Image processing (choose one)
npm install sharp
# OR
brew install imagemagick  # macOS
apt-get install imagemagick  # Ubuntu

# Document conversion
brew install pandoc  # macOS
apt-get install pandoc  # Ubuntu

# Archive tools (usually pre-installed)
# zip, unzip, tar, gzip

Usage

MCP Configuration

Add to your MCP client configuration:

{
  "mcpServers": {
    "file-converter": {
      "command": "file-converter-mcp",
      "args": []
    }
  }
}

Available Tools

PDF Conversion

  • convert_pdf_to_markdown - Convert PDF files to Markdown

  • extract_pdf_text - Extract plain text from PDF files

  • extract_pdf_images - Extract images from PDF files

Image Conversion

  • convert_image_format - Convert between image formats

  • resize_image - Resize images with quality options

  • compress_image - Reduce image file size

Document Conversion

  • convert_document - Convert between document formats using Pandoc

  • extract_document_text - Extract text from various document formats

  • convert_markdown_to_html - Convert Markdown to HTML with styling

Spreadsheet Conversion

  • convert_csv_to_json - Convert CSV data to JSON format

  • convert_json_to_csv - Convert JSON data to CSV format

  • convert_xlsx_to_csv - Extract CSV data from Excel files

Archive Operations

  • create_archive - Create ZIP or TAR archives from files/folders

  • extract_archive - Extract contents from archive files

  • list_archive_contents - List files in archive without extracting

Utility Tools

  • detect_file_type - Identify file format and encoding

  • validate_conversion - Check if conversion is supported

  • batch_convert - Convert multiple files in one operation

Examples

Basic PDF Conversion

// Convert PDF to Markdown
await client.callTool("convert_pdf_to_markdown", {
  input_path: "/path/to/document.pdf",
  output_path: "/path/to/output.md",
  options: {
    engine: "marker",
    preserve_formatting: true
  }
});

Image Format Conversion

// Convert PNG to WebP with compression
await client.callTool("convert_image_format", {
  input_path: "/path/to/image.png",
  output_path: "/path/to/image.webp",
  options: {
    quality: 80,
    format: "webp"
  }
});

Document Conversion

// Convert DOCX to Markdown using Pandoc
await client.callTool("convert_document", {
  input_path: "/path/to/document.docx",
  output_path: "/path/to/document.md",
  options: {
    format: "markdown",
    preserve_styles: false
  }
});

Batch Operations

// Convert multiple files at once
await client.callTool("batch_convert", {
  input_directory: "/path/to/input/",
  output_directory: "/path/to/output/",
  conversions: [
    { from: "pdf", to: "markdown" },
    { from: "png", to: "webp" },
    { from: "docx", to: "txt" }
  ]
});

Configuration Options

Conversion Settings

interface ConversionOptions {
  engine?: string;                    // Conversion engine to use
  quality?: number;                   // Output quality (1-100)
  preserve_formatting?: boolean;      // Maintain original formatting
  output_format?: string;             // Specific output format
  compression_level?: number;         // Compression level (0-9)
  custom_options?: Record<string, any>; // Engine-specific options
}

Supported File Types

Input Formats

  • Documents: PDF, DOCX, DOC, RTF, TXT, HTML, XML

  • Images: PNG, JPG, JPEG, WebP, GIF, BMP, TIFF, SVG

  • Spreadsheets: CSV, XLSX, XLS, JSON, TSV

  • Archives: ZIP, TAR, GZ, 7Z, RAR (extract only)

  • Code: Various programming language files

Output Formats

  • Text: Markdown, HTML, TXT, RTF

  • Images: PNG, JPG, WebP, GIF, BMP

  • Data: JSON, CSV, XML, YAML

  • Archives: ZIP, TAR, GZ

Performance Considerations

  • Memory Usage: Large files are processed in chunks to prevent memory issues

  • Processing Speed: Different engines have different speed/quality tradeoffs

  • Batch Processing: More efficient for multiple file conversions

  • Caching: Converted files can be cached to avoid re-processing

Error Handling

The server provides comprehensive error handling:

  • Input file validation and format detection

  • Graceful fallback between conversion engines

  • Detailed error messages with suggested solutions

  • Progress tracking for long-running conversions

Development

# Clone repository
git clone https://github.com/cordlesssteve/file-converter-mcp.git
cd file-converter-mcp

# Install dependencies
npm install

# Build project
npm run build

# Run development mode
npm run dev

# Run tests
npm test

Contributing

  1. Fork the repository

  2. Create a feature branch

  3. Add support for new file formats or conversion engines

  4. Add tests for new functionality

  5. Submit a pull request

License

MIT License - see LICENSE file for details.

Support

Available Tools

8 tools
analyze_contentC

Analyze markdown files to automatically determine document categories

Inputs: directory_path (required).

check_conversionsC

Analyze PDF collection to determine conversion status

Inputs: directory_path (required).

convert_missingB

Convert only PDFs that lack companion Markdown files

Inputs: directory_path (required).

convert_pdfB

Convert PDF files to Markdown format using marker (recommended) or pymupdf4llm

Inputs: pdf_path (required), output_path.

discover_pdfsB

Recursively scan directory trees to locate all PDF files

Inputs: directory_path (required), recursive.

full_workflowC

Execute end-to-end document organization pipeline

Inputs: directory_path (required).

init_project_docsC

Initialize Universal Project Documentation Standard structure

Inputs: directory_path (required), project_name (required), project_type.

organize_structureC

Create hierarchical directory structure and move files to appropriate locations

Inputs: categories (required), directory_path (required).

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

Loading tool schema changelog…

    TDQS

    B3.2/5.0

    Scored across 8 tools

    Disambiguation4/5

    Most tools have distinct purposes, but there is some overlap between 'full_workflow' and the combination of other tools like 'discover_pdfs', 'convert_pdf', and 'organize_structure', which could cause confusion about when to use the integrated workflow versus individual steps. The other tools are clearly scoped to specific tasks like analysis, conversion, discovery, and initialization.

    Naming Consistency4/5

    Tool names mostly follow a consistent verb_noun pattern (e.g., analyze_content, check_conversions, convert_pdf), with 'full_workflow' as a minor deviation that uses an adjective instead of a verb. All names are in snake_case and are descriptive, making them readable and predictable, though not perfectly uniform.

    Tool Count5/5

    With 8 tools, the count is well-scoped for a document organization server, covering key operations from discovery and conversion to analysis and structuring. Each tool appears to serve a specific function without redundancy, fitting a typical range for such a domain.

    Completeness4/5

    The tool set covers core document organization workflows, including discovery, conversion, analysis, and structuring, with a full pipeline tool for integration. A minor gap exists in update or delete operations for documents or categories, but agents can likely work around this given the focus on initial organization and conversion.

    Related MCP Connectors