Glen
officielServeur MCP de mémoire d’agent pour les équipes. Recherchez les décisions et correctifs passés dans la mémoire partagée des agents de codage de votre équipe (Claude Code, Codex, Cursor), avec leurs sources, et utilisez ou enregistrez les compétences et la documentation de l’équipe.
Que pouvez-vous faire avec Glen MCP ?
- Rechercher dans la mémoire de l’équipe — Posez une question à la mémoire de l’organisation et obtenez des réponses tirées de ce que vous pouvez déjà consulter dans Glen.
- Découvrir pourquoi du code existe — Recherchez les raisons derrière un morceau de code précis.
- Exécuter une compétence enregistrée — Récupérez les instructions Markdown d’une compétence de l’équipe à l’aide de son slug afin que l’agent puisse les suivre.
- Enregistrer et partager des compétences ou des documents — Stockez une compétence ou un artefact Markdown/HTML en privé, ou partagez-le avec toute l’organisation.
- Corriger un souvenir — Oubliez un souvenir erroné ou obsolète et restaurez-le plus tard si nécessaire.
- Importer des conversations passées — Ajoutez des sessions antérieures de l’agent à la mémoire de l’équipe lorsque vous le demandez.
Serveur MCP hébergé
npx add-mcp 'https://mcp.tryglen.com/mcp'S’installe dans Claude Code, Codex, Cursor et plus
Documentation
Un seul endpoint pour la mémoire des agents de votre équipe, depuis n’importe quel client MCP.
Le serveur MCP distant de Glen met à la disposition d’un client la mémoire, les compétences et les documents enregistrés de l’organisation sous forme de 22 outils. Cette page présente l’endpoint, les deux méthodes d’authentification, les entrées et sorties de chaque outil, les indications que les clients utilisent pour déterminer les questions à poser, ainsi que les limites.
| URL du serveur | https://mcp.tryglen.com/mcp |
|---|---|
| Transport | HTTP en flux continu (POST, GET et DELETE sur /mcp) |
| Authentification | OAuth 2.1 avec enregistrement dynamique du client, ou clé API personnelle |
| Outils | 22, chacun avec un titre et des indications de comportement |
| Délai maximal d’une requête | 60 secondes |
| Taille maximale d’une requête | 4.5 MB par requête |
L’endpoint
https://mcp.tryglen.com/mcp
Connectez-vous exactement à https://mcp.tryglen.com/mcp. Les jetons OAuth sont émis pour cette URL en tant qu’audience, et les clients MCP rejettent un serveur dont les métadonnées en indiquent une autre. https://app.tryglen.com/mcp y redirige de façon permanente, et tout autre chemin sur mcp.tryglen.com, à l’exception des documents de découverte OAuth, redirige vers l’application Glen.
Le serveur utilise HTTP en flux continu : le client envoie des messages JSON-RPC par POST à /mcp, peut ouvrir un flux GET pour recevoir les messages du serveur et envoie une requête DELETE pour mettre fin à sa session.
Authentification
Chaque requête est authentifiée de l’une de ces deux façons, et dans les deux cas, elle correspond à une même personne dans une même organisation.
OAuth, pour les clients de chat et la plupart des clients MCP
- 01
Le client appelle
https://mcp.tryglen.com/mcpsans jeton et reçoit401 UnauthorizedavecWWW-Authenticate: Bearer resource_metadata="https://mcp.tryglen.com/.well-known/oauth-protected-resource/mcp"et les portéesopenid profile email read:organization offline_access. - 02
Les métadonnées de la ressource protégée indiquent le serveur d’autorisation,
https://app.tryglen.com/api/auth, dont les métadonnées se trouvent à/.well-known/oauth-authorization-server. - 03
Le client s’enregistre par le biais de l’enregistrement dynamique du client. Aucun préenregistrement ni secret client n’est nécessaire ; les URI de redirection en boucle locale (
http://127.0.0.1) sont acceptées pour les clients de bureau et CLI. - 04 L’utilisateur suit le flux du code d’autorisation avec PKCE : la page de connexion de Glen, puis un sélecteur d’organisation s’il appartient à plusieurs organisations, puis la page de consentement.
- 05
Le client reçoit un jeton d’accès signé (émetteur
https://app.tryglen.com/api/auth, audiencehttps://mcp.tryglen.com/mcp) et, parce queoffline_accessest accordée, un jeton d’actualisation. Le jeton contient l’organisation choisie dans la revendicationhttps://app.tryglen.com/org_id.
Un jeton reste associé à l’organisation choisie lors de la connexion. Pour utiliser une autre organisation, déconnectez-vous puis reconnectez-vous ; glen_list_orgs indique celle utilisée par la connexion.
Clé API, pour les scripts et la CLI glen
Créez une clé dans Paramètres → Clés API du tableau de bord Glen. Les clés sont personnelles : elles vous appartiennent, et non à une organisation, et fonctionnent dans toutes les organisations auxquelles vous appartenez. Chaque requête indique l’organisation dans un en-tête :
POST /mcp HTTP/1.1
Host: mcp.tryglen.com
x-api-key: <your key>
x-glen-org-id: <organization id>
Sans x-glen-org-id, le serveur répond 401 avec no active organization: run `glen org switch`. Add x-glen-incognito: true pour effectuer une requête sans enregistrement. Lorsqu’une requête contient à la fois une clé API et un jeton bearer, c’est la clé qui est vérifiée.
Vérification à chaque requête
Avant l’exécution de tout outil, le serveur vérifie que l’utilisateur existe toujours et qu’il est toujours membre de l’organisation. Le retrait d’une personne de l’organisation ou la suppression de son compte invalide ses jetons et ses clés dès sa prochaine requête, sans attendre leur expiration. En cas d’échec, le serveur renvoie 401 avec le même en-tête WWW-Authenticate, afin que le client puisse relancer l’authentification.
Outils
Chaque outil prend un objet JSON et renvoie son résultat sous forme de texte JSON. Les outils de lecture agissent en votre nom : ils ne renvoient que les informations que vous pouvez déjà consulter dans le tableau de bord Glen, pour l’organisation connectée. Les outils d’écriture ne modifient que votre compte, le contenu que vous avez créé ou la mémoire de l’organisation en votre nom.
Recherche et rappel
Posez une question sur la mémoire de l’organisation ou demandez pourquoi un élément de code précis existe.
Compétences
Les compétences sont des instructions Markdown, avec éventuellement des fichiers, que l’équipe enregistre une fois et que n’importe quel agent peut exécuter. Elles restent privées pour leur auteur jusqu’à ce qu’elles soient partagées.
Utiliser une compétence
Lecture seule
glen_skill_use
Récupère les instructions d’une compétence à partir de son slug afin que l’agent puisse les suivre.
slug
(string)
Le slug exact provenant de glen_skill_search.
conversationId
(string, optional)
L’identifiant de la session appelante, pour le décompte des utilisations.
cached
(object, optional)
Les compétences que le client possède déjà (slug associé à la date de dernière mise à jour), afin de ne pas renvoyer celles qui sont déjà référencées.
Renvoie : les instructions Markdown de la compétence sous forme de contenu, ses fichiers et les compétences auxquelles elle fait référence que le client ne possède pas déjà.
limite de débit : 600 appels par minute et par utilisateur
Enregistrer une compétence
ÉcritureNécessite un plan avec recherche
glen_skill_create
Enregistre une compétence Markdown dans votre bibliothèque, privée jusqu’à ce que vous la partagiez.
name
(string, up to 120)
Nom de la compétence ; le slug est généré à partir de celui-ci.
description
(string, up to 500)
Une ligne indiquant quand l’utiliser.
content
(string, up to 1 MB)
Le contenu du fichier SKILL.md.
files
(array, up to 100, optional)
Scripts, références ou ressources, chacun avec un chemin et un type de contenu.
dependencies
(array, optional)
Identifiants de dépendances existantes, ou nouvelles dépendances (name, description, sourceUrl, kind).
org
(boolean, optional)
true partage la compétence avec toute l’organisation.
update
(boolean, optional)
true remplace votre compétence portant le même nom.
Renvoie : le slug, si une compétence existante a été mise à jour et si elle est partagée avec l’organisation.
limite de débit : 600 appels par minute et par utilisateur
Supprimer une compétence
Suppression
glen_skill_delete
Supprime définitivement une compétence que vous avez créée. Uniquement à votre demande.
slug
(string)
Une compétence que vous avez créée. Elle est supprimée pour toutes les personnes avec qui elle était partagée.
Renvoie : une confirmation de la suppression de la compétence.
limite de débit : 600 appels par minute et par utilisateur
Artefacts
Les artefacts sont des documents enregistrés (Markdown, ou HTML et CSS sans JavaScript). Ils restent privés pour leur auteur jusqu’à ce qu’ils soient partagés.
Récupérer un artefact
Lecture seule
glen_artifact_get
Récupère un document enregistré à partir de son slug.
slug
(string)
Le slug exact.
Renvoie : le slug, le titre, le format, le contenu intégral, un résumé et l’auteur.
limite de débit : 600 appels par minute et par utilisateur
Enregistrer un artefact
Écriture
glen_artifact_create
Enregistre un document Markdown ou HTML dans votre bibliothèque, privé jusqu’à ce que vous le partagiez.
title
(string, up to 200)
Titre du document ; le slug est généré à partir de celui-ci.
format
(markdown or html)
Le HTML peut inclure du CSS, mais pas de JavaScript.
content
(string, up to 200,000 characters)
Le document.
shareWithOrg
(boolean, optional)
true partage le document avec toute l’organisation.
update
(boolean, optional)
true remplace votre document portant le même titre.
Renvoie : le slug, si un document existant a été mis à jour et s’il est partagé avec l’organisation.
limite de débit : 30 appels par minute et par utilisateur
Supprimer un artefact
Suppression
glen_artifact_delete
Supprime définitivement un document que vous avez créé. Uniquement à votre demande.
slug
(string)
Un document que vous avez créé.
Renvoie : une confirmation de la suppression du document.
limite de débit : 600 appels par minute et par utilisateur
Corrections et importations de mémoire
Préservez l’exactitude du rappel en oubliant les souvenirs erronés, en les restaurant ou en ajoutant d’anciennes conversations d’agent.
Importer une ancienne conversation
Écriture
glen_import
Ajoute une ancienne conversation d’agent à la mémoire de l’équipe, à votre demande.
conversationId
(string)
import:<session id>, identique pour tous les tours d’une même session.
idempotencyKey
(string)
<conversationId>:<turn index>, afin qu’une nouvelle exécution ignore les tours déjà importés.
messages
(array (1 to 100))
Le message de l’utilisateur et la réponse du tour, chacun avec un rôle, un contenu et sa date occurredAt d’origine.
additionalContext
(object, optional)
Le nom de l’agent et l’espace de travail (cwd, branch, repoName, remoteUrl).
Renvoie : si le tour a été enregistré ou avait déjà été importé, et le nombre de messages ajoutés.
limite de débit : 600 appels par minute et par utilisateur
Oublier des éléments probants
Écriture
glen_forget
Empêche qu’un souvenir erroné ou obsolète soit rappelé à nouveau. Peut être annulé avec glen_restore.
references
(string[] (1 to 50))
Références observation:<id> ou message:<id> provenant des sources de recherche.
Renvoie : les références oubliées, celles qui l’étaient déjà et le nombre de souvenirs masqués parce que tous les messages qui les étayaient ont été oubliés.
limite de débit : 600 appels par minute et par utilisateur
Restaurer des éléments probants oubliés
Écriture
glen_restore
Restaure un souvenir qui avait été oublié.
references
(string[] (1 to 50))
Références précédemment oubliées.
Renvoie : les références restaurées, celles qui n’ont nécessité aucun changement et le nombre de souvenirs masqués qui ont été rétablis.
limite de débit : 600 appels par minute et par utilisateur
Paramètres et organisation
Consultez et modifiez vos propres paramètres Glen, affichez vos organisations, invitez des personnes et envoyez des commentaires.
Lister les organisations
Lecture seule
glen_list_orgs
Liste les organisations auxquelles vous appartenez et indique celle utilisée par cette connexion.
Aucune entrée.
Renvoie : vos organisations, avec active: true pour celle utilisée par cette connexion.
limite de débit : 600 appels par minute et par utilisateur
Afficher les paramètres Glen
Lecture seule
glen_status
Affiche votre mode d’enregistrement et indique si les suggestions de compétences sont activées.
Aucune entrée.
Renvoie : votre mode Glen (on, off, incognito ou silent) et indique si les suggestions de compétences sont activées.
limite de débit : 600 appels par minute et par utilisateur
Inviter des collègues
ÉcritureRéservé aux propriétaires et aux administrateurs
glen_invite
Invite des personnes par e-mail dans votre organisation. Réservé aux propriétaires et aux administrateurs.
emails
(string[] (1 to 50))
Personnes à inviter.
role
(member or admin)
La valeur par défaut est member. L’outil ne peut pas créer de propriétaires.
Renvoie : invited, alreadyMember et failed (avec une raison pour chaque échec), ainsi qu’une note lorsque de nouveaux sièges sont facturés.
limite de débit : 600 appels par minute et par utilisateur
Définir le mode Glen
Écriture
glen_set_recording
Bascule votre compte entre les modes on, off, incognito et silent.
mode
(on, off, incognito or silent)
S’applique à votre compte sur chaque machine et dans chaque agent.
Renvoie : le mode enregistré et la date de sa modification.
limite de débit : 600 appels par minute et par utilisateur
Définir les suggestions de compétences
Écriture
glen_set_suggestions
Active ou désactive les propositions de Glen visant à enregistrer ou réutiliser des compétences.
skillCreation
(boolean, optional)
Propose d’enregistrer le travail terminé sous forme de nouvelle compétence.
skillUse
(boolean, optional)
Propose des compétences existantes adaptées à la tâche.
Renvoie : les paramètres enregistrés.
limite de débit : 600 appels par minute et par utilisateur
Indications de comportement
Chaque outil déclare les quatre indications de comportement MCP et un titre. Les clients les consultent pour décider quoi afficher et quoi demander : un client peut exécuter les outils en lecture seule sans demander de confirmation et demander avant toute opération d’écriture ; l’annuaire de connecteurs d’Anthropic classe également les outils comme étant en lecture seule ou en écriture selon ces indications.
readOnlyHint
true lorsque l’outil ne modifie jamais rien. Neuf outils : recherche, recherche de code, recherche et utilisation de compétences, recherche de dépendances, recherche et récupération d’artefacts, liste des organisations et état.
destructiveHint
true lorsqu’un appel peut remplacer, supprimer ou masquer quelque chose, ou modifier les personnes qui peuvent le voir : enregistrer une compétence ou un artefact (update: true remplace le vôtre), partager, supprimer et oublier.
idempotentHint
true lorsque répéter un appel avec les mêmes arguments n’a aucun effet supplémentaire. false pour l’enregistrement d’une compétence ou d’un artefact, l’invitation de personnes et l’envoi de commentaires.
openWorldHint
true pour chaque outil d’écriture, car ses effets dépassent le cadre de la conversation : les collègues voient les compétences partagées et les souvenirs rappelés, les invitations envoient des e-mails et les paramètres s’appliquent sur chaque machine. false pour chaque outil en lecture seule.
| Tool | readOnly | destructive | idempotent | openWorld |
|---|---|---|---|---|
| glen_search | true | false | true | false |
| glen_code_search | true | false | true | false |
| glen_skill_search | true | false | true | false |
| glen_skill_use | true | false | true | false |
| glen_artifact_search | true | false | true | false |
| glen_artifact_get | true | false | true | false |
| glen_dependency_search | true | false | true | false |
| glen_list_orgs | true | false | true | false |
| glen_status | true | false | true | false |
| glen_skill_create | false | true | false | true |
| glen_skill_share | false | true | true | true |
| glen_artifact_create | false | true | false | true |
| glen_artifact_share | false | true | true | true |
| glen_import | false | false | true | true |
| glen_forget | false | true | true | true |
| glen_restore | false | false | true | true |
| glen_invite | false | false | false | true |
| glen_set_recording | false | false | true | true |
| glen_set_suggestions | false | false | true | true |
| glen_feedback | false | false | false | true |
| glen_skill_delete | false | true | true | true |
| glen_artifact_delete | false | true | true | true |
Limites et erreurs
Limites de débit
Les limites sont comptabilisées par utilisateur et par outil. En cas de dépassement, l’outil renvoie une erreur telle que Too many requests. Try again in 20s.
- 60 appels par minute : glen_search, glen_code_search, glen_skill_search, glen_artifact_search.
- 30 appels par minute : glen_artifact_create, qui enregistre un résumé de chaque document.
- 10 appels par heure : glen_feedback.
- 600 appels par minute : tous les autres outils.
Limites de taille
- Le corps d’une requête peut atteindre 4.5 MB, et une requête peut s’exécuter pendant 60 secondes au maximum.
- Le contenu d’une compétence peut atteindre 1 MB, avec jusqu’à 100 fichiers.
- Un artefact peut contenir jusqu’à 200,000 caractères.
- glen_import accepte jusqu’à 100 messages par appel, chacun pouvant contenir jusqu’à 100,000 caractères.
Forfaits
Tous les outils fonctionnent avec le forfait Free, qui peut contenir jusqu’à 15,000 souvenirs. Un espace de travail sans forfait, ou dont le dernier paiement a échoué, peut toujours se connecter et utiliser les outils qui n’effectuent pas de recherche, mais les outils suivants renvoient une erreur :
glen_search, glen_code_search, glen_skill_search, glen_dependency_search, glen_skill_create, glen_artifact_search
L’erreur indique le problème et qui peut le résoudre, par exemple This workspace has no plan. An owner can choose one in Billing. glen_import est refusé de la même manière lorsque l’enregistrement est en pause. Les erreurs des outils ne contiennent jamais de liens ni de proposition d’achat.
Autres erreurs
401sur la requête HTTP : absence d’identifiants, jeton ou clé expiré ou invalide, ou utilisateur qui n’est plus membre. Le client se reconnecte.- Une erreur d’outil avec un message de validation : une entrée ne correspond pas au schéma de l’outil. Le message indique le champ concerné.
- Une erreur d’outil indiquant que l’action n’est pas autorisée : glen_invite lancé par une personne qui n’est ni propriétaire ni administrateur, ou suppression d’une compétence ou d’un document que vous n’avez pas créé.
- Une erreur d’outil indiquant qu’un élément est introuvable : un slug inexistant ou auquel vous n’avez pas accès.
Connexion d’un client
Claude et ChatGPT ont leurs propres guides pas à pas : Glen pour Claude et Glen pour ChatGPT. Tout autre client prenant en charge les serveurs MCP distants avec OAuth n’a besoin que de l’URL.
Claude Code
claude mcp add --transport http glen https://mcp.tryglen.com/mcp
Cursor et clients qui lisent mcp.json
{
"mcpServers": {
"glen": {
"url": "https://mcp.tryglen.com/mcp"
}
}
}
Le client ouvre la page de connexion de Glen lors de sa première connexion. Pour un agent de programmation, le plugin glen est généralement plus adapté : il enregistre les sessions dans la mémoire de l’équipe et, lorsque l’agent le permet, les rappelle à chaque tour. Les plugins accèdent à Glen via la CLI glen et des hooks plutôt que par ces outils ; consultez Glen pour Cursor et Glen pour pi.