BoondManager MCP Server
io.github.fauguste由 GitHub 帳號 fauguste 發布v2.15.2更新於 Oct 24, 2026
MCP Server for BoondManager API - 182 tools, 12 prompts, 22 resources (ERP/CRM)
概覽
BoondManager ERP/CRM 的 MCP 伺服器,提供 182 個工具、12 個提示與 22 個資源,讓助理查詢並更新招募、業務、人力與財務資料。
- 可以做什麼
- 搜尋並讀取管理類紀錄:使用者、機構、事業單位、角色、行事曆、標籤、Webhook、稽核日誌、通知與討論串
- 讀取與管理文件及履歷:下載、透過 URL、本機檔案、中轉槽或 base64 上傳、解析履歷、刪除
- 執行預設提示:團隊狀態、業務漏斗、逾期發票、候選人媒合、顧問檔案、週報與報帳單建立
- 分析人力與技能:可用顧問、即將結束的任務、技能盤點、過期履歷、多來源人才搜尋
- 查詢應用程式字典標籤與目前使用者
- 適用情境
- 適合助理需要直接操作 BoondManager 執行個體時使用,例如產出人力配置、業務漏斗或開票摘要,依技能尋找顧問或候選人,或建立報帳單,而不必手動複製資料。
- 執行需求
- 透過 npx 或打包的桌面擴充以 stdio 在本機執行,需要 Node.js。需要 BoondManager 憑證:BOOND_API_TOKEN 中的 JWT 權杖、使用者/用戶端權杖加用戶端金鑰三項組合,或 BOOND_USER 與 BOOND_PASSWORD。專用執行個體可設定 BOOND_BASE_URL;上傳中轉需選用的 SharePoint/Entra ID 設定。
安裝
在 SourceWeft 中
- 開啟 儀表板中的 BoondManager MCP Server,將其新增到工作區。
- 為需要使用其工具的對話啟用該服務。
Desktop only,透過 STDIO。 STDIO 服務會啟動本機處理程序,因此需要 SourceWeft 桌面主機。
其他 MCP 客戶端
參照 儲存庫 中的啟動說明。
README
BoondManager MCP Server
Un projet open source Silamir.
[CI] [CodeQL] [Maintainability] [Code Coverage] [npm version] [npm downloads] [Node.js] [TypeScript] [MCP Registry] [Docker Hub] [GHCR] [License: Apache 2.0]
Installation 1-clic :
[Add to Cursor] [Install in VS Code] [Install in VS Code Insiders]
LM Studio, Goose et Gemini CLI s'installent via leur procédure dédiée (deeplink natif ou commande) — voir la section Installation. GitHub ne rend pas cliquables les liens à schéma non-HTTP (
lmstudio://,goose://), c'est pourquoi ils n'ont pas de bouton 1-clic ici.
Serveur MCP (Model Context Protocol) pour l'API BoondManager, permettant a Claude (Desktop, Cowork, Code) de rechercher, consulter, creer et modifier des enregistrements dans votre instance BoondManager.
238 outils couvrant 42 domaines de l'API BoondManager. Voir TOOLS.md pour le catalogue auto-généré (outils + prompts + ressources).
Sorties structurées. En plus du texte lisible, les outils
search,create,updateetdeleterenvoient unstructuredContentconforme à unoutputSchemaMCP :search→{ total?, count, items[] }(résumés compacts, pas les ressources JSON:API complètes),create/update→{ id?, type? },delete→{ id, deleted, reason? }. Les clients MCP qui exploitent les sorties structurées obtiennent une référence d'entité fiable pour chaîner les appels. Les outilsgetrestent en texte seul (leur texte est déjà du JSON exploitable).
Sommaire
- Domaines couverts
- Prompts pré-orchestrés
- Installation : Claude Desktop, Claude Code, Cursor, VS Code
- Configuration et authentification
- Transports (stdio, HTTP + OAuth2, Docker)
- Exemples d'utilisation
- Dépannage
Domaines couverts
CRM & Commercial
Gestion de projets
Facturation & Finance
RH & Temps
Suivi d'activite
Reporting
Administration & Configuration
Detail des onglets par entite
Les entites principales disposent d'outils dedies par onglet pour un acces cible :
Ressources MCP (dictionnaires)
Le serveur expose les dictionnaires de reference Boond comme ressources MCP (clients qui en supportent l'affichage : Claude Desktop, MCP Inspector, etc.). Permet au modele de traduire un state ou typeOf entier en libelle sans appel d'outil supplementaire.
Pour les dictionnaires hors de cette liste curee, l'outil boond_application_dictionary reste disponible.
Prompts pre-orchestres
En plus des outils, le serveur expose des prompts MCP (templates pre-cables) qui orchestrent les bons appels d'outils dans le bon ordre pour les workflows recurrents. Visibles dans les clients qui supportent les prompts (Claude Desktop, Cowork, Claude Code, MCP Inspector...) sous forme de slash-commands ou de menu.
Workflows transverses
Ressources, competences & CV
Comment invoquer un prompt
Les prompts MCP sont des modeles de message utilisateur : tu les invoques toi-meme, le LLM execute ensuite le runbook qu'ils contiennent. Aucun filtre BoondManager a connaitre — tout est embarque cote serveur.
Claude Desktop / Cowork / MCP Inspector : tape / dans la barre de saisie, choisis le prompt dans la liste, remplis les arguments dans le formulaire qui s'affiche, valide.
Claude Code : pareil, / puis selection ; les arguments sont demandes inline.
Fallback (clients sans UI dediee aux prompts) : cite le prompt par son nom dans une demande libre, le client va recuperer la definition via le protocole MCP. Exemple : "lance le runbook staffing_disponible entre le 1er juin et le 1er septembre 2026, competences Java Spring AWS".
Exemples d'invocation des prompts ressources / competences / CV :
Apres modification de la config Claude (
claude_desktop_config.jsonetc.), redemarrer le client : la liste des prompts MCP n'est pas hot-reloadee.
Prerequis
- Node.js >= 22
- Un compte BoondManager avec acces API active
- L'option "Allow API Rest calls using BasicAuth authentication" activee dans la configuration BoondManager (si BasicAuth)
Installation
Claude Desktop (one-click)
Telechargez le fichier .mcpb depuis la derniere release GitHub, puis dans Claude Desktop : Fichier > Installer une extension... et selectionnez le fichier. Les identifiants sont demandes a l'installation et stockes de maniere chiffree (Keychain macOS / Credential Manager Windows).
Claude Code (plugin, recommande)
Meme confort que le one-click Desktop : un formulaire de configuration, aucune variable d'environnement a poser soi-meme.
Claude Code affiche alors le formulaire des 14 options (identifiants, URL de
base, restrictions d'acces). Tout est optionnel a l'ecran, mais il faut
renseigner un des trois modes d'authentification : le trio User Token +
Client Token + Client Key (JWT genere automatiquement, recommande), ou le
Token JWT pre-construit, ou le couple Utilisateur + Mot de passe
(BasicAuth). Les champs laisses vides retombent sur les valeurs par defaut.
Si le serveur n'apparait pas immediatement dans /mcp, un /reload-plugins
suffit — inutile de relancer Claude Code.
Details utiles :
- Ou vont les secrets : les 5 champs sensibles (
User Token,Client Token,Client Key,Token JWT,Mot de passe) vont dans le Keychain macOS (ou~/.claude/.credentials.jsona defaut), pas danssettings.json. Les options non sensibles (URL, restrictions) sont stockees en clair danspluginConfigsde votre~/.claude/settings.json. - Nommage des outils : cote client les outils sont prefixes
mcp__boondmanager__, par exemplemcp__boondmanager__boond_candidates_search. C'est ce nom qu'il faut utiliser dans une allow-list de permissions. - Version : le plugin lance la version npm epinglee dans son manifeste. Pour
passer a une nouvelle release :
/plugin marketplace update boondmanagerpuis reinstaller le plugin. - Restreindre la surface : les champs Restriction du formulaire mappent sur
les variables
BOOND_MCP_*(profil metier, domaines, operations, lecture seule). Voir docs/access-control.md. - Suppressions : Claude Code supporte l'elicitation MCP, donc chaque
boond_*_deletedemande une confirmation avant d'agir (option Confirmer les suppressions, activee par defaut).
Pour desinstaller : /plugin uninstall boondmanager-mcp@boondmanager.
Claude Code (manuel, claude mcp add)
A privilegier si vous voulez piloter vous-meme les variables d'environnement, ou epingler une version differente de celle du plugin.
Windows : ajoutez
cmd /cavantnpx:
Pour rendre le serveur disponible dans tous vos projets, ajoutez --scope user :
Claude Code - Configuration partagee en equipe
Ajoutez un fichier .mcp.json a la racine de votre projet (a commiter dans git) :
Chaque membre de l'equipe n'a qu'a definir la variable d'environnement BOOND_API_TOKEN sur sa machine. Le fichier .mcp.json supporte la syntaxe ${VAR} et ${VAR:-default} pour les variables d'environnement.
Claude Code Enterprise (deploiement administre)
Les administrateurs peuvent deployer le serveur MCP pour tous les utilisateurs via le fichier managed-mcp.json :
Ce fichier prend le controle exclusif des serveurs MCP : les utilisateurs ne peuvent pas ajouter ou modifier de serveurs en dehors de cette configuration.
Pour restreindre les serveurs autorises tout en laissant les utilisateurs en ajouter, utilisez plutot managed-settings.json :
Claude Desktop / Cowork (configuration manuelle)
Ajoutez dans votre fichier de configuration Claude :
macOS : ~/Library/Application Support/Claude/claude_desktop_config.json
Windows : %APPDATA%\Claude\claude_desktop_config.json
Via npm
Ou installation globale :
Depuis les sources
Smithery
Le serveur est aussi disponible sur Smithery. La configuration est dans smithery.yaml à la racine du repo : Smithery propose une UI avec les champs d'authentification (JWT auto / JWT pré-construit / BasicAuth) et installe le serveur via npx.
LobeChat / LobeHub
Le serveur est listé sur le marketplace MCP de LobeHub. Dans LobeChat (auto-hebergé ou cloud), ajouter le MCP via Reglages > Plugins > MCP > Ajouter avec :
Ou utiliser le transport HTTP (voir section Transports) pour un deploiement partage en mode gateway.
Cursor
Cliquez sur le badge Add to Cursor en haut du README (ou ajoutez le serveur manuellement dans Settings > MCP > Add new MCP server). Renseignez ensuite l'authentification en ajoutant un bloc env au serveur dans ~/.cursor/mcp.json :
VS Code (GitHub Copilot / agent MCP)
Cliquez sur le badge Install in VS Code en haut du README, ou ajoutez le serveur a .vscode/mcp.json (par projet) ou a votre settings.json utilisateur :
LM Studio
Dans LM Studio : Program > Install > Edit mcp.json et ajoutez :
Goose
Ajoutez une extension de type STDIO dans Settings > Extensions > Add avec la commande npx -y boondmanager-mcp-server et la variable d'environnement BOOND_API_TOKEN. En CLI :
Gemini CLI
Le depot embarque un manifeste d'extension Gemini CLI (gemini-extension.json). Installez l'extension directement depuis GitHub :
Definissez ensuite l'authentification dans votre environnement (Gemini interpole ${VAR} au demarrage) :
Configuration
Logs
Le serveur utilise pino pour des logs structures JSON (agrégateurs, observabilité).
En production (NODE_ENV=production), les logs sont en JSON par défaut. En dev, le format pretty (colorisé) est actif sauf si LOG_FORMAT=json. Chaque requête HTTP reçoit un corrId (8 hex) pour tracer la requête dans les logs.
Les logs sont toujours écrits sur stderr, quel que soit le transport : en mode stdio, stdout est réservé au flux JSON-RPC et toute autre écriture corrompt la connexion côté client. Claude Desktop capture stderr dans son visualiseur de logs (Developer → Logs), c'est donc là que les avertissements (politique d'accès, mise à jour disponible, dictionnaires) sont visibles.
Authentification
Option 1 : Token API JWT (recommande)
Option 2 : BasicAuth
Transport HTTP en authentification statique (BOOND_HTTP_STATIC_AUTH)
Par défaut, le transport HTTP (MCP_TRANSPORT=http) est une ressource protégée OAuth2 : chaque requête MCP porte le token BoondManager de son utilisateur (voir docs/oauth.md). BOOND_HTTP_STATIC_AUTH=true remplace ce modèle par les credentials d'environnement ci-dessus, partagés par toutes les requêtes — pour un déploiement mono-locataire auto-hébergé, un pipeline CI ou une passerelle interne sans flux OAuth.
Dans ce mode, plus rien n'authentifie le client MCP : quiconque atteint le port agit avec les droits BoondManager de l'opérateur (lecture et écriture selon la politique d'accès). D'où :
/healthz reste accessible sans clé. En mode OAuth (défaut), MCP_HTTP_API_KEY est ignorée avec un avertissement : le Bearer y est le token BoondManager.
URL personnalisee (si instance dediee)
Par defaut, l'URL est https://ui.boondmanager.com/api.
Delai d'expiration HTTP
Chaque requete vers l'API BoondManager expire au bout de 30 secondes par defaut. Pour les tenants lents ou des rapports volumineux, augmenter via :
Si une requete depasse le delai, le serveur renvoie une erreur explicite mentionnant BOOND_HTTP_TIMEOUT_MS plutot que de rester bloque indefiniment.
Tentatives en cas d'echec transitoire
Le client HTTP retente automatiquement les erreurs transitoires avec un backoff exponentiel + jitter :
- GET : retry sur
5xx,429, erreurs reseau (ECONNRESET, etc.) et timeouts (GET etant idempotent). - POST / PUT / PATCH / DELETE : retry uniquement sur
429afin d'eviter de dupliquer une ecriture cote serveur. Les5xxet erreurs reseau remontent immediatement. - L'en-tete
Retry-After(en secondes ou en HTTP-date) est honore et plafonne aBOOND_HTTP_RETRY_MAX_MS.
Limitation de debit (rate limiting)
Pour eviter qu'une boucle d'outils emballee n'inonde l'API (et n'enchaine les 429), le client applique un token bucket local. Defauts : 10 req/s soutenu, rafale 20 — invisible en usage interactif normal. Les retentatives consomment aussi un jeton.
En transport HTTP OAuth, le bucket est par utilisateur (identite derivee du Bearer) : la rafale d'un utilisateur ne ralentit pas les autres. En stdio et en static auth, une seule identite, donc un seul bucket — la limite est par identite, pas par processus.
Cache du dictionnaire
L'API BoondManager n'expose qu'un seul endpoint /application/dictionary qui renvoie l'intégralité des libellés (états, types, pays…). Le serveur le met en cache en mémoire pour éviter de le re-télécharger à chaque résolution état/type → libellé.
Téléversement de documents locaux
boond_documents_create accepte trois sources, exactement une par appel :
Garde-fous : chemin absolu obligatoire, confinement vérifié après résolution des liens symboliques (.. et symlinks sortants refusés), fichier régulier uniquement, type déterminé par les premiers octets (PDF, DOCX/XLSX/PPTX, ODT/ODS, DOC/XLS/PPT, RTF, PNG, JPEG, GIF, WebP) et non par l'extension. N'autorisez que des répertoires dédiés : tout fichier accepté qui s'y trouve peut être envoyé dans BoondManager à la demande du modèle.
Relais d'upload pour les pièces jointes de conversation (SharePoint)
Une pièce jointe glissée dans une conversation se trouve dans l'environnement d'exécution de code du client (bac à sable), pas sur le poste du serveur : filePath ne la voit pas, et le modèle ne peut pas la retranscrire de façon fiable en base64. Le relais la fait transiter hors de la sortie du modèle :
boond_documents_upload_slot({ fileName })crée, dans une bibliothèque SharePoint dédiée, un dossier de transit et une session d'upload Microsoft Graph pré-authentifiée (15 min, un fichier, un usage) ;- le bac à sable dépose le fichier en une requête
PUT(curl, commande fournie) ; boond_documents_create({ parentType, parentId, uploadSlot })vérifie le fichier (taille, premiers octets), transmet à BoondManager son URL de lecture temporaire Graph via le mécanismefileUrl, puis le supprime définitivement (permanentDelete, sans corbeille ; repli sur une suppression simple si le locataire la refuse). Les slots expirés sont purgés à l'ouverture suivante.
Les identifiants Entra ID restent côté serveur ; le client ne voit que des URL limitées à un fichier.
Mise en place, avec le minimum de droits :
- un site SharePoint et une bibliothèque dédiés, réservés aux propriétaires, exclus de la recherche et de la synchronisation hors connexion, sans stratégie de rétention Purview (sinon les fichiers supprimés sont conservés) ;
- une inscription d'application Entra ID (locataire unique) avec la permission d'application Graph
Sites.Selectedet le consentement administrateur, puis le rôlewriteaccordé sur ce seul site :
- côté client, autoriser
<tenant>.sharepoint.comdans la liste blanche réseau de l'exécution de code.
Compromis assumé : l'URL de lecture que reçoit BoondManager est pré-authentifiée pendant sa courte durée de vie (quelques minutes, fixée par Microsoft) ; elle est imprévisible et le fichier est supprimé dès que BoondManager l'a récupéré.
Restriction d'accès (profils / domaines / lecture seule)
Vous pouvez restreindre ce que l'IA voit et peut faire, entièrement par variables d'environnement : exposer seulement certains domaines (ex. la comptabilité), et/ou bloquer les écritures et suppressions.
⚠️ Ce n'est pas une frontière de sécurité dure. Le filtre masque des outils à l'IA mais n'altère pas les droits du compte BoondManager utilisé. Pour un vrai cloisonnement, configurez d'abord les droits du compte/rôle BoondManager (lecture seule, périmètre comptable…) ; ce filtre vient en complément (économie de tokens, garde-fou anti-action accidentelle).
Exemple — tout le périmètre gestion, en lecture seule :
Guide complet, règles de résolution, contenu de chaque profil (et le nombre d'outils qui en résulte) : docs/access-control.md.
Icônes (SEP-973)
Les outils, prompts et ressources portent une icône par domaine (SVG inline en
data: URI, aucun asset à héberger). Coût mesuré : ~40 Kio, soit ~14 % du
payload tools/list. Les déploiements qui ne les affichent pas (passerelles,
clients texte) peuvent les supprimer :
Libellés personnalisés du dictionnaire
Si votre instance BoondManager utilise des libellés de dictionnaire
personnalisés (ex. types d'action ou états en anglais), vous pouvez déclarer
le mapping libellé→ID via BOOND_DICTIONARY_OVERRIDES (JSON inline ou chemin
vers un fichier JSON) :
Le serveur accepte alors ces libellés pour le typeOf de
boond_actions_create et les champs state des créations/modifications, les
résout automatiquement en IDs numériques, et enrichit les descriptions des
outils avec les libellés disponibles. Sans cette variable, le comportement est
strictement inchangé.
Format complet, entités supportées et limites : docs/dictionary-overrides.md.
Transports
Le serveur supporte deux transports MCP, selectionnables via la variable d'environnement MCP_TRANSPORT.
Streamable HTTP (pour les gateways MCP)
Depuis la v1.4.0, le serveur peut etre expose en HTTP (transport MCP Streamable HTTP) afin d'etre branche derriere une passerelle MCP ou deploye comme service. La revision de protocole negociee est celle du SDK installe (2025-11-25).
Authentification BoondManager : OAuth2 protected resource. Le serveur HTTP ne detient aucun secret (ni
client_secret, ni refresh token, ni stockage utilisateur). Chaque requete MCP doit porterAuthorization: Bearer <boond_access_token>; le serveur transmet le token tel quel a BoondManager. C'est le client MCP (Claude Desktop, Claude Code, gateway…) qui fait la danse OAuth contre BoondManager et qui gere le refresh. Procedure complete : docs/oauth.md.
Variables d'environnement HTTP
Variables OAuth2 — discovery (toutes optionnelles)
Stateless (defaut) : chaque requete HTTP POST est independante, idealement adapte a un gateway qui multiplexe plusieurs serveurs MCP. Aucune session n'est conservee cote serveur.
Stateful : le serveur genere un Mcp-Session-Id a l'initialisation que le client doit renvoyer dans chaque requete suivante. Utile pour les clients MCP natifs qui beneficient du streaming SSE et des notifications serveur.
Exemple : discovery + 401 challenge
Exemple : Claude Code via HTTP
Avec un client MCP conforme a la spec MCP Authorization 2025-06-18, la decouverte OAuth est automatique :
Exemple : Docker (image officielle)
Une image Docker prete a l'emploi est publiee a chaque release sur deux registres miroirs, multi-arch (linux/amd64 + linux/arm64) :
Memes digests, memes tags — choisissez celui qui s'aligne avec votre tooling. L'image demarre par defaut en transport HTTP, sur le port 3000, sur l'interface 0.0.0.0. Aucun volume, aucun secret a stocker — le serveur est stateless par construction.
Tags disponibles sur les deux registres : :latest, :X, :X.Y, :X.Y.Z pour chaque release stable (la version exacte est recommandee pour la prod). Les prereleases (par exemple :2.0.0-alpha) sont publiees uniquement sous leur tag pinne — ni :latest, ni :X, ni :X.Y ne bougent. Variables d'environnement supportees : voir Configuration et Transports.
Exemple : docker-compose
Le repo embarque un docker-compose.yml pret a l'emploi : un seul service stateless, aucun volume, aucun secret cote serveur.
Securite : le serveur HTTP est stateless et ne stocke aucun secret BoondManager. Chaque utilisateur authentifie le serveur via son propre token OAuth2 (issu de sa propre App BoondManager), et toutes les actions sont attribuees a son identite dans l'audit log Boond. Derriere un reverse proxy : terminez TLS (HTTPS), forwardez l'en-tete
Authorization, et reglezMCP_HTTP_PUBLIC_URLsur l'URL publique pour que la discovery soit coherente.
Clients distants non-Claude (ChatGPT, OpenAI / Gemini Agents SDK)
MCP est un protocole agnostique du modele : le meme endpoint HTTP/OAuth2 est consomme tel quel par tout hote compatible MCP, pas seulement Claude. Aucun package ni build specifique a un LLM n'est requis — il suffit de pointer l'hote sur votre URL MCP_HTTP_PUBLIC_URL.
Le contrat est identique a celui de Claude Code en HTTP (voir l'exemple claude mcp add --transport http ci-dessus) : seule la maniere de declarer le serveur cote client change.
Exemples d'utilisation
Une fois configure, vous pouvez demander a Claude :
CRM & Commercial
- "Recherche les candidats avec des competences en React a Paris"
- "Montre-moi les details techniques de la ressource #12345"
- "Cree un nouveau contact Jean Dupont chez Acme Corp"
- "Liste toutes les opportunites en cours"
- "Quels sont les positionnements de l'opportunite #20 ?"
Gestion de projets
- "Cree un projet Mission Alpha pour la societe #42"
- "Affiche le planning du projet #33"
- "Quels sont les bons de commande du projet #55 ?"
- "Affiche la productivite du projet #12"
Facturation & Finance
- "Recherche les factures en attente de paiement"
- "Liste les factures fournisseur de la societe #100"
- "Affiche les achats du projet #55"
RH & Temps
- "Affiche les feuilles de temps de la ressource #100 pour mars 2025"
- "Liste les absences prevues ce mois-ci"
- "Affiche les notes de frais de la ressource #200"
- "Quels sont les avantages de la ressource #50 ?"
Suivi d'activite
- "Quelles sont les actions recentes sur le candidat #789 ?"
- "Affiche les validations en attente"
- "Liste les taches de ma todolist"
Reporting
- "Affiche le reporting de synthese globale"
- "Quel est le reporting de productivite des ressources ?"
Administration
- "Recupere le dictionnaire des types d'actions"
- "Liste les agences et business units"
- "Affiche les webhooks configures"
Architecture
Depannage
« JSON Schema declares an unsupported dialect (draft-07) » sur les outils *_search
Symptome. Les outils de recherche (boond_candidates_search, boond_resources_search,
boond_opportunities_search...) echouent systematiquement, alors que les outils de fiche
(boond_*_get), les dictionnaires et les workflows textuels fonctionnent. La dissymetrie est
le diagnostic : seuls les ~59 outils qui declarent un outputSchema sont concernes, parce que
c'est ce schema-la que l'hote compile -- au moment ou il enregistre l'outil, donc avant tout
appel. L'outil n'echoue pas, il devient inutilisable.
Cause. Les versions 2.1.0 a 2.12.1 annoncaient "$schema": "http://json-schema.org/draft-07/schema#"
sur leurs schemas (le SDK MCP convertit les schemas Zod avec target: 'draft-7', en dur). Un hote
qui valide avec un validateur 2020-12 uniquement refuse de compiler un tel schema.
Correctif : mettre a jour vers >= 2.12.2. Depuis cette version le serveur n'annonce plus
aucun dialecte (src/schema-dialect.ts), ce que la suite de tests verifie sur les 185 outils
a travers un vrai client, sous validateur 2020-12 et draft-07.
Redemarrer le connecteur ne suffit pas : un redemarrage relance le binaire installe, il ne le met pas a jour. Verifiez la version reellement chargee plutot que celle affichee par le catalogue :
Selon le canal d'installation :
Verifiez aussi la version de Node : le serveur requiert Node.js >= 22. Un poste encore en Node 20 est en general un poste dont l'installation n'a pas ete rafraichie depuis longtemps.
Securite
- Les credentials BoondManager (JWT ou BasicAuth) ne transitent jamais via le protocole MCP -- ils sont configures en variables d'environnement cote serveur uniquement
- En mode stdio, le serveur tourne en local, aucun port reseau n'est expose
- En mode streamable HTTP, l'authentification est un OAuth2 protected resource : chaque requete MCP porte son propre
Authorization: Bearer <token>(le serveur ne stocke aucun secret). Terminez TLS (HTTPS via reverse proxy), forwardez l'en-teteAuthorization, reglezMCP_HTTP_PUBLIC_URLsur l'URL publique, et activez la protection anti DNS rebinding viaMCP_HTTP_ALLOWED_HOSTS. Restreignez aussi l'acces reseau a votre gateway. Voir docs/oauth.md. - Compatible avec les exigences ISO 27001
- L'API BoondManager est hebergee en France et conforme RGPD
- Authentification BoondManager : JWT (recommande), BasicAuth, ou JWT construit automatiquement a partir des composants
Developpement
Stack technique
- Runtime : Node.js >= 22 (ES2022)
- Langage : TypeScript 5.8+ (mode strict)
- MCP SDK : @modelcontextprotocol/sdk 1.12+
- Validation : Zod 4
- Tests : Vitest 4 + couverture V8
- Lint : ESLint 10 + typescript-eslint
- Transports : stdio (defaut) + Streamable HTTP (spec MCP 2025-11-25)
Ressources
- Documentation API BoondManager
- Collection Postman BoondManager
- Specification MCP
- pyboondmanager (reference Python)
- Catalogue d'outils auto-genere (TOOLS.md)
- Distribution & marketplaces (docs/distribution.md)
Licence
Apache License 2.0 — Copyright (c) 2025-2026 Silamir. Créé à l'origine par Frédéric Auguste.
Voir LICENSE et NOTICE pour les détails.
BoondManager est une marque de BoondManager SAS. Ce projet est un client indépendant et non officiel de l'API publique BoondManager, sans affiliation avec BoondManager SAS.
來源:README.md,提交 f549af4
工具
0版本歷史
2- v2.15.2最新Sep 20, 2026
- v2.15.0Sep 16, 2026
評分
已滿足適用檢查項的 40%
該評分衡量此收錄條目的完整程度,依據註冊中心條目、端點與公開來源計算得出。它不是對伺服器本身的評價,也不表示伺服器安全或目前可用:可連通性是帶日期的檢查結果,評分也不包含安裝量或使用者評價。
- 近 30 天內可連通25 分
請保持端點能夠回應 MCP 握手;SourceWeft 每 30 天探測一次。
- 已宣告認證方式10 分
請在註冊中心條目中宣告憑證請求標頭,或保持端點能夠回應探測,以便判定其認證方式。
- 已列出工具15 分
請讓伺服器在無憑證時回應 tools/list,或發布可在沙箱中無憑證啟動的軟體包。
- 描述必需15 分
- 圖示10 分
- 文件15 分
- 授權條款10 分
請在儲存庫或註冊中心條目中宣告授權條款。