# Token MCP & API Lesstime expose un serveur **MCP** (Model Context Protocol) qui permet à un assistant IA (Claude, Cursor, etc.) de piloter ton instance Lesstime — créer des tâches, lire des projets, démarrer un timer, etc. ## Générer ton token 1. Va sur **Profil** (avatar → Profil) 2. Section **Token MCP** → **Générer un token** 3. **Copie le token immédiatement** — il ne sera plus affiché ensuite > 🔐 **Sécurité** : Le token donne accès à toutes les actions de ton compte. Ne le partage jamais. Tu peux le régénérer à tout moment (l'ancien sera révoqué). ## Configurer Claude Code Dans `.mcp.json` (à la racine de ton projet) : ```json { "mcpServers": { "lesstime": { "type": "http", "url": "https://ton-instance-lesstime/_mcp", "headers": { "Authorization": "Bearer TON_TOKEN_ICI" } } } } ``` Pour une instance locale : ```json { "mcpServers": { "lesstime-local": { "command": "docker", "args": ["exec", "-i", "php-lesstime-fpm", "php", "bin/console", "mcp:server"] } } } ``` ## Tools disponibles (27 au total) ### Projets - `list-projects`, `get-project`, `create-project`, `update-project` ### Tâches - `list-tasks` (avec filtres : projet, assigné, statut, archived…) - `get-task`, `create-task`, `update-task`, `delete-task` ### Métadonnées - `list-statuses` (param **`projectId`** optionnel — sans : tous les statuts ; avec : statuts du workflow du projet) - `list-priorities`, `list-efforts`, `list-tags` ### Workflows ⭐ Nouveau - `list-workflows` — liste tous les workflows avec leurs statuts groupés - `switch-project-workflow` (ROLE_ADMIN) — change le workflow d'un projet avec mapping ### Time tracking - `list-time-entries`, `create-time-entry`, `update-time-entry`, `delete-time-entry` ### Récurrence - `create-task-recurrence`, `update-task-recurrence`, `delete-task-recurrence` ### Groupes / Users / Clients - `list-groups`, `create-group`, `update-group` - `list-users`, `list-clients` ## Règles importantes > ⚠️ **Statut hors workflow rejeté** : si tu appelles `create-task` ou `update-task` avec un `status` qui n'appartient pas au workflow du projet, l'appel est rejeté avec **422 Validation error**. Utilise `list-statuses(projectId)` pour découvrir les statuts valides du projet. ## Exemples de prompts ``` "Crée une tâche dans Lesstime sur le projet SIRH avec le titre 'Ajouter l'export PDF' et la priorité Haute, assignée à alice" ``` ``` "Liste mes tâches en cours dans le projet CRM" ``` ``` "Démarre un timer sur la tâche SIRH-12 avec le tag Backend" ``` L'agent appelle les bons tools tout seul si la description est claire.