Cleyrop MCP
Données de travail → Cleyrop MCP
Serveur MCP pour interagir avec les données de travail Cleyrop via le
cleyrop-sdk : naviguer, rechercher, lire le contenu d'un fichier pour le
requêter dans le chatbot, et gérer fichiers/dossiers.
Packagé selon la convention des tools MCP de
La Fabrique (même
structure que tool-sharepoint / tool-excel). S'appuie sur le
cleyrop-sdk.
Cas d'usage central
« Récupère le fichier X dans le projet Y et réponds à ma question dessus. »
Le LLM localise le fichier (list_projects / browse / search), appelle
read_file qui télécharge le fichier et renvoie son contenu texte
(extrait selon le format), puis répond à partir de ce contenu.
Tools exposés
Lecture / navigation
Tool | Rôle |
| Projets accessibles (id, nom, slug) |
| Lister un projet / un dossier (fichiers + sous-dossiers) |
| Rechercher (plein texte ou par nom) |
| Métadonnées d'un fichier |
| Contenu texte d'un fichier (txt/md/csv/json/xml…, .xlsx, .docx, .pdf) |
Écriture / gestion
Tool | Rôle |
| Créer un dossier (arborescence incluse) |
| Écrire un contenu texte comme fichier |
| Opérations fichier (delete = corbeille, ou |
| Opérations dossier |
Corbeille
Tool | Rôle |
| Gestion de la corbeille |
Divers
Tool | Rôle |
| Diagnostiquer l'authentification / l'accès (sans fuite de secret) |
Désigner un fichier : par son
file_id, ou parproject(id/slug) +path(chemin S3-style, ex./dossier/fichier.csv).
Extraction de contenu (read_file)
Format | Méthode |
txt, md, csv, json, xml, html, yaml, log, code… | décodage UTF-8 |
| openpyxl → feuilles en lignes tabulées |
| python-docx → paragraphes + tableaux |
| pypdf → texte par page |
binaire (image, archive…) | non extractible → métadonnées seules |
Le texte est tronqué à max_chars (défaut 200 000) pour ne pas saturer le
contexte du modèle.
Authentification
Identique au pattern de production Cleyrop (cf. tool-excel) : priorité au
compte de service (CLEYROP_CLIENT_ID + CLEYROP_CLIENT_SECRET, injecté par
La Fabrique), sinon CLEYROP_TOKEN. Résolution d'URL in-cluster par défaut
(FQDN .svc.cluster.local), ou CLEYROP_DOMAIN, ou
CLEYROP_API_URL/CLEYROP_KEYCLOAK_URL. Voir .env.example et diagnose().
Les droits effectifs (lecture/écriture) dépendent du compte de service et de ses rôles sur le projet.
diagnose()confirme l'authentification ; un échec d'écriture (403) indique un manque de droits côté projet.
Installation / tests
cd /home/cleyrop/tool-donnees-travail
uv sync
PYTHONPATH=src python -m pytest tests/ -qLancer
donnees-travail-cleyrop-mcp # stdio (local)
python main.py # HTTP streamable-http (conteneur)Build (La Fabrique)
Le Dockerfile suit la convention Cleyrop : base astral/uv,
uv sync, serveur HTTP sur MCP_PORT (8000, endpoint /mcp). cleyrop-sdk
est résolu via l'index privé cleyrop-sdk-gitlab
(UV_INDEX_CLEYROP_SDK_GITLAB_USERNAME/_PASSWORD injectées au build).
Variable d'instance | Portée | Valeur |
| globale |
|
(client credentials) | globale | injectées par La Fabrique |
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
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/MartinCley/Donnees-de-travail-MCP'
If you have feedback or need assistance with the MCP directory API, please join our Discord server