remote-capable server
The server can be hosted and run remotely because it primarily relies on remote services or has no dependency on the local environment.
Integrations
Integrates with Contentful's Content Management API, providing comprehensive content management capabilities including entry and asset management, space management, content type management, localization support, and publishing workflow control.
콘텐츠가 풍부한 MCP 서버
Contentful의 콘텐츠 관리 API와 통합되어 포괄적인 콘텐츠 관리 기능을 제공하는 MCP 서버 구현입니다.
- 주의 사항 *; 코드에 관심이 없고 Claude Desktop(또는 MCP 서버를 사용할 수 있는 다른 도구)에서 이 MCP를 사용하려는 경우 이 저장소를 복제할 필요가 없으며 Claude Desktop에서 설정하기만 하면 됩니다. 설치 방법에 대한 지침은 "Claude Desktop 사용" 섹션을 참조하세요.
특징
- 콘텐츠 관리 : 항목 및 자산에 대한 전체 CRUD 작업
- 공간 관리 : 공간과 환경을 생성, 업데이트 및 관리합니다.
- 콘텐츠 유형 : 콘텐츠 유형 정의 관리
- 현지화 : 여러 로캘 지원
- 게시 : 콘텐츠 게시 워크플로 제어
- 대량 작업 : 여러 항목 및 자산에 대한 대량 게시, 게시 취소 및 검증을 실행합니다.
- 스마트 페이징 : 목록 작업은 컨텍스트 창 오버플로를 방지하기 위해 요청당 최대 3개 항목을 반환하며, 내장된 페이징 지원이 제공됩니다.
쪽수 매기기
LLM에서 컨텍스트 창 오버플로를 방지하기 위해 목록 작업(예: search_entries 및 list_assets)은 요청당 3개 항목으로 제한됩니다. 각 응답에는 다음이 포함됩니다.
- 사용 가능한 항목의 총 수
- 현재 항목 페이지(최대 3개)
- 남은 항목 수
- 다음 페이지로 건너뛰기 값
- LLM에 추가 항목 검색을 제안하는 메시지
이 페이지 분할 시스템을 사용하면 LLM이 컨텍스트 창 제한을 유지하면서도 대규모 데이터 세트를 효율적으로 처리할 수 있습니다.
대량 작업
대량 작업 기능은 여러 콘텐츠 항목을 동시에 효율적으로 관리할 수 있도록 해줍니다.
- 비동기 처리 : 작업이 비동기적으로 실행되고 상태 업데이트를 제공합니다.
- 효율적인 콘텐츠 관리 : 단일 API 호출로 여러 항목 또는 자산 처리
- 상태 추적 : 성공 및 실패 횟수를 통해 진행 상황을 모니터링합니다.
- 리소스 최적화 : API 호출을 줄이고 일괄 작업의 성능을 향상시킵니다.
이러한 대량 작업 도구는 콘텐츠 마이그레이션, 대량 업데이트 또는 일괄 게시 워크플로에 이상적입니다.
도구
출입 관리
- search_entries : 쿼리 매개변수를 사용하여 항목 검색
- create_entry : 새 항목 만들기
- get_entry : 기존 항목 검색
- update_entry : 항목 필드 업데이트
- delete_entry : 항목 제거
- publish_entry : 항목 게시
- unpublish_entry : 항목 게시 취소
대량 작업
- bulk_publish : 단일 작업으로 여러 항목과 에셋을 게시합니다. 엔터티(항목 및 에셋) 배열을 받아서 일괄적으로 게시합니다.
- bulk_unpublish : 여러 항목과 에셋을 한 번에 게시 취소합니다. bulk_publish와 유사하지만 전송 API에서 콘텐츠를 제거합니다.
- bulk_validate : 콘텐츠 일관성, 참조 및 필수 필드에 대해 여러 항목의 유효성을 검사합니다. 콘텐츠를 수정하지 않고 유효성 검사 결과를 반환합니다.
자산 관리
- list_assets : 페이지별로 자산 목록 표시(페이지당 3개 항목)
- upload_asset : 메타데이터를 포함한 새로운 자산 업로드
- get_asset : 자산 세부 정보 및 정보를 검색합니다.
- update_asset : 자산 메타데이터 및 파일 업데이트
- delete_asset : 공간에서 자산 제거
- publish_asset : 전달 API에 자산 게시
- unpublish_asset : 전달 API에서 자산 게시 취소
우주 및 환경 관리
- list_spaces : 사용 가능한 공간 나열
- get_space : 공간 세부 정보 가져오기
- list_environments : 공간의 환경 나열
- create_environment : 새로운 환경을 생성합니다
- delete_environment : 환경 제거
콘텐츠 유형 관리
- list_content_types : 사용 가능한 콘텐츠 유형 나열
- get_content_type : 콘텐츠 유형 세부 정보 가져오기
- create_content_type : 새로운 콘텐츠 유형을 만듭니다.
- update_content_type : 콘텐츠 유형 업데이트
- delete_content_type : 콘텐츠 유형 제거
- publish_content_type : 콘텐츠 유형을 게시합니다
개발 도구
MCP 검사관
이 프로젝트에는 개발 및 디버깅에 도움이 되는 MCP Inspector 도구가 포함되어 있습니다.
- 검사 모드 :
npm run inspect
실행하여 검사기를 시작합니다. http://localhost:5173 으로 이동하여 검사기를 열 수 있습니다. - 감시 모드 :
npm run inspect:watch
사용하여 파일이 변경될 때 검사기를 자동으로 다시 시작합니다. - 시각적 인터페이스 : 검사기는 MCP 도구를 테스트하고 디버깅하기 위한 웹 인터페이스를 제공합니다.
- 실시간 테스트 : 도구를 사용해 보고 즉각적인 반응을 확인하세요
- 대량 작업 테스트 : 진행 상황 및 결과에 대한 시각적 피드백을 통해 대량 작업을 테스트하고 모니터링합니다.
이 프로젝트에는 모든 변경 사항에서 MCP 서버를 다시 빌드하고 다시 로드하는 npm run dev
명령도 포함되어 있습니다.
구성
필수 조건
- Contentful 에서 Contentful 계정을 만드세요
- 계정 설정에서 콘텐츠 관리 API 토큰을 생성합니다.
환경 변수
이러한 변수는 인수로 설정할 수도 있습니다.
CONTENTFUL_HOST
/--host
: Contentful 관리 API 엔드포인트(기본값은 https://api.contentful.com )CONTENTFUL_MANAGEMENT_ACCESS_TOKEN
/--management-token
: 콘텐츠 관리 API 토큰
우주 및 환경 범위(실험적)
LLM이 정의된 공간/환경 ID에 대해서만 작업을 수행하도록 spaceId와 EnvironmentId의 범위를 지정할 수 있습니다. 이는 주로 특정 공간 내에서 작업하는 에이전트를 지원하기 위한 것입니다. SPACE_ID
와 ENVIRONMENT_ID
환경 변수가 모두 설정된 경우, 도구는 이러한 값이 필요하지 않다고 보고하고 핸들러는 환경 변수를 사용하여 CMA 작업을 수행합니다. 또한 이러한 도구는 여러 공간에 분산되어 있으므로 공간 핸들러의 도구에 대한 액세스 권한을 잃게 됩니다. --space-id
및 --environment-id
인수를 사용하여 SPACE_ID
와 ENVIRONMENT_ID
추가할 수도 있습니다.
앱 ID 사용
관리 토큰을 제공하는 대신 앱 ID를 활용하여 인증을 처리할 수도 있습니다. Contentful 앱을 설정하고 설치한 후 MCP 서버를 호출할 때 다음 매개변수를 설정해야 합니다.
--app-id
= Apptoken을 제공하는 앱 ID--private-key
= 앱의 사용자 인터페이스에서 생성한 개인 키로app_id
에 연결됨--space-id
= 앱이 설치된 spaceId--environment-id
= 앱이 설치된 환경 ID(공간 내)입니다.
이러한 값을 사용하면 MCP 서버는 정의된 공간/환경 ID에서 콘텐츠 작업을 수행하기 위해 임시 AppToken을 요청합니다. 이는 특히 MCP 클라이언트(예: 채팅 에이전트) 역할을 하는 백엔드 시스템에서 이 MCP 서버를 사용할 때 유용합니다.
Claude Desktop과 함께 사용
이 MCP를 사용하려면 이 저장소를 복제할 필요가 없습니다. 간단히 claude_desktop_config.json
에 추가하면 됩니다.
~/Library/Application Support/Claude/claude_desktop_config.json
추가하거나 편집하고 다음 줄을 추가합니다.
지엑스피1
MCPClient가 환경 변수 설정을 지원하지 않는 경우 다음과 같은 인수를 사용하여 관리 토큰을 설정할 수도 있습니다.
Smithery를 통해 설치
Smithery 를 통해 Claude Desktop용 Contentful Management Server를 자동으로 설치하려면:
Claude 데스크톱 개발 및 사용
만약 당신이 기여하고 클로드가 당신의 기여로 무엇을 하는지 시험하고 싶다면;
npm run dev
실행하면 모든 변경 사항에서 MCP 서버를 다시 빌드하는 감시자가 시작됩니다.- 프로젝트를 직접 참조하도록
claude_desktop_config.json
업데이트합니다. 즉,
이렇게 하면 Claude를 사용하여 MCP 서버에서 수정 사항을 직접 테스트할 수 있습니다. 그러나 새 도구/리소스를 추가하는 경우 Claude Desktop을 다시 시작해야 합니다.
오류 처리
서버는 다음에 대한 포괄적인 오류 처리를 구현합니다.
- 인증 실패
- 속도 제한
- 잘못된 요청
- 네트워크 문제
- API 관련 오류
특허
MIT 라이센스
세부 사항
이 MCP 서버는 Claude(또는 MCP 리소스를 사용할 수 있는 다른 에이전트)가 콘텐츠, 스페이스 및 콘텐츠 모델을 업데이트하고 삭제할 수 있도록 합니다. 따라서 Claude가 Contentful 스페이스에서 어떤 작업을 할 수 있는지 신중하게 고려해야 합니다!
You must be authenticated.
Tools
Contentful Space에서 콘텐츠, 콘텐츠 모델 및 자산을 업데이트, 생성, 삭제합니다.