Expose le module Absences via le serveur MCP et comble les trous CRUD existants (projets, groupes, métadonnées de tâches, clients, users RH). Absences (réutilise AbsenceDayCalculator + AbsenceBalanceService pour ne pas contourner la logique de soldes) : - list/get/create/review/cancel/delete-absence-request - list/update-absence-policy, list/update-absence-balance - create-absence-request prend un userId explicite (agir au nom d'un employé) ; review/cancel maintiennent les soldes (pending/taken) cohérents - AbsenceRequestRepository::findFiltered pour les filtres de liste Trous CRUD comblés : - delete-project, delete-group - CRUD tag, effort, priority - CRUD status (couplé au workflow, avec category) - CRUD client, get/update-user (champs RH, sans password ni roles) Sérialisation centralisée (Serializer::absenceRequest/Policy/Balance/client/userFull). Instructions MCP (mcp.yaml) mises à jour : statuts par workflow + domaine absences. Tests : tests/Functional/Mcp/AbsenceRequestLifecycleTest (création / approbation / annulation admin) vérifient le cycle complet et la cohérence des soldes. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
33 lines
1.6 KiB
YAML
33 lines
1.6 KiB
YAML
mcp:
|
|
app: 'lesstime'
|
|
version: '1.0.0'
|
|
description: 'Lesstime project management — projects, tasks, time tracking'
|
|
instructions: |
|
|
This server provides access to the Lesstime project management system.
|
|
You can list/create/update/delete projects, tasks, and time entries.
|
|
Tasks belong to projects and have statuses, priorities, efforts, tags, and groups.
|
|
Priorities, efforts, and tags are GLOBAL (shared across all projects).
|
|
Statuses belong to a WORKFLOW (not global) — use list-workflows and list-statuses
|
|
to see how they group; create-status requires a workflowId and a category.
|
|
Groups are PER-PROJECT (each group belongs to one project).
|
|
Absences: manage employee leave with absence-request tools (list/get/create/review/
|
|
cancel/delete), absence-policy tools (list/update) and absence-balance tools
|
|
(list/update). create-absence-request takes an explicit userId to act on behalf of
|
|
an employee; review/cancel keep the leave balances consistent (pending/taken).
|
|
Time entries track work duration and can be linked to projects and tasks.
|
|
Use list-statuses, list-priorities, list-efforts, list-tags, list-groups to discover
|
|
available metadata before creating or updating tasks.
|
|
Use list-users and list-clients to discover valid user and client IDs.
|
|
client_transports:
|
|
stdio: true
|
|
http: true
|
|
http:
|
|
path: /_mcp
|
|
session:
|
|
store: file
|
|
directory: '%kernel.project_dir%/var/mcp-sessions'
|
|
ttl: 3600
|
|
discovery:
|
|
scan_dirs: ['src']
|
|
exclude_dirs: ['DataFixtures']
|