Cleyrop MCP

Cleyrop MCP

MCP server to interact with Cleyrop work data: browse, search, read file content, and manage files/folders.

Category
Visit Server

README

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
list_projects() Projets accessibles (id, nom, slug)
browse(project, path?, folder_id?) Lister un projet / un dossier (fichiers + sous-dossiers)
search(query, project?, item_type?, mode?) Rechercher (plein texte ou par nom)
file_info(file_id? | project+path) Métadonnées d'un fichier
read_file(file_id? | project+path, max_chars?) Contenu texte d'un fichier (txt/md/csv/json/xml…, .xlsx, .docx, .pdf)

Écriture / gestion

Tool Rôle
create_folder(project, path) Créer un dossier (arborescence incluse)
save_text_file(project, name, content, folder_path?) Écrire un contenu texte comme fichier
rename_file / move_file / copy_file / delete_file Opérations fichier (delete = corbeille, ou permanent)
rename_folder / delete_folder Opérations dossier

Corbeille

Tool Rôle
list_trash(project) / restore_file(file_id) / empty_trash(project) Gestion de la corbeille

Divers

Tool Rôle
diagnose() Diagnostiquer l'authentification / l'accès (sans fuite de secret)

Désigner un fichier : par son file_id, ou par project (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
.xlsx openpyxl → feuilles en lignes tabulées
.docx python-docx → paragraphes + tableaux
.pdf 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/ -q

Lancer

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
MCP_PORT globale 8000
(client credentials) globale injectées par La Fabrique

Recommended Servers

playwright-mcp

playwright-mcp

A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.

Official
Featured
TypeScript
Magic Component Platform (MCP)

Magic Component Platform (MCP)

An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.

Official
Featured
Local
TypeScript
Audiense Insights MCP Server

Audiense Insights MCP Server

Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.

Official
Featured
Local
TypeScript
VeyraX MCP

VeyraX MCP

Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.

Official
Featured
Local
graphlit-mcp-server

graphlit-mcp-server

The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.

Official
Featured
TypeScript
Kagi MCP Server

Kagi MCP Server

An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.

Official
Featured
Python
Neon Database

Neon Database

MCP server for interacting with Neon Management API and databases

Official
Featured
E2B

E2B

Using MCP to run code via e2b.

Official
Featured
Exa Search

Exa Search

A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.

Official
Featured
Qdrant Server

Qdrant Server

This repository is an example of how to create a MCP server for Qdrant, a vector search engine.

Official
Featured