esa MCP Server
officielServeur officiel du Model Context Protocol (MCP) pour esa.io - version de transport STDIO.
Documentation
Serveur MCP esa
日本語 | English
Serveur officiel Model Context Protocol (MCP) pour esa.io - version transport STDIO.
Aperçu
Ce serveur MCP fournit une intégration transparente entre les assistants IA et esa.io, une plateforme de documentation collaborative. Il permet aux assistants IA de lire, créer, mettre à jour et gérer les documents esa directement via le Model Context Protocol.
Outils disponibles
Gestion d'équipe
esa_get_teams- Obtenir les équipes esa accessibles par l'utilisateuresa_get_team_stats- Obtenir les statistiques d'équipe (membres, publications, commentaires, étoiles, surveillances, utilisateurs actifs)esa_get_team_tags- Obtenir tous les tags utilisés dans les publications d'équipe avec leur nombreesa_get_team_members- Obtenir les membres de l'équipe avec leurs rôles et informations de profil
Gestion des publications
esa_search_posts- Rechercher des publications dans esa.ioesa_get_post- Obtenir une publication spécifique par son numéro (inclutbacklinks_countetbody_md_statsavec le nombre de caractères et de lignes du corps)esa_get_post_backlinks- Lister les publications qui référencent une publication spécifique avec paginationesa_create_post- Créer une nouvelle publication avec tags, catégorie et statut WIPesa_update_post- Mettre à jour une publication existante (titre, contenu, tags, catégorie, statut WIP)esa_append_post- Ajouter du contenu à la fin du corps d'une publication (pas besoin de récupérer le corps actuel ; enregistré comme une nouvelle révision)esa_prepend_post- Ajouter du contenu au début du corps d'une publication (pas besoin de récupérer le corps actuel ; enregistré comme une nouvelle révision)
Actions sur les publications
esa_archive_post- Archiver une publication en la déplaçant dans la catégorie Archived/esa_ship_post- Expédier une publication (marquer comme terminée en passant wip à false)esa_duplicate_post- Dupliquer une publication (créer une nouvelle publication WIP avec le même titre et corps ; la duplication inter-équipe est également prise en charge)
Gestion des commentaires
esa_get_comment- Obtenir un commentaire spécifique par IDesa_create_comment- Créer un nouveau commentaire sur une publicationesa_update_comment- Mettre à jour un commentaire existantesa_delete_comment- Supprimer un commentaireesa_get_post_comments- Obtenir les commentaires d'une publication spécifique avec paginationesa_get_team_comments- Obtenir les commentaires d'équipe avec pagination
Gestion des catégories
esa_get_categories- Obtenir les catégories et sous-catégories pour un chemin spécifiqueesa_get_top_categories- Obtenir toutes les catégories de premier niveau pour une équipeesa_get_all_category_paths- Obtenir tous les chemins de catégories dans une équipe (avec le nombre de publications, filtrage possible)- Parfait pour comprendre la structure des catégories, la planification de l'organisation et le nettoyage
- Exemples de filtres :
prefix: "dev"pour le développement,match: "api"pour les catégories liées à l'API
Pièces jointes
esa_get_attachment- Récupérer un fichier joint depuis les publications et commentaires esa- Renvoie les données encodées en base64 pour les images prises en charge (JPEG, PNG, GIF, WebP) de moins de 30 Mo
- Renvoie des URL signées (valides 5 minutes) pour les autres types de fichiers, les images plus volumineuses ou lorsque forceSignedUrl est spécifié
Aide et documentation
esa_get_search_options_help- Obtenir la documentation sur la syntaxe de recherche esaesa_get_markdown_syntax_help- Obtenir la documentation sur la syntaxe Markdown esaesa_search_help- Rechercher dans la documentation esa des fonctionnalités et de la terminologie
Ressources disponibles
esa_recent_posts- Récupérer les publications récemment mises à jour de l'équipe esa- Modèle :
esa://teams/{teamName}/posts/recent - Renvoie : Liste JSON des publications récemment mises à jour
- Modèle :
Invites disponibles
esa_summarize_post- Résumer le contenu d'une publication esa- Entrée : Nom de l'équipe et numéro de publication
- Sortie : Résumé structuré du contenu de la publication
Configuration du client MCP
Ajoutez à votre fichier de configuration client MCP :
Variables d'environnement requises
- ESA_ACCESS_TOKEN : Jeton d'accès
- Portées requises :
read writeouadmin:comment read:post write:post read:category read:tag read:attachment read:team read:member - PAT v2 est recommandé.
- Portées requises :
- LANG : Langue pour l'interface utilisateur
Exemple pour Claude Desktop
Ajoutez à claude_desktop_config.json :
Option 1 : Docker (recommandé)
{
"mcpServers": {
"esa": {
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"-e",
"ESA_ACCESS_TOKEN",
"-e",
"LANG",
"ghcr.io/esaio/esa-mcp-server"
],
"env": {
"ESA_ACCESS_TOKEN": "your_personal_access_token",
"LANG": "en"
}
}
}
}
Option 2 : npx
{
"mcpServers": {
"esa": {
"command": "/Users/your-username/.nodenv/shims/npx",
"args": ["@esaio/esa-mcp-server"],
"env": {
"ESA_ACCESS_TOKEN": "your_personal_access_token",
"LANG": "en"
}
}
}
}
Remarque : Remplacez
/path/to/your/nodepar la sortie de la commandewhich node.
Registre
Ce paquet fournit registry.json à la racine du paquet, exposant les outils, ressources et invites enregistrés. Il peut être consommé de manière programmatique sans lancer le serveur :
import registry from "@esaio/esa-mcp-server/registry.json" with { type: "json" };
Schéma :
{
"tools": [{ "name": "esa_get_teams" }, "..."],
"resources": [
{ "name": "esa_recent_posts", "uriTemplate": "esa://teams/{teamName}/posts/recent" }
],
"prompts": [{ "name": "esa_summarize_post" }]
}
Le fichier est régénéré par npm run build:registry et une vérification CI garantit qu'il reste synchronisé avec l'ensemble enregistré.
Liens
- esa.io - La plateforme de documentation collaborative
- Model Context Protocol - En savoir plus sur MCP
- Documentation API - Référence de l'API esa.io
- Claude Desktop - Assistant IA avec support MCP
Support
- 📧 Support : Formulaire de commentaires
- 🐛 Problèmes : Problèmes GitHub
- 📖 Aide : Docs esa
Fait avec ❤️ par l'équipe esa