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): 특정 비즈니스의 모든 위치를 가져옵니다. 주소, 좌표, 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는 모델 컨텍스트 프로토콜을 지원하는 대규모 언어 모델과 함께 사용하도록 설계되었습니다. 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 통합 엔드포인트에 대한 테스트