DevHub MCP Server

官方

在 DevHub CMS 平台內管理和運用網站內容

文件

DevHub CMS MCP

smithery badge

一個用於管理 DevHub CMS 系統 內容的 模型上下文協定 (MCP) 整合。

安裝

您需要在本地系統上安裝 uv 套件管理器。

Claude Desktop 手動設定

若要將此伺服器與 Claude Desktop 應用程式 搭配使用,請將以下設定新增至您 claude_desktop_config.json 的 "mcpServers" 區段:

{
    "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 安裝

若要透過 Smithery 自動為 Claude Desktop 安裝 DevHub CMS MCP:

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

本地開發

複製儲存庫(或您的分支)

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

Claude Desktop 手動設定

若要將此伺服器與 Claude Desktop 應用程式搭配用於本地開發,請將以下設定新增至您 claude_desktop_config.json 的 "mcpServers" 區段:

{
    "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 帳戶內的所有商家。傳回包含商家 ID 和名稱的商家清單。
  • get_locations(business_id):取得特定商家的所有地點。傳回詳細的地點資訊,包括地址、座標和網址。
  • 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 站點 ID 和詳細資訊。傳回站點 ID、網址和關聯的地點 ID。

內容管理

  • get_blog_post(post_id):透過 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 設計用於與支援模型上下文協定的大型語言模型搭配使用。它讓 LLM 能夠管理 DevHub CMS 中的內容,而無需在 LLM 中原生整合直接的 API 存取。

測試

此套件包含一個測試套件,其中包含對 DevHub API 的模擬請求,讓您無需進行實際 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 整合端點的測試