DevHub MCP Server
官方在 DevHub CMS 平台內管理和運用網站內容
文件
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 [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 整合端點的測試