DevHub MCP Server

resmi

Mengelola dan memanfaatkan konten situs web dalam platform CMS DevHub

Dokumentasi

DevHub CMS MCP

smithery badge

Integrasi Model Context Protocol (MCP) untuk mengelola konten di sistem DevHub CMS.

Instalasi

Anda memerlukan manajer paket uv yang terinstal di sistem lokal Anda.

Konfigurasi manual Claude Desktop

Untuk menggunakan server ini dengan aplikasi Claude Desktop, tambahkan konfigurasi berikut ke bagian "mcpServers" pada claude_desktop_config.json Anda:

{
    "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"
            }
        }
    }
}

Setelah memperbarui konfigurasi, mulai ulang Claude Desktop.

Konfigurasi manual untuk Cursor

MCP ini juga dapat digunakan di Cursor dengan konfigurasi serupa dari atas yang ditambahkan ke lingkungan global Cursor Anda atau ke proyek individual.

Contoh di sini

Menginstal melalui Claude Code

Baris perintah Claude Code mendukung instalasi MCP.

Anda dapat menambahkan devhub-cms-mcp dengan memperbarui variabel lingkungan di bawah ini

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

Menginstal melalui Smithery

Untuk menginstal DevHub CMS MCP untuk Claude Desktop secara otomatis melalui Smithery:

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

Pengembangan lokal

Kloning repositori (atau fork Anda)

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

Konfigurasi manual Claude Desktop

Untuk menggunakan server ini dengan aplikasi Claude Desktop untuk pengembangan lokal, tambahkan konfigurasi berikut ke bagian "mcpServers" pada claude_desktop_config.json Anda:

{
    "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"
            }
        }
    }
}

Setelah memperbarui konfigurasi, mulai ulang Claude Desktop.

Konfigurasi untuk menjalankan dengan uv secara langsung

MCP ini memerlukan variabel lingkungan berikut untuk diatur:

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

Kemudian jalankan MCP

uv run main.py

Alat yang Tersedia

MCP ini menyediakan alat-alat berikut untuk berinteraksi dengan DevHub CMS:

Manajemen Bisnis dan Lokasi

  • get_businesses(): Mendapatkan semua bisnis dalam akun DevHub. Mengembalikan daftar bisnis dengan ID dan nama mereka.
  • get_locations(business_id): Mendapatkan semua lokasi untuk bisnis tertentu. Mengembalikan informasi lokasi terperinci termasuk alamat, koordinat, dan URL.
  • get_hours_of_operation(location_id, hours_type='primary'): Mendapatkan jam operasional untuk lokasi DevHub tertentu. Mengembalikan daftar terstruktur rentang waktu untuk setiap hari dalam seminggu.
  • update_hours(location_id, new_hours, hours_type='primary'): Memperbarui jam operasional untuk lokasi DevHub.
  • get_nearest_location(business_id, latitude, longitude): Menemukan lokasi DevHub terdekat berdasarkan koordinat geografis.
  • site_from_url(url): Mendapatkan ID situs DevHub dan detailnya dari sebuah URL. Mengembalikan ID situs, URL, dan ID lokasi terkait.

Manajemen Konten

  • get_blog_post(post_id): Mengambil satu postingan blog berdasarkan ID, termasuk judul, tanggal, dan konten HTML-nya.
  • create_blog_post(site_id, title, content): Membuat postingan blog baru. Konten harus dalam format HTML dan tidak boleh menyertakan tag H1.
  • update_blog_post(post_id, title=None, content=None): Memperbarui judul dan/atau konten postingan blog yang sudah ada.

Manajemen Media

  • upload_image(base64_image_content, filename): Mengunggah gambar ke galeri media DevHub. Mendukung format webp, jpeg, dan png. Gambar harus disediakan sebagai string yang dienkode base64.

Penggunaan dengan LLM

MCP ini dirancang untuk digunakan dengan Model Bahasa Besar yang mendukung Model Context Protocol. Ini memungkinkan LLM untuk mengelola konten di DevHub CMS tanpa memerlukan akses API langsung yang terintegrasi ke dalam LLM secara native.

Pengujian

Paket ini mencakup rangkaian pengujian dengan permintaan yang di-mock ke API DevHub, memungkinkan Anda menguji fungsionalitas tanpa melakukan panggilan API sebenarnya.

Menjalankan Pengujian

Untuk menjalankan pengujian, pertama instal paket dengan dependensi pengujian:

uv pip install -e ".[test]"

Jalankan pengujian dengan pytest:

uv run pytest

Untuk output yang lebih rinci dan informasi cakupan pengujian:

uv run pytest -v --cov=devhub_cms_mcp

Struktur Pengujian

  • tests/devhub_cms_mcp/test_mcp_integration.py: Pengujian untuk endpoint integrasi MCP