DevHub MCP Server
officielGérer et utiliser le contenu du site web au sein de la plateforme CMS DevHub.
Documentation
DevHub CMS MCP
Une intégration Model Context Protocol (MCP) pour gérer le contenu dans le système DevHub CMS.
Installation
Vous aurez besoin du gestionnaire de paquets uv installé sur votre système local.
Configuration manuelle de Claude Desktop
Pour utiliser ce serveur avec l'application Claude Desktop, ajoutez la configuration suivante à la section "mcpServers" de votre claude_desktop_config.json :
{
"mcpServers": {
"devhub_cms_mcp": {
"command": "uvx",
"args": [
"devhub-cms-mcp"
],
"env": {
"DEVHUB_API_KEY": "YOUR_KEY_HERE",
"DEVHUB_API_SECRET": "YOUR_SECRET_HERE",
"DEVHUB_BASE_URL": "https://yourbrand.cloudfrontend.net"
}
}
}
}
Après avoir mis à jour la configuration, redémarrez Claude Desktop.
Configuration manuelle pour Cursor
Ce MCP peut également être utilisé dans Cursor avec une configuration similaire à celle ci-dessus, ajoutée à votre environnement global Cursor ou à des projets individuels.
Exemples ici
Installation via Claude Code
La ligne de commande de Claude Code prend en charge les installations MCP.
Vous pouvez ajouter le devhub-cms-mcp en mettant à jour les variables d'environnement ci-dessous
claude mcp add devhub-cms-mcp \
-e DEVHUB_API_KEY=YOUR_KEY_HERE \
-e DEVHUB_API_SECRET=YOUR_SECRET_HERE \
-e DEVHUB_BASE_URL=https://yourbrand.cloudfrontend.net \
-- uvx devhub-cms-mcp
Installation via Smithery
Pour installer automatiquement DevHub CMS MCP pour Claude Desktop via Smithery :
npx -y @smithery/cli install @devhub/devhub-cms-mcp --client claude
Développement local
Cloner le dépôt (ou votre fork)
git clone [email protected]:devhub/devhub-cms-mcp.git
Configuration manuelle de Claude Desktop
Pour utiliser ce serveur avec l'application Claude Desktop pour le développement local, ajoutez la configuration suivante à la section "mcpServers" de votre claude_desktop_config.json :
{
"mcpServers": {
"devhub_cms_mcp": {
"command": "uv",
"args": [
"--directory",
"/YOUR/LOCAL/PATH/devhub-cms-mcp/",
"run",
"main.py"
],
"env": {
"DEVHUB_API_KEY": "YOUR_KEY_HERE",
"DEVHUB_API_SECRET": "YOUR_SECRET_HERE",
"DEVHUB_BASE_URL": "https://yourbrand.cloudfrontend.net"
}
}
}
}
Après avoir mis à jour la configuration, redémarrez Claude Desktop.
Configuration pour l'exécution directe avec uv
Ce MCP nécessite que les variables d'environnement suivantes soient définies :
export DEVHUB_API_KEY="your_api_key"
export DEVHUB_API_SECRET="your_api_secret"
export DEVHUB_BASE_URL="https://yourbrand.cloudfrontend.net"
Ensuite, exécutez le MCP
uv run main.py
Outils disponibles
Ce MCP fournit les outils suivants pour interagir avec DevHub CMS :
Gestion des entreprises et des emplacements
- get_businesses() : Récupère toutes les entreprises du compte DevHub. Renvoie une liste d'entreprises avec leurs identifiants et noms.
- get_locations(business_id) : Récupère tous les emplacements pour une entreprise spécifique. Renvoie des informations détaillées sur l'emplacement, y compris l'adresse, les coordonnées et les URL.
- get_hours_of_operation(location_id, hours_type='primary') : Récupère les heures d'ouverture pour un emplacement DevHub spécifique. Renvoie une liste structurée de plages horaires pour chaque jour de la semaine.
- update_hours(location_id, new_hours, hours_type='primary') : Met à jour les heures d'ouverture pour un emplacement DevHub.
- get_nearest_location(business_id, latitude, longitude) : Trouve l'emplacement DevHub le plus proche en fonction des coordonnées géographiques.
- site_from_url(url) : Récupère l'identifiant du site DevHub et les détails à partir d'une URL. Renvoie l'identifiant du site, l'URL et les identifiants d'emplacement associés.
Gestion de contenu
- get_blog_post(post_id) : Récupère un article de blog unique par son identifiant, y compris son titre, sa date et son contenu HTML.
- create_blog_post(site_id, title, content) : Crée un nouvel article de blog. Le contenu doit être au format HTML et ne doit pas inclure de balise H1.
- update_blog_post(post_id, title=None, content=None) : Met à jour le titre et/ou le contenu d'un article de blog existant.
Gestion des médias
- upload_image(base64_image_content, filename) : Télécharge une image dans la galerie média DevHub. Prend en charge les formats webp, jpeg et png. L'image doit être fournie sous forme de chaîne encodée en base64.
Utilisation avec les LLM
Ce MCP est conçu pour être utilisé avec les grands modèles de langage qui prennent en charge le Model Context Protocol. Il permet aux LLM de gérer le contenu dans DevHub CMS sans avoir besoin d'un accès direct à l'API intégré nativement au LLM.
Tests
Ce package inclut une suite de tests avec des requêtes simulées vers l'API DevHub, vous permettant de tester la fonctionnalité sans effectuer d'appels API réels.
Exécution des tests
Pour exécuter les tests, installez d'abord le package avec les dépendances de test :
uv pip install -e ".[test]"
Exécutez les tests avec pytest :
uv run pytest
Pour une sortie plus détaillée et des informations sur la couverture des tests :
uv run pytest -v --cov=devhub_cms_mcp
Structure des tests
tests/devhub_cms_mcp/test_mcp_integration.py: Tests pour les points de terminaison d'intégration MCP