Aller au contenu principal

Implémentation du serveur MCP docStatic

Un serveur Model Context Protocol (MCP) qui fournit aux assistants IA un accès structuré à votre documentation docStatic via le point de terminaison GraphQL de TinaCMS.

Vue d'ensemble

Ce serveur MCP se connecte à votre point de terminaison GraphQL TinaCMS local (http://localhost:4001/graphql) et fournit des outils pour :

  • Rechercher du contenu dans la documentation
  • Récupérer des documents spécifiques
  • Lister tous les documents disponibles
  • Filtrer les documents par balises
  • Analyser l'utilisation des composants MDX
  • Vérifier la connectivité au serveur

Configuration

1. Installer les dépendances

Depuis le répertoire principal de docStatic :

npm install
# Cela installera automatiquement les dépendances du serveur MCP via le hook postinstall

Ou manuellement :

cd mcp-server
npm install

2. Construire le serveur

npm run mcp:build

3. Démarrer votre serveur de développement docStatic

Le serveur MCP nécessite que le point de terminaison GraphQL TinaCMS soit en cours d'exécution :

npm run dev

Cela démarre TinaCMS avec Docusaurus à :

4. Exécuter le serveur MCP

Dans un terminal séparé :

npm run mcp:start

Outils disponibles

search_documents

Rechercher dans la documentation à l'aide de mots-clés.

Paramètres :

  • query (requis) : Terme de recherche
  • limit (facultatif) : Nombre maximum de résultats (par défaut : 20)

Exemple :

{
"query": "installation",
"limit": 10
}

get_document

Récupérer un document spécifique par son chemin.

Paramètres :

  • path (requis) : Chemin relatif vers le document

Exemple :

{
"path": "installation.mdx"
}

list_all_documents

Obtenir une liste de tous les documents disponibles avec leurs métadonnées.

get_documents_by_tag

Filtrer les documents par une balise spécifique.

Paramètres :

  • tag (requis) : Balise à filtrer

Exemple :

{
"tag": "software_content-management-systems_tinacms"
}

analyze_mdx_components

Analyser quels composants MDX sont utilisés dans un document.

Paramètres :

  • path (requis) : Chemin relatif vers le document

check_server_status

Vérifier la connectivité au serveur GraphQL.

Utilisation avec Claude Desktop

Ajoutez cette configuration à vos paramètres MCP de Claude Desktop :

{
"mcpServers": {
"docstatic": {
"command": "node",
"args": ["/path/to/docstatic/mcp-server/dist/server.js"],
"cwd": "/path/to/docstatic"
}
}
}

Développement

Mode surveillance

Pour le développement actif, utilisez le mode surveillance pour reconstruire automatiquement lors des modifications :

cd mcp-server
npm run watch

Construction et exécution manuelles

npm run mcp:build # Construire TypeScript
npm run mcp:start # Démarrer le serveur

Développement avec redémarrage automatique

npm run mcp:dev # Construire et démarrer en une seule commande

Dépannage

Problèmes courants

"GraphQL server is not running"

  • Assurez-vous que npm run dev est en cours d'exécution dans le répertoire principal
  • Vérifiez que http://localhost:4001/graphql est accessible

"Connection refused"

  • Vérifiez que TinaCMS a bien démarré
  • Vérifiez si le port 4001 est bloqué par un pare-feu

"Document not found"

  • Assurez-vous que le document existe dans le répertoire docs/
  • Utilisez des chemins relatifs comme installation.mdx, et non /docs/installation.mdx

Tester le serveur

Tester la connectivité GraphQL :

curl -X POST http://localhost:4001/graphql \
-H "Content-Type: application/json" \
-d '{"query":"{ __typename }"}'

# Réponse attendue :
# {"data":{"__typename":"Query"}}

Architecture

L'architecture du serveur MCP :

docStatic Project
├── docs/ # MDX documentation files
├── mcp-server/ # MCP server implementation
│ ├── src/server.ts # Main server logic
│ ├── package.json # MCP dependencies
│ └── dist/ # Compiled JavaScript
└── tina/ # TinaCMS configuration
└── config.jsx # GraphQL schema definition

Le serveur MCP :

  1. Se connecte au point de terminaison GraphQL de TinaCMS
  2. Exécute des requêtes GraphQL pour récupérer les données des documents
  3. Fournit des réponses structurées via le protocole MCP
  4. Gère les cas d'erreur et les problèmes de connectivité

Intégration avec les assistants IA

Capacités des assistants IA

Ce serveur MCP permet aux assistants IA de :

  • Comprendre la structure de votre documentation
  • Rechercher des sujets ou concepts spécifiques
  • Accéder au contenu complet des documents
  • Analyser les modèles d'utilisation des composants MDX
  • Fournir une assistance contextuelle basée sur votre documentation réelle

Le serveur comprend votre format spécifique à docStatic, notamment :

  • Les métadonnées de l'en-tête (frontmatter)
  • L'utilisation des composants MDX (<Admonition>, <Figure>, etc.)
  • La structure hiérarchique des balises
  • Les états du flux de travail TinaCMS