DevHub MCP Server

oficial

Gestionar y utilizar contenido web dentro de la plataforma CMS DevHub.

Documentación

DevHub CMS MCP

smithery badge

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