DevHub MCP Server

официальный

Управление и использование содержимого веб-сайта на платформе CMS DevHub

Документация

DevHub CMS MCP

smithery badge

Интеграция Model Context Protocol (MCP) для управления контентом в системе DevHub CMS.

Установка

Вам потребуется установленный на локальной системе менеджер пакетов uv.

Ручная настройка Claude Desktop

Чтобы использовать этот сервер с приложением Claude Desktop, добавьте следующую конфигурацию в секцию "mcpServers" вашего 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"
            }
        }
    }
}

После обновления конфигурации перезапустите Claude Desktop.

Ручная настройка для Cursor

Этот MCP также можно использовать в Cursor с аналогичной конфигурацией, добавленной в ваше глобальное окружение Cursor или в отдельные проекты.

Примеры здесь

Установка через Claude Code

Командная строка Claude Code поддерживает установку MCP.

Вы можете добавить devhub-cms-mcp, обновив переменные окружения ниже:

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

Установка через Smithery

Чтобы установить DevHub CMS MCP для Claude Desktop автоматически через Smithery:

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

Локальная разработка

Клонирование репозитория (или вашего форка)

git clone [email protected]:devhub/devhub-cms-mcp.git

Ручная настройка Claude Desktop

Чтобы использовать этот сервер с приложением Claude Desktop для локальной разработки, добавьте следующую конфигурацию в секцию "mcpServers" вашего 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"
            }
        }
    }
}

После обновления конфигурации перезапустите Claude Desktop.

Конфигурация для запуска напрямую с uv

Для работы этого MCP необходимо установить следующие переменные окружения:

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

Затем запустите MCP:

uv run main.py

Доступные инструменты

Этот MCP предоставляет следующие инструменты для взаимодействия с DevHub CMS:

Управление компаниями и местоположениями

  • get_businesses(): Получает все компании в аккаунте DevHub. Возвращает список компаний с их идентификаторами и названиями.
  • get_locations(business_id): Получает все местоположения для конкретной компании. Возвращает подробную информацию о местоположении, включая адрес, координаты и URL-адреса.
  • get_hours_of_operation(location_id, hours_type='primary'): Получает часы работы для конкретного местоположения DevHub. Возвращает структурированный список временных диапазонов для каждого дня недели.
  • update_hours(location_id, new_hours, hours_type='primary'): Обновляет часы работы для местоположения DevHub.
  • get_nearest_location(business_id, latitude, longitude): Находит ближайшее местоположение DevHub на основе географических координат.
  • site_from_url(url): Получает идентификатор сайта DevHub и детали из URL-адреса. Возвращает идентификатор сайта, URL и связанные идентификаторы местоположений.

Управление контентом

  • get_blog_post(post_id): Извлекает одну запись блога по идентификатору, включая её заголовок, дату и HTML-содержимое.
  • create_blog_post(site_id, title, content): Создаёт новую запись блога. Содержимое должно быть в формате HTML и не должно включать тег H1.
  • update_blog_post(post_id, title=None, content=None): Обновляет заголовок и/или содержимое существующей записи блога.

Управление медиафайлами

  • upload_image(base64_image_content, filename): Загружает изображение в медиагалерею DevHub. Поддерживаются форматы webp, jpeg и png. Изображение должно быть предоставлено в виде строки в кодировке base64.

Использование с LLM

Этот MCP предназначен для использования с большими языковыми моделями, поддерживающими Model Context Protocol. Он позволяет LLM управлять контентом в DevHub CMS без необходимости прямого доступа к API, интегрированного в LLM нативно.

Тестирование

Этот пакет включает набор тестов с имитацией запросов к API DevHub, что позволяет тестировать функциональность без выполнения реальных вызовов API.

Запуск тестов

Чтобы запустить тесты, сначала установите пакет с зависимостями для тестирования:

uv pip install -e ".[test]"

Запустите тесты с помощью pytest:

uv run pytest

Для более подробного вывода и информации о покрытии тестами:

uv run pytest -v --cov=devhub_cms_mcp

Структура тестов

  • tests/devhub_cms_mcp/test_mcp_integration.py: Тесты для конечных точек интеграции MCP