zecloud/markitdown-mcp-azurefunctions
If you are the rightful owner of markitdown-mcp-azurefunctions and would like to certify it and/or have it hosted online, please leave a comment on the right or send an email to dayong@mcphub.com.
A Markitdown MCP server running on Azure Flex Consumption Plan provides a scalable and efficient solution for processing markdown content using the Model Context Protocol.
MarkItDown MCP Server on Azure Functions
A Model Context Protocol (MCP) server running on Azure Flex Consumption Plan that provides document conversion capabilities using Microsoft's MarkItDown library.
Qu'est-ce que MarkItDown ?
MarkItDown est une bibliothèque Python développée par Microsoft qui convertit divers formats de fichiers en Markdown. Elle permet de transformer des documents Office, PDF, images, pages web et bien d'autres formats en texte Markdown facilement exploitable.
Origines
MarkItDown a été créé par l'équipe Microsoft pour faciliter l'intégration de documents de différents formats dans des workflows d'IA et de traitement de texte. La bibliothèque est open-source et maintenue activement sur GitHub.
Formats supportés
MarkItDown peut convertir les formats suivants :
- Documents Office : Word (. docx), PowerPoint (.pptx), Excel (.xlsx)
- Documents PDF (. pdf)
- Images (.jpg, .png, etc.) avec extraction de texte via OCR
- Pages web (HTML)
- Fichiers texte et bien d'autres formats
Architecture du projet
Ce projet combine :
- MarkItDown : pour la conversion de documents
- MCP (Model Context Protocol) : pour exposer les capacités via un protocole standardisé
- Azure Functions (Flex Consumption Plan) : pour l'hébergement serverless scalable et économique
Installation
Prérequis
- Python 3.10 ou supérieur
- Un compte Azure (pour le déploiement)
- Azure Functions Core Tools
- Azure CLI
Installation locale
-
Cloner le repository
git clone https://github.com/zecloud/markitdown-mcp-azurefunctions.git cd markitdown-mcp-azurefunctions -
Créer un environnement virtuel
python -m venv . venv source .venv/bin/activate # Sur Windows: .venv\Scripts\activate -
Installer les dépendances
pip install -r requirements.txt -
Installer MarkItDown
pip install markitdown -
Configurer les variables d'environnement
cp local. settings.json.example local.settings.json # Éditer local.settings.json avec vos configurations -
Lancer en local
func start
Déploiement sur Azure
-
Se connecter à Azure
az login -
Créer les ressources Azure
# Créer un groupe de ressources az group create --name markitdown-mcp-rg --location francecentral # Créer un compte de stockage az storage account create --name markitdownstorage --resource-group markitdown-mcp-rg --location francecentral # Créer l'application Function (Flex Consumption) az functionapp create --name markitdown-mcp-function \ --resource-group markitdown-mcp-rg \ --storage-account markitdownstorage \ --runtime python \ --runtime-version 3.10 \ --functions-version 4 \ --consumption-plan-location francecentral -
Déployer le code
func azure functionapp publish markitdown-mcp-function
Utilisation
Une fois déployé, le serveur MCP expose les capacités de conversion de MarkItDown via le protocole MCP. Les clients MCP peuvent alors utiliser ces fonctionnalités pour convertir des documents à la volée.
Exemple d'utilisation avec un client MCP
# Exemple de conversion d'un fichier PDF en Markdown
result = mcp_client.convert_document(
file_path="document.pdf",
output_format="markdown"
)
print(result)
Avantages du Flex Consumption Plan
- Coût optimisé : Vous ne payez que pour l'exécution réelle
- Scalabilité automatique : S'adapte automatiquement à la charge
- Démarrage rapide : Temps de démarrage à froid réduit
- Intégration Azure : Accès facile aux autres services Azure
Licence
Ce projet est sous licence MIT. MarkItDown est également sous licence MIT.