satelia-mcp-lucca

satelia-mcp-lucca

A Model Context Protocol server that enables Claude to interact with a Lucca instance to list employees, departments, and view absences in natural language.

Category
访问服务器

README

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.

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.

推荐服务器

Baidu Map

Baidu Map

百度地图核心API现已全面兼容MCP协议,是国内首家兼容MCP协议的地图服务商。

官方
精选
JavaScript
Playwright MCP Server

Playwright MCP Server

一个模型上下文协议服务器,它使大型语言模型能够通过结构化的可访问性快照与网页进行交互,而无需视觉模型或屏幕截图。

官方
精选
TypeScript
Magic Component Platform (MCP)

Magic Component Platform (MCP)

一个由人工智能驱动的工具,可以从自然语言描述生成现代化的用户界面组件,并与流行的集成开发环境(IDE)集成,从而简化用户界面开发流程。

官方
精选
本地
TypeScript
Audiense Insights MCP Server

Audiense Insights MCP Server

通过模型上下文协议启用与 Audiense Insights 账户的交互,从而促进营销洞察和受众数据的提取和分析,包括人口统计信息、行为和影响者互动。

官方
精选
本地
TypeScript
VeyraX

VeyraX

一个单一的 MCP 工具,连接你所有喜爱的工具:Gmail、日历以及其他 40 多个工具。

官方
精选
本地
graphlit-mcp-server

graphlit-mcp-server

模型上下文协议 (MCP) 服务器实现了 MCP 客户端与 Graphlit 服务之间的集成。 除了网络爬取之外,还可以将任何内容(从 Slack 到 Gmail 再到播客订阅源)导入到 Graphlit 项目中,然后从 MCP 客户端检索相关内容。

官方
精选
TypeScript
Kagi MCP Server

Kagi MCP Server

一个 MCP 服务器,集成了 Kagi 搜索功能和 Claude AI,使 Claude 能够在回答需要最新信息的问题时执行实时网络搜索。

官方
精选
Python
e2b-mcp-server

e2b-mcp-server

使用 MCP 通过 e2b 运行代码。

官方
精选
Neon MCP Server

Neon MCP Server

用于与 Neon 管理 API 和数据库交互的 MCP 服务器

官方
精选
Exa MCP Server

Exa MCP Server

模型上下文协议(MCP)服务器允许像 Claude 这样的 AI 助手使用 Exa AI 搜索 API 进行网络搜索。这种设置允许 AI 模型以安全和受控的方式获取实时的网络信息。

官方
精选