DevHub MCP Server
oficialGestionar y utilizar contenido web dentro de la plataforma CMS DevHub.
Documentación
DevHub CMS MCP
Una integración del Protocolo de Contexto de Modelo (MCP) para gestionar contenido en el sistema DevHub CMS.
Instalación
Necesitarás tener instalado el gestor de paquetes uv en tu sistema local.
Configuración manual de Claude Desktop
Para usar este servidor con la aplicación de escritorio Claude, añade la siguiente configuración a la sección "mcpServers" de tu 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"
}
}
}
}
Después de actualizar la configuración, reinicia Claude Desktop.
Configuración manual para Cursor
Este MCP también puede usarse en Cursor con una configuración similar a la anterior, añadida a tu entorno global de Cursor o a proyectos individuales.
Ejemplos aquí
Instalación mediante Claude Code
La línea de comandos de Claude Code soporta instalaciones MCP.
Puedes añadir el devhub-cms-mcp actualizando las variables de entorno a continuación:
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
Instalación mediante Smithery
Para instalar DevHub CMS MCP para Claude Desktop automáticamente a través de Smithery:
npx -y @smithery/cli install @devhub/devhub-cms-mcp --client claude
Desarrollo local
Clonar el repositorio (o tu fork)
git clone [email protected]:devhub/devhub-cms-mcp.git
Configuración manual de Claude Desktop
Para usar este servidor con la aplicación de escritorio Claude para desarrollo local, añade la siguiente configuración a la sección "mcpServers" de tu 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"
}
}
}
}
Después de actualizar la configuración, reinicia Claude Desktop.
Configuración para ejecutar con uv directamente
Este MCP requiere que se establezcan las siguientes variables de entorno:
export DEVHUB_API_KEY="your_api_key"
export DEVHUB_API_SECRET="your_api_secret"
export DEVHUB_BASE_URL="https://yourbrand.cloudfrontend.net"
Luego ejecuta el MCP:
uv run main.py
Herramientas disponibles
Este MCP proporciona las siguientes herramientas para interactuar con DevHub CMS:
Gestión de negocios y ubicaciones
- get_businesses(): Obtiene todos los negocios dentro de la cuenta DevHub. Devuelve una lista de negocios con sus IDs y nombres.
- get_locations(business_id): Obtiene todas las ubicaciones de un negocio específico. Devuelve información detallada de la ubicación, incluyendo dirección, coordenadas y URLs.
- get_hours_of_operation(location_id, hours_type='primary'): Obtiene el horario de atención de una ubicación específica de DevHub. Devuelve una lista estructurada de rangos horarios para cada día de la semana.
- update_hours(location_id, new_hours, hours_type='primary'): Actualiza el horario de atención de una ubicación de DevHub.
- get_nearest_location(business_id, latitude, longitude): Encuentra la ubicación DevHub más cercana basándose en coordenadas geográficas.
- site_from_url(url): Obtiene el ID del sitio DevHub y sus detalles a partir de una URL. Devuelve el ID del sitio, la URL y los IDs de ubicación asociados.
Gestión de contenido
- get_blog_post(post_id): Recupera una única entrada de blog por su ID, incluyendo su título, fecha y contenido HTML.
- create_blog_post(site_id, title, content): Crea una nueva entrada de blog. El contenido debe estar en formato HTML y no debe incluir una etiqueta H1.
- update_blog_post(post_id, title=None, content=None): Actualiza el título y/o contenido de una entrada de blog existente.
Gestión de medios
- upload_image(base64_image_content, filename): Sube una imagen a la galería multimedia de DevHub. Soporta formatos webp, jpeg y png. La imagen debe proporcionarse como una cadena codificada en base64.
Uso con LLMs
Este MCP está diseñado para usarse con Modelos de Lenguaje de Gran Escala que soporten el Protocolo de Contexto de Modelo. Permite a los LLMs gestionar contenido en DevHub CMS sin necesidad de acceso directo a la API integrado nativamente en el LLM.
Pruebas
Este paquete incluye un conjunto de pruebas con solicitudes simuladas a la API de DevHub, lo que permite probar la funcionalidad sin realizar llamadas reales a la API.
Ejecución de pruebas
Para ejecutar las pruebas, primero instala el paquete con las dependencias de prueba:
uv pip install -e ".[test]"
Ejecuta las pruebas con pytest:
uv run pytest
Para una salida más detallada e información de cobertura de pruebas:
uv run pytest -v --cov=devhub_cms_mcp
Estructura de pruebas
tests/devhub_cms_mcp/test_mcp_integration.py: Pruebas para los endpoints de integración MCP