Skip to main content
Glama
satelia-mcp-lucca

satelia-mcp-lucca

by Para-FR

satelia-mcp-lucca

Un serveur MCP (Model Context Protocol) qui permet a Claude d'interroger votre instance Lucca en langage naturel : lister les collaborateurs, les departements, consulter les absences et la consommation de conges par type.

🚀 Vous installez le projet sur votre Mac ? Suivez le guide pas a pas : SETUP.md.

C'est quoi ?

Un serveur MCP est un petit programme qui ajoute des « outils » a Claude. Une fois branche a Claude Desktop, vous pouvez demander a Claude d'utiliser ces outils pendant une conversation (ex. « Qui est absent la semaine prochaine dans l'equipe Sales ? »).

Ce serveur expose 4 outils, en lecture seule :

  • lister-collaborateurs — liste / recherche les salaries (par prenom, nom ou email) et donne, pour chacun : identifiant, poste, departement, manager, date d'anciennete, fin de periode d'essai et fin de 2nde periode d'essai (renouvellement). Par defaut, les anciens collaborateurs (contrat termine) sont masques.

  • lister-departements — liste les departements (services / equipes) avec leur identifiant et leur code.

  • lister-absences — liste les absences (conges, RTT, etc.) sur une periode donnee, pour un collaborateur (via son id) ou un departement (via son id).

  • consommation-conges — calcule les jours d'absence PRIS par type (conges payes, RTT, recuperation…) sur une periode, pour un collaborateur ou un departement. NB : c'est la consommation, pas le solde restant (l'API Lucca n'expose pas les soldes).

Enchainement typique : Claude appelle d'abord lister-collaborateurs pour trouver l'id d'une personne, puis lister-absences avec cet id.

Related MCP server: HR MCP Server

Prerequis

  • Node.js version 18 ou superieure (node --version). Sinon : https://nodejs.org (version « LTS »).

  • Un acces a l'API Lucca : le sous-domaine de votre instance et une cle API.

Installation

npm install
npm run build

Si tout va bien, un dossier build apparait (build/index.js, build/lucca.js).

Acces Lucca (important)

Le serveur ne contient aucun secret. Les acces sont lus dans des variables d'environnement :

Variable

Role

Exemple

LUCCA_INSTANCE

le sous-domaine de votre instance : https://<ICI>.ilucca.net

satelia

LUCCA_API_KEY

votre cle API (Parametres Lucca → Cles API)

xxxxxxxx-xxxx-...

LUCCA_BASE_URL

(optionnel) URL complete, pour surcharger (ex. environnement de test)

https://satelia.ilucca-test.net

Pour recuperer une cle API : dans Lucca, Parametres → Cles API → creer une cle (une cle dediee par integration, avec le role/perimetre minimal necessaire).

Pour un test rapide en local, copiez .env.example en .env (ignore par git) et remplissez vos acces.

Connecter le serveur a Claude Desktop

Claude Desktop lit un fichier de configuration ou vous declarez vos serveurs MCP.

  • macOS : ~/Library/Application Support/Claude/claude_desktop_config.json

  • Windows : %APPDATA%\Claude\claude_desktop_config.json

Ajoutez votre serveur dans mcpServers (remplacez le chemin et la cle). La cle va dans le bloc env, jamais dans le code :

{
  "mcpServers": {
    "satelia-mcp-lucca": {
      "command": "node",
      "args": ["/chemin/absolu/vers/satelia-mcp-lucca/build/index.js"],
      "env": {
        "LUCCA_INSTANCE": "satelia",
        "LUCCA_API_KEY": "votre-cle-api"
      }
    }
  }
}

Pour obtenir le chemin absolu, lancez pwd dans le dossier du projet et ajoutez /build/index.js.

Fermez puis rouvrez Claude Desktop. Essayez : « Liste-moi les departements Lucca » ou « Qui est absent en juillet dans l'equipe Sales ? ».

Note : apres toute modification du code, relancez npm run build puis redemarrez Claude Desktop.

Tester

Un smoke test verifie que le serveur demarre, expose les 3 outils, et — si les acces Lucca sont dans l'environnement — fait un vrai appel a l'API :

# sans acces : test structurel seulement
node test/smoke.mjs

# avec acces (charge le .env local) : test + vrais appels
set -a; . ./.env; set +a; node test/smoke.mjs

Pour explorer visuellement les outils :

npm run build
npx @modelcontextprotocol/inspector node build/index.js

Ajouter votre propre outil

Tout se passe dans src/index.ts, dans le bloc bien visible :

// ====== AJOUTEZ VOTRE OUTIL ICI ======

Copiez un des outils existants (ex. lister-departements), adaptez le nom, la description (en francais), les champs d'entree (inputSchema) et l'appel luccaFetch(...), puis relancez npm run build. Le client Lucca (src/lucca.ts) gere deja l'authentification et les erreurs.

Commandes utiles

  • npm run build : compile le projet dans build.

  • npm run start : lance la version compilee.

  • npm run dev : lance directement le code source (pratique en developpement).

  • node test/smoke.mjs : smoke test.

Licence

MIT. Voir le fichier LICENSE.

Available Tools

3 tools
lister-absencesLister les absencesA

Liste les absences (conges, RTT, etc.) sur une periode donnee, pour UN collaborateur (via son id) OU pour un departement (via son id). Les dates sont au format AAAA-MM-JJ. Chaque ligne correspond a une demi-journee.

NameRequiredDescriptionDefault
finYesDate de fin de la periode, au format AAAA-MM-JJ (ex. 2026-01-31).
debutYesDate de debut de la periode, au format AAAA-MM-JJ (ex. 2026-01-01).
limiteNoNombre maximum de demi-journees a renvoyer (defaut 500, max 1000).
departementIdNoIdentifiant (id) du departement dont on veut les absences. Utiliser lister-departements pour le trouver.
collaborateurIdNoIdentifiant (id) du collaborateur dont on veut les absences. Utiliser lister-collaborateurs pour le trouver.
lister-collaborateursLister les collaborateursA

Liste les collaborateurs (salaries) de l'instance Lucca. Permet de rechercher une personne par prenom, nom ou email et de recuperer son identifiant (id), utile pour ensuite consulter ses absences.

NameRequiredDescriptionDefault
limiteNoNombre maximum de collaborateurs a renvoyer (defaut 50, max 1000).
rechercheNoTexte a rechercher dans le prenom, le nom ou l'email (ex. 'Dupont' ou 'marie'). Laisser vide pour tout lister.
inclureAnciensNoInclure aussi les anciens collaborateurs (contrats termines). Par defaut false.
lister-departementsLister les departementsA

Liste les departements (services / equipes) de l'organisation Lucca, avec leur identifiant (id) et leur code. Utile pour filtrer les absences par departement.

NameRequiredDescriptionDefault
actifsSeulementNoNe garder que les departements actifs. Par defaut true.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

  1. 3 tool updatesv0.1.0
    • First observedlister-absences
    • First observedlister-collaborateurs
    • First observedlister-departements

TDQS

A3.9/5.0

Scored across 3 tools

Disambiguation5/5

Each tool targets a distinct entity: absences, collaborators, and departments. There is no overlap as they handle different data types, making disambiguation straightforward for an agent.

Naming Consistency5/5

All tools follow a consistent 'lister-' verb-noun pattern in French, with clear and predictable naming. No mixing of conventions.

Tool Count4/5

With only 3 tools, the server is focused and uncluttered. The count is slightly below typical ranges but appropriate for a minimal read-only HR data access server.

Completeness3/5

The set covers listing of three core entities, but lacks write operations (create, update, delete) and more advanced filters. For a read-only server it's acceptable, but there are notable gaps in full lifecycle coverage.

Maintenance

ActivityInactive
ResponsivenessNo recent community issues

Related MCP Connectors

Related MCP Servers

  • A
    license
    Not graded
    quality
    D
    maintenance
    A Model Context Protocol server utilizing Claude AI for generating intelligent queries and offering documentation assistance based on API documentation analysis.
    8 npm
    3
    MIT
  • A
    license
    D
    quality
    D
    maintenance
    A Model Context Protocol server that enables Claude Desktop to access structured employee data and perform HR operations including employee lookups, searches, and global leave requests.
    3
    1
    MIT
  • A
    license
    B
    quality
    D
    maintenance
    A Model Context Protocol server that allows Claude to access Gong's API for retrieving call recordings and transcripts through a standardized interface.
    2
    97 npm
    39
    MIT
  • A
    license
    B
    quality
    D
    maintenance
    A Model Context Protocol server that enables Claude to access and interact with Oracle databases through natural language queries.
    3
    2
    MIT