72 lines
2.1 KiB
Markdown
72 lines
2.1 KiB
Markdown
# Lesstime
|
|
|
|
Application de gestion de projet. Symfony 8 + API Platform 4 + Nuxt 4.
|
|
|
|
## MCP Server
|
|
|
|
Lesstime expose un serveur MCP (Model Context Protocol) permettant aux assistants IA (Claude Code, ChatGPT, Codex) d'interagir avec les projets, tâches et le suivi du temps.
|
|
|
|
### Tools disponibles (22)
|
|
|
|
| Domaine | Tools |
|
|
|---------|-------|
|
|
| Reference | `list-users`, `list-clients` |
|
|
| Project | `list-projects`, `get-project`, `create-project`, `update-project` |
|
|
| Task | `list-tasks`, `get-task`, `create-task`, `update-task`, `delete-task` |
|
|
| TaskMeta | `list-statuses`, `list-priorities`, `list-efforts`, `list-tags`, `list-groups`, `create-group`, `update-group` |
|
|
| TimeEntry | `list-time-entries`, `create-time-entry`, `update-time-entry`, `delete-time-entry` |
|
|
|
|
### Transports
|
|
|
|
| Transport | Usage | Auth |
|
|
|-----------|-------|------|
|
|
| **STDIO** | Claude Code sur la machine locale | Aucune |
|
|
| **HTTP** (`/_mcp`) | Clients MCP sur le réseau local | API token (`Authorization: Bearer <token>`) |
|
|
|
|
### Configuration locale (STDIO)
|
|
|
|
```json
|
|
{
|
|
"mcpServers": {
|
|
"lesstime": {
|
|
"command": "docker",
|
|
"args": ["exec", "-i", "php-lesstime-fpm", "php", "bin/console", "mcp:server"]
|
|
}
|
|
}
|
|
}
|
|
```
|
|
|
|
### Configuration réseau (HTTP)
|
|
|
|
```json
|
|
{
|
|
"mcpServers": {
|
|
"lesstime": {
|
|
"type": "url",
|
|
"url": "http://<ip-serveur>:8082/_mcp",
|
|
"headers": {
|
|
"Authorization": "Bearer <api-token>"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
```
|
|
|
|
### Gestion des tokens API
|
|
|
|
```bash
|
|
# Générer un token pour un utilisateur
|
|
docker exec -u www-data php-lesstime-fpm php bin/console app:generate-api-token <username>
|
|
```
|
|
|
|
### Mise en production (réseau local)
|
|
|
|
1. Déployer le code sur le serveur
|
|
2. `composer install --no-dev --optimize-autoloader`
|
|
3. `php bin/console doctrine:migrations:migrate --no-interaction`
|
|
4. `php bin/console cache:clear --env=prod`
|
|
5. `docker restart nginx-lesstime`
|
|
6. `php bin/console app:generate-api-token admin` — noter le token
|
|
7. Ouvrir le port 8082 sur le firewall du serveur (LAN uniquement)
|
|
8. Configurer les clients MCP avec l'URL `http://<ip-serveur>:8082/_mcp` + le token
|