DevHub

oficial

Gerenciar e utilizar conteúdo de sites dentro da plataforma CMS DevHub

O que você pode fazer com DevHub MCP?

  • Listar empresas e locais — Recupere todas as empresas da sua conta com get_businesses e seus locais com get_locations.
  • Encontrar o local mais próximo — Use get_nearest_location com coordenadas para identificar a loja ou escritório mais próximo.
  • Gerenciar horários de funcionamento — Visualize os horários atuais via get_hours_of_operation e atualize-os com update_hours.
  • Criar e atualizar postagens de blog — Publique novas postagens com create_blog_post ou edite as existentes usando update_blog_post.
  • Enviar imagens para a galeria de mídia — Adicione imagens webp, jpeg ou png passando conteúdo base64 para upload_image.

Documentação

DevHub CMS MCP

smithery badge

Uma integração Model Context Protocol (MCP) para gerenciar conteúdo no sistema DevHub CMS.

Instalação

Você precisará do gerenciador de pacotes uv instalado em seu sistema local.

Configuração manual do Claude Desktop

Para usar este servidor com o aplicativo Claude Desktop, adicione a seguinte configuração à seção "mcpServers" do seu 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"
            }
        }
    }
}

Após atualizar a configuração, reinicie o Claude Desktop.

Configuração manual para o Cursor

Este MCP também pode ser usado no Cursor com uma configuração similar à acima, adicionada ao ambiente global do seu Cursor ou a projetos individuais.

Exemplos aqui

Instalando via Claude Code

A linha de comando do Claude Code oferece suporte à instalação de MCPs.

Você pode adicionar o devhub-cms-mcp atualizando as variáveis de ambiente abaixo

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

Instalando via Smithery

Para instalar o DevHub CMS MCP para Claude Desktop automaticamente via Smithery:

npx -y @smithery/cli install @devhub/devhub-cms-mcp --client claude

Desenvolvimento local

Clone o repositório (ou seu fork)

git clone git@github.com:devhub/devhub-cms-mcp.git

Configuração manual do Claude Desktop

Para usar este servidor com o aplicativo Claude Desktop para desenvolvimento local, adicione a seguinte configuração à seção "mcpServers" do seu 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"
            }
        }
    }
}

Após atualizar a configuração, reinicie o Claude Desktop.

Configuração para executar com uv diretamente

Este MCP requer que as seguintes variáveis de ambiente sejam definidas:

export DEVHUB_API_KEY="your_api_key"
export DEVHUB_API_SECRET="your_api_secret"
export DEVHUB_BASE_URL="https://yourbrand.cloudfrontend.net"

Em seguida, execute o MCP

uv run main.py

Ferramentas Disponíveis

Este MCP fornece as seguintes ferramentas para interagir com o DevHub CMS:

Gerenciamento de Negócios e Localizações

  • get_businesses(): Obtém todos os negócios dentro da conta DevHub. Retorna uma lista de negócios com seus IDs e nomes.
  • get_locations(business_id): Obtém todas as localizações de um negócio específico. Retorna informações detalhadas da localização, incluindo endereço, coordenadas e URLs.
  • get_hours_of_operation(location_id, hours_type='primary'): Obtém os horários de funcionamento de uma localização DevHub específica. Retorna uma lista estruturada de intervalos de tempo para cada dia da semana.
  • update_hours(location_id, new_hours, hours_type='primary'): Atualiza os horários de funcionamento de uma localização DevHub.
  • get_nearest_location(business_id, latitude, longitude): Encontra a localização DevHub mais próxima com base em coordenadas geográficas.
  • site_from_url(url): Obtém o ID do site DevHub e detalhes a partir de uma URL. Retorna o ID do site, URL e IDs de localização associados.

Gerenciamento de Conteúdo

  • get_blog_post(post_id): Recupera uma única postagem de blog pelo ID, incluindo seu título, data e conteúdo HTML.
  • create_blog_post(site_id, title, content): Cria uma nova postagem de blog. O conteúdo deve estar em formato HTML e não deve incluir uma tag H1.
  • update_blog_post(post_id, title=None, content=None): Atualiza o título e/ou conteúdo de uma postagem de blog existente.

Gerenciamento de Mídia

  • upload_image(base64_image_content, filename): Faz upload de uma imagem para a galeria de mídia do DevHub. Suporta os formatos webp, jpeg e png. A imagem deve ser fornecida como uma string codificada em base64.

Uso com LLMs

Este MCP foi projetado para ser usado com Modelos de Linguagem de Grande Escala que suportam o Model Context Protocol. Ele permite que LLMs gerenciem conteúdo no DevHub CMS sem precisar de acesso direto à API integrado nativamente ao LLM.

Testes

Este pacote inclui um conjunto de testes com requisições simuladas para a API do DevHub, permitindo que você teste a funcionalidade sem fazer chamadas de API reais.

Executando Testes

Para executar os testes, primeiro instale o pacote com as dependências de teste:

uv pip install -e ".[test]"

Execute os testes com pytest:

uv run pytest

Para saída mais detalhada e informações de cobertura de teste:

uv run pytest -v --cov=devhub_cms_mcp

Estrutura de Testes

  • tests/devhub_cms_mcp/test_mcp_integration.py: Testes para endpoints de integração MCP