Skip to main content
Glama

MCP PDF to Markdown Converter

  • Apple
  • Linux

MCP PDF to Markdown Converter 📄➡️📝

This project provides a robust system to convert PDF documents into Markdown format using a Multi-Server Communication Protocol (MCP) architecture. It comprises two FastMCP servers for uploading and converting files, and a client application that orchestrates these operations using a reactive agent.

Project Structure

The core components of this project are:

  • upload_mcp: A FastMCP server (running on http://127.0.0.1:8000) responsible for handling PDF file uploads.
  • convert_mcp: A FastMCP server (running on http://127.0.0.1:8001) responsible for converting uploaded PDFs to Markdown.
  • client_convert: A client application that acts as an intelligent agent. It uses Langchain and LangGraph to interact with the MCP servers, upload PDFs, and trigger their conversion.

Getting Started 🚀

Follow these steps to set up and run the project:

1. Prerequisites

  • Python 3.9+
  • uv: A fast Python package installer and resolver. If you don't have uv installed, you can get it via pip:
    pip install uv

2. Project Setup

  1. Clone the repository (if applicable) or navigate to your project root.
    cd /path/to/your/MCP/project
  2. Create and Sync Virtual Environment: uv will create a .venv directory and install all necessary dependencies based on your pyproject.toml.
    uv sync
  3. Activate the Virtual Environment: This step is crucial to ensure all commands run within your isolated environment.
    • macOS/Linux:
      source .venv/bin/activate
    • Windows (Command Prompt):
      .venv\Scripts\activate.bat
    • Windows (PowerShell):
      .venv\Scripts\Activate.ps1
  4. Create .env file: Create a file named .env in the project root (MCP/) and add your Google Gemini API key:
    GEMINI_API_KEY_2="YOUR_GEMINI_API_KEY_HERE"
    Replace "YOUR_GEMINI_API_KEY_HERE" with your actual API key.

3. Running the Servers and Client

You need to run the two MCP servers in separate terminal windows/tabs, and then run the client in a third.

Terminal 1: Run upload_mcp Server

Navigate to your project root (/path/to/your/MCP/) and run:

uv run python -m src.server.upload.mcp
-
security - not tested
F
license - not found
-
quality - not tested

A multi-server system that converts PDF documents to Markdown format using FastMCP architecture with upload and convert servers orchestrated by a reactive client agent.

  1. Project Structure
    1. Getting Started 🚀
      1. 1. Prerequisites
      2. 2. Project Setup
      3. 3. Running the Servers and Client

    Related MCP Servers

    • A
      security
      A
      license
      A
      quality
      MCP server for seamless document format conversion using Pandoc, supporting Markdown, HTML, PDF, DOCX (.docx), csv and more.
      Last updated -
      1
      338
      Python
      MIT License
      • Apple
    • A
      security
      F
      license
      A
      quality
      An MCP server for converting Markdown documents to PDF files.
      Last updated -
      1
      10
      10
      JavaScript
    • A
      security
      A
      license
      A
      quality
      A document conversion server that transforms various file formats (PDFs, documents, images, audio, web content) to Markdown with improved multilingual and UTF-8 support.
      Last updated -
      10
      2
      9
      TypeScript
      MIT License
      • Linux
      • Apple
    • -
      security
      A
      license
      -
      quality
      An MCP server that provides multiple file conversion tools for AI agents, supporting various document and image format conversions including DOCX to PDF, PDF to DOCX, image conversions, Excel to CSV, HTML to PDF, and Markdown to PDF.
      Last updated -
      15
      Python
      MIT License
      • Linux
      • Apple

    View all related MCP servers

    MCP directory API

    We provide all the information about MCP servers via our MCP API.

    curl -X GET 'https://glama.ai/api/mcp/v1/servers/thanharmstrong86/mcp'

    If you have feedback or need assistance with the MCP directory API, please join our Discord server