DevHub MCP Server
公式DevHub CMSプラットフォーム内でウェブサイトコンテンツを管理・活用する
ドキュメント
DevHub CMS MCP
DevHub CMSシステムのコンテンツを管理するためのModel Context Protocol (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経由でDevHub CMS MCPをClaude Desktopに自動インストールするには:
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): 特定のビジネスのすべてのロケーションを取得します。住所、座標、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): URLからDevHubサイトIDと詳細を取得します。サイトID、URL、関連するロケーション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は、Model Context Protocolをサポートする大規模言語モデルでの使用を想定して設計されています。LLMがネイティブに統合された直接のAPIアクセスを必要とせずに、DevHub CMSのコンテンツを管理できるようにします。
テスト
このパッケージには、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統合エンドポイントのテスト