DevHub
oficialGerenciar 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_businessese seus locais comget_locations. - Encontrar o local mais próximo — Use
get_nearest_locationcom 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_operatione atualize-os comupdate_hours. - Criar e atualizar postagens de blog — Publique novas postagens com
create_blog_postou edite as existentes usandoupdate_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
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