Serveur MCP SharePoint
Un serveur MCP léger pour une intégration transparente avec Microsoft SharePoint, permettant aux clients MCP d'interagir avec des documents, des dossiers et d'autres ressources SharePoint. Développé par sofias tech.
Caractéristiques
Ce serveur fournit une interface propre aux ressources SharePoint à travers le Model Context Protocol (MCP), avec des opérations optimisées pour la gestion de documents.
Outils
Le serveur implémente les outils suivants :
List_SharePoint_Folders
: Liste tous les dossiers d'un répertoire spécifié ou d'une racineList_SharePoint_Documents
: Récupère tous les documents d'un dossier spécifiéGet_Document_Content
: Récupère le contenu d'un document (sous forme de texte ou de binaire codé en base64)Create_Folder (Créer un dossier)
: Crée un nouveau dossier dans le répertoire spécifié ou à la racineUpload_Document
: Upload_Document : télécharge un nouveau document dans un dossier spécifiéUpload_Document
: Charge des documents volumineux à partir du chemin d'accès.Update_Document
: Met à jour le contenu d'un document existantDelete_Document
: Supprime un document d'un dossier spécifiéDelete_Folder
: Supprime un dossier vide de SharePoint
Architecture du serveur
Le serveur est construit en tenant compte de l'efficacité des ressources :
- Utilisation efficace de l'API SharePoint avec chargement sélectif des propriétés
- Gestion des erreurs par le biais de décorateurs pour un code plus propre
- Séparation claire entre la gestion des ressources et l'implémentation des outils
- Gestion optimisée du contenu pour les fichiers texte et binaires
Configuration
- Enregistrer une application dans Azure AD avec les permissions SharePoint appropriées
- Obtenir l'identifiant et le secret du client pour l'application enregistrée
- Identifiez l'URL de votre site SharePoint et le chemin de la bibliothèque de documents avec laquelle vous souhaitez travailler
Variables d'environnement
Le serveur a besoin de ces variables d'environnement :
SHP_ID_APP
: l'identifiant du client de votre application Azure ADSHP_ID_APP_SECRET
: votre secret de client d'application Azure ADSHP_SITE_URL
: L'URL de votre site SharePointSHP_DOC_LIBRARY
: Chemin d'accès à la bibliothèque de documents (par défaut : "Shared Documents/mcp_server")SHP_TENANT_ID
: Votre identifiant de locataire Microsoft
Démarrage rapide
L'installation
pip install -e
Ou installez à partir de PyPI une fois publié :
pip install mcp-sharepoint-server
En utilisant uv :
uv pip install mcp-sharepoint-server
Intégration avec Claude Desktop
Pour intégrer Claude Desktop, mettez à jour le fichier de configuration :
Sous Windows : %APPDATA%/Claude/claude_desktop_config.json
Sous macOS : ~/Library/Application\ Support/Claude/claude_desktop_config.json
Intégration standard
"mcpServers" : { "sharepoint" : {"command" : "mcp-sharepoint", "env" : { "SHP_ID_APP" : "votre-app-id", "SHP_ID_APP_SECRET" : "votre-app-secret", "SHP_SITE_URL" : "https://your-tenant.sharepoint.com/sites/your-site", "SHP_DOC_LIBRARY" : "Documents partagés/votre-dossier", "SHP_TENANT_ID" : "your-tenant-id" } }
Utilisation de uvx
"mcpServers" : { "sharepoint" : { "command" : "uvx", "args" : [ "mcp-sharepoint" ], "env" : { "SHP_ID_APP" : "votre-app-id", "SHP_ID_APP_SECRET" : "votre-app-secret", "SHP_SITE_URL" : "https://your-tenant.sharepoint.com/sites/your-site", "SHP_DOC_LIBRARY" : "Documents partagés/votre-dossier", "SHP_TENANT_ID" : "your-tenant-id" } }
Développement
Exigences
- Python 3.10+
- Dépendances listées dans
requirements.txt
etpyproject.toml
Développement local
- Cloner le dépôt
- Créer un environnement virtuel :
python -m venv .venv source .venv/bin/activate # Sous Windows : .venv\Scripts\activate
- Installer les dépendances de développement :
pip install -e
- Créez un fichier
.env
avec vos identifiants SharePoint :SHP_ID_APP=votre-app-id SHP_ID_APP_SECRET=votre-app-secret SHP_SITE_URL=https://your-tenant.sharepoint.com/sites/your-site SHP_DOC_LIBRARY=Shared Documents/your-folder SHP_TENANT_ID=votre-tenant-id
- Exécutez le serveur :
python -m mcp_sharepoint
Débogage
Pour déboguer le serveur MCP, vous pouvez utiliser l'inspecteur MCP:
npx @modelcontextprotocol/inspector -- python -m mcp_sharepoint
Licence d'utilisation
Ce projet est sous licence MIT - voir le fichier LICENSE pour plus de détails.
Copyright (c) 2025 sofias tech