mcp-eprojet
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@mcp-eprojetJ'ai passé 3 h sur PRJ-576-0417 aujourd'hui, 60 %."
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
mcp-eprojet
Serveur MCP local (stdio) qui permet à un assistant IA (Claude Code, Claude Desktop…) de piloter E-Projet, une application web interne de gestion de tâches et de timesheet. Objectif : automatiser une saisie manuelle fastidieuse (créer des tâches, saisir ses heures, corriger des champs) en parlant à l'assistant.
Projet personnel et non officiel. Il se connecte avec votre propre compte, par la session web
(form login Spring Security, cookie JSESSIONID) : E-Projet n'a pas d'API publique, les pages HTML et les
endpoints internes sont donc lus et soumis comme le ferait un navigateur.
Il vise une instance précise d'E-Projet. Avant de l'utiliser, vérifiez que l'automatisation de votre saisie est autorisée dans votre organisation (et s'il existe une API officielle).
Principes
Lecture et écriture, avec garde-fous : toute écriture est en
dry_runpar défaut (montre ce qui serait envoyé). Rien n'est envoyé sansconfirmer: true, à ne passer qu'après accord explicite de l'utilisateur.Vérification : après chaque écriture, la donnée est relue (
verifie,ecarts).Journal local :
actions.log(date, outil, données), jamais de mot de passe ni de cookie.Session : login à la première requête, un seul login à la fois, reconnexion automatique avec un seul nouvel essai (pas de boucle qui bloquerait le compte).
Rythme calme : pas de rafale ; les lots attendent 0,5 s entre deux envois.
Related MCP server: bort
Prérequis
Node.js 24 ou plus récent (
--env-file,fetch), pnpmUn compte E-Projet et l'URL de l'instance (ex.
https://e-projet.example.com/EProjet-1)
Installation
pnpm install
cp .env.example .env # puis renseigner les trois variables ci-dessous
pnpm build # produit dist/Variable | Rôle |
| URL de l'application, contexte compris ( |
| identifiant |
| mot de passe (reste dans |
Brancher dans Claude Code
claude mcp add eprojet --scope user -- node --env-file=/chemin/vers/.env /chemin/vers/dist/index.jsBrancher dans Claude Desktop (claude_desktop_config.json)
{
"mcpServers": {
"eprojet": {
"command": "node",
"args": ["--env-file=/chemin/vers/.env", "/chemin/vers/dist/index.js"]
}
}
}Les identifiants restent dans .env : Node les charge avec --env-file, ils ne sont jamais copiés dans la
configuration de Claude. Après chaque modification du code : pnpm build puis relancer le client.
Utilisation
Demandez en langage naturel ; l'assistant choisit les outils. Exemples :
« Montre-moi mes tâches actives. » →
lister_taches« Crée une tâche de formation de 1 h 30 demain sur le projet X. » →
creer_tache(dry-run, puis confirmation de votre part)« J'ai passé 3 h sur PRJ-576-0417 aujourd'hui, 60 %. » →
saisir_timesheet« Combien d'heures ai-je saisies cette semaine ? » →
lire_timesheet« Corrige la durée prévue de ces cinq tâches. » →
modifier_taches(un dry-run pour le lot)
Le cycle normal d'une écriture : dry-run → vous relisez → confirmer: true → relecture verifie.
Outils
Les dates sont au format AAAA-MM-JJ. Les listes sont limitées (20 par défaut, 100 au maximum).
Lecture
Outil | Paramètres | Résultat |
|
| statut et titre d'une page protégée |
|
| sans |
|
| tâches allégées (heures en décimal) |
|
| détail : nature, gravité, statut, %, dates, |
|
| par jour : total d'heures, tâches avec heures, statut, %, commentaire |
Écriture (dry-run par défaut)
Outil | Paramètres principaux | Remarques |
|
| * |
|
| un dry-run et une confirmation pour tout le lot ; refusé en bloc si une tâche est invalide ; arrêt à la première erreur |
|
| seuls les champs cités changent ; responsable externe et composant actuels conservés ; statut d'une tâche à 100 % refusé (voir |
|
| même logique de lot |
|
| avertissements non bloquants (dépassement du budget…) ; les tâches non citées sont inchangées |
|
| irréversible, pas de lot ; avertit si des heures réelles existent ; disparition vérifiée |
Règles métier à connaître
H. prév et Jour prév sont deux champs indépendants dans E-Projet (aucun lien imposé) :
duree_heures= H. prév, en heures décimales (0,5 = 30 min, 1,5 = 1 h 30), pas de 0,25, de 0,25 à 300 ;jours_prev= Jour prév, en jours, pas de 0,25, minimum 0,25 (0,5 = demi-journée). Facultatif : par défaut, heures ÷ 8 arrondi au quart de jour supérieur, 0,25 minimum même sous 2 h.
Statut Terminée ⇔ 100 %. Une tâche à 100 % est terminée ; pour la rouvrir,
saisir_timesheetbaisse le pourcentage.modifier_tachene change pas le statut d'une tâche à 100 %.Rattrapage : une tâche terminée reste saisissable dans le timesheet pendant quelques jours (catégorie
rattrapage).Libellés (type, statut, projet) : insensibles à la casse et aux accents ; un fragment unique est accepté. Un libellé inconnu ou ambigu renvoie la liste des valeurs permises.
Limites connues
lire_timesheetne voit pas les heures du jour des tâches terminées (rattrapage) : E-Projet ne les affiche pas.La suppression passe par un
GET, comme le bouton de l'interface ; il n'existe aucun moyen de l'annuler.Le HTML d'E-Projet peut changer : les sélecteurs sont isolés (
src/utils/parse.ts,activite.ts,timesheet/page.ts) pour qu'un changement ne demande qu'une adaptation locale.
Contribuer
Les contributions sont bienvenues (issue ou pull request).
pnpm install, puis un.envseulement si vous voulez tester contre une vraie instance.Travaillez en TDD : un test d'abord, sur des fixtures HTML anonymisées (
src/utils/__fixtures__/) et un fauxapiinjecté (les tests ne touchent jamais le réseau).Avant d'ouvrir une PR, tout doit passer :
pnpm check # tsc pnpm lint # eslint pnpm format:check # prettier (pnpm format pour corriger) pnpm testRègles de code (
CLAUDE.md) :aucun fichier ne dépasse 200 lignes, sauf cas justifié : découpez par responsabilité ;
SOLID : un module = une responsabilité (client HTTP, session, parsing, service métier, outil MCP) ; ajouter un outil = ajouter des fichiers, sans modifier le code existant ; les outils reçoivent leurs dépendances (
api,log) par injection ;pas d'abstraction spéculative.
Sécurité :
stdoutest réservé au protocole MCP : logs surstderruniquement ;ne jamais committer de mot de passe, cookie, URL interne ni donnée réelle (noms, identifiants, projets) ; anonymisez les fixtures et les tests ;
toute nouvelle écriture doit être en
dry_runpar défaut, journalisée et relue après envoi.
Commits atomiques, un sujet par commit (
feat(taches): …,fix(…),docs: …).
Ajouter un outil : un service dans src/services/<domaine>/ (logique + schéma zod), un handler dans
src/tools/, l'enregistrement dans src/index.ts, une ligne dans docs/ARCHITECTURE.md et le tableau
ci-dessus.
Structure
src/
index.ts démarre le serveur et enregistre les outils
config.ts variables d'environnement (zod)
client/ session.ts (login, cookie, mutex) · http.ts (api(): relogin + 1 retry)
services/ logique métier par domaine : taches/, timesheet/
tools/ outils MCP : nom, description, validation, gestion d'erreur
utils/ parse (HTML), dates, durées, lots, journal, logger
docs/ ARCHITECTURE.md et documents de conceptionArchitecture détaillée et décisions : docs/ARCHITECTURE.md.
Licence
This server cannot be deployed
Maintenance
Related MCP Connectors
Project management MCP for AI agents with safe task reads and writes.
Task management for people and AI agents, with scoped OAuth access to issues, projects, and docs.
Task management for people and AI agents, with scoped OAuth access to issues, projects, and docs.
Open your team's project from the AI you use: read and write its brief, documents, tasks and notes.
Related MCP Servers
- AlicenseNot gradedqualityBmaintenanceEnables AI clients to read structured project context and propose task changes that require explicit human approval, with scoped permissions, idempotency, and a full audit trail.MIT
- FlicenseBqualityBmaintenanceEnables an AI assistant to read and manage a local project-management database over stdio: listing and creating projects, tasks, expenses, chats and people, and pulling money, margin, deadline and overdue summaries. It runs on the same service layer and SQLite file as the bundled web UI, so figures shown to the assistant and to the human always agree.14-

DuTemps MCP Serverofficial
AlicenseNot gradedqualityBmaintenanceEnables coding agents such as Claude Code or Codex to run and stop the timer, log, correct, delete and restore time entries, read settings, projects, clients, tags, entries and reports, and preview invoices or create and edit invoice drafts. It communicates over stdin/stdout without opening a port, writes to the same audited database as the app, and leaves issuing or voiding invoices to the user in the app.MIT- AlicenseNot gradedqualityAmaintenanceEnables AI assistants to manage Trello boards, cards, checklists, comments, and attachments over local stdio, with compact curated responses. Supports workspace allowlists, tool selection profiles, and an opt-in read-only mode for safer access.5GPL 3.0