# Plane MCP — Outils disponibles

**116 outils** exposés sous le namespace `mcp__plane__*`. La plupart prennent un `project_id` (et souvent un `work_item_id`, `cycle_id`, etc.), récupérés via les outils `list_*` ou `retrieve_*_by_identifier`.

> ⚠️ **Limitations self-hosted CE** — certains endpoints renvoient HTTP 404 sur `projects.elevaseo.app`. Ce sont des features Cloud Business/Enterprise. Marqués **❌ CE** dans les tables.

## User / Workspace

| Outil | Usage | Status |
|---|---|---|
| `get_me` | Identité de l'utilisateur authentifié (utile pour s'auto-assigner) | ✅ |
| `get_workspace_members` | Membres workspace | ✅ |
| `get_workspace_features` | Features niveau workspace | ❌ CE |
| `update_workspace_features` | Toggle features workspace | ❌ CE |

## Projects

| Outil | Usage | Status |
|---|---|---|
| `list_projects` | Lister tous les projets du workspace | ✅ |
| `create_project` | Créer un projet (`name`, `identifier` requis) | ✅ |
| `retrieve_project` | Détails par UUID | ✅ |
| `update_project` | MAJ nom, description, identifier, flags features (`cycle_view`, `module_view`, `is_issue_type_enabled`, `is_time_tracking_enabled`, …) | ✅ |
| `delete_project` | Supprimer | ✅ |
| `get_project_members` | Membres du projet | ✅ |
| `get_project_features` | Flags features projet | ❌ CE — utiliser `update_project` |
| `update_project_features` | Toggle features projet | ❌ CE — utiliser `update_project` |
| `get_project_worklog_summary` | Résumé des work logs | ✅ |

## Work Items

| Outil | Usage |
|---|---|
| `list_work_items` | Lister (filtres : state, priority, assignee, label, cycle, module, search…) |
| `create_work_item` | Créer (name, description, state, priority, assignees, dates, labels, parent…) |
| `retrieve_work_item` | Détails par UUID |
| `retrieve_work_item_by_identifier` | Détails par identifier humain (ex. `WEB-42`) |
| `update_work_item` | MAJ propriétés |
| `delete_work_item` | Supprimer |
| `search_work_items` | Recherche full-text cross-workspace |

## Work Item Types

| Outil | Usage |
|---|---|
| `list_work_item_types` | Types disponibles (Task, Bug, Story…) |
| `create_work_item_type` | Définir un type custom |
| `retrieve_work_item_type` | Détails |
| `update_work_item_type` | Modifier |
| `delete_work_item_type` | Supprimer |

## Work Item Properties

Champs custom attachés aux types.

| Outil | Usage |
|---|---|
| `list_work_item_properties` | Lister |
| `create_work_item_property` | Créer (type : text, number, date, select, multi-select, boolean) |
| `retrieve_work_item_property` | Détails |
| `update_work_item_property` | Modifier |
| `delete_work_item_property` | Supprimer |

## Work Item Comments

| Outil | Usage |
|---|---|
| `list_work_item_comments` | Fil de commentaires |
| `create_work_item_comment` | Ajouter un commentaire (markdown) |
| `retrieve_work_item_comment` | Détails |
| `update_work_item_comment` | Éditer |
| `delete_work_item_comment` | Supprimer |

## Work Item Links

Liens externes (Figma, GDoc, GA, etc.) attachés à un work item.

| Outil | Usage |
|---|---|
| `list_work_item_links` / `create_work_item_link` / `retrieve_work_item_link` / `update_work_item_link` / `delete_work_item_link` | CRUD liens |

## Work Item Relations

| Outil | Usage |
|---|---|
| `list_work_item_relations` | Lister relations (blocks, blocked_by, duplicate, relates_to…) |
| `create_work_item_relation` | Créer une relation entre deux work items |
| `remove_work_item_relation` | Supprimer |

## Work Item Activities

| Outil | Usage |
|---|---|
| `list_work_item_activities` | Historique (audit log) |
| `retrieve_work_item_activity` | Détails d'une activité |

## Work Logs

Time tracking. Le flag projet `is_time_tracking_enabled` doit être activé.

| Outil | Usage |
|---|---|
| `list_work_logs` | Lister logs d'un work item |
| `create_work_log` | Logger du temps (durée, description) |
| `update_work_log` | Éditer |
| `delete_work_log` | Supprimer |

## Cycles

Itérations type sprint (time-boxed).

| Outil | Usage |
|---|---|
| `list_cycles` | Lister (active / upcoming / completed) |
| `create_cycle` | Créer (name, start_date, end_date) |
| `retrieve_cycle` | Détails |
| `update_cycle` | Modifier |
| `delete_cycle` | Supprimer |
| `list_archived_cycles` | Cycles archivés |
| `archive_cycle` / `unarchive_cycle` | Archivage |
| `list_cycle_work_items` | Items d'un cycle |
| `add_work_items_to_cycle` | Ajouter |
| `remove_work_item_from_cycle` | Retirer un item |
| `transfer_cycle_work_items` | Transférer les items incomplets vers un autre cycle |

## Modules

Groupement par feature / thème (non strictement time-boxed).

| Outil | Usage |
|---|---|
| `list_modules` / `create_module` / `retrieve_module` / `update_module` / `delete_module` | CRUD |
| `list_archived_modules` | Modules archivés |
| `archive_module` / `unarchive_module` | Archivage |
| `list_module_work_items` | Items d'un module |
| `add_work_items_to_module` | Ajouter |
| `remove_work_item_from_module` | Retirer |

## Milestones

Jalons à deadline dure regroupant cycles, modules, work items.

| Outil | Usage |
|---|---|
| `list_milestones` / `create_milestone` / `retrieve_milestone` / `update_milestone` / `delete_milestone` | CRUD |
| `list_milestone_work_items` | Items rattachés |
| `add_work_items_to_milestone` | Rattacher |
| `remove_work_items_from_milestone` | Détacher |

## Initiatives — ❌ CE

Niveau pilotage cross-projet (OKR). **Tous les appels `*_initiative*` renvoient 404 sur `projects.elevaseo.app`.** Substituer via un label `init/<initiative-slug>` créé dans chaque projet contributeur (voir `init/advmfr-2026`).

| Outil | Status |
|---|---|
| `list_initiatives` / `create_initiative` / `retrieve_initiative` / `update_initiative` / `delete_initiative` | ❌ CE |

## Epics

Work items "élargis" pouvant contenir d'autres work items. Requiert `is_issue_type_enabled` activé sur le projet.

| Outil | Usage |
|---|---|
| `list_epics` / `create_epic` / `retrieve_epic` / `update_epic` / `delete_epic` | CRUD |

## Intake

Boîte de réception pour les demandes externes, triagées en work items.

| Outil | Usage |
|---|---|
| `list_intake_work_items` / `create_intake_work_item` / `retrieve_intake_work_item` / `update_intake_work_item` / `delete_intake_work_item` | CRUD |

## Labels

| Outil | Usage |
|---|---|
| `list_labels` / `create_label` / `retrieve_label` / `update_label` / `delete_label` | CRUD étiquettes |

## States

States = colonnes du workflow (Backlog, Todo, In Progress, Done, Cancelled).

| Outil | Usage |
|---|---|
| `list_states` | Lister les states d'un projet |
| `create_state` | Créer (group : backlog / unstarted / started / completed / cancelled) |
| `retrieve_state` / `update_state` / `delete_state` | CRUD |

## Pages

Pages markdown collaboratives (niveau workspace ou projet).

| Outil | Usage |
|---|---|
| `retrieve_workspace_page` | Lire page workspace |
| `create_workspace_page` | Créer page workspace |
| `retrieve_project_page` | Lire page projet |
| `create_project_page` | Créer page projet |

## Patterns d'usage

**Toujours commencer par** :
1. `get_me` → `user_id` (auto-assign / filtrage)
2. `list_projects` → trouver le `project_id`
3. `list_states` + `list_labels` → connaître les valeurs valides avant `create_work_item`

**Pour résoudre un slug humain** (ex. `WEB-42`) : `retrieve_work_item_by_identifier`.

**Pour les écritures non triviales** (création/suppression projet, transferts massifs) : toujours confirmer avec l'utilisateur — voir [`best-practices.md`](./best-practices.md).
