DevHub
官方在 DevHub CMS 平台內管理和運用網站內容
你可以用 DevHub MCP 做什麼?
- 列出商家與地點 — 使用
get_businesses擷取帳戶中的所有商家,並透過get_locations取得其地點。 - 尋找最近的地點 — 使用
get_nearest_location搭配座標,找出最近的商店或辦公室。 - 管理營業時間 — 透過
get_hours_of_operation查看目前營業時間,並使用update_hours進行更新。 - 建立與更新部落格文章 — 使用
create_blog_post發布新文章,或透過update_blog_post編輯現有文章。 - 上傳圖片至媒體庫 — 將 base64 內容傳遞給
upload_image,即可新增 webp、jpeg 或 png 格式的圖片。
文件
DevHub CMS MCP
一個用於管理 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 git@github.com: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 整合端點的測試