Integrations
Supports configuration through environment variables for storing Ghost API credentials and server settings.
Optionally integrates with 1Password CLI for securely storing and accessing Ghost API credentials.
Implements a REST API server alongside the MCP server functionality.
고스트 MCP 서버
이 프로젝트( ghost-mcp-server
)는 정의된 도구를 통해 MCP 클라이언트(예: Cursor 또는 Claude Desktop)가 Ghost CMS 인스턴스와 상호 작용할 수 있도록 하는 MCP(Model Context Protocol) 서버를 구현합니다.
요구 사항
- Node.js 14.0.0 이상
- Ghost Admin API URL 및 키
Ghost MCP 서버 세부 정보
이 서버는 Ghost CMS 관리 기능을 MCP 도구로 제공하여 Cursor나 Claude Desktop과 같은 AI 클라이언트가 Ghost 블로그를 관리할 수 있도록 합니다.
MCP 클라이언트는 실행 중인 MCP 서버(기본적으로 3001번 포트에서 수신 대기)의 루트 엔드포인트(예: http://localhost:3001/
)에 쿼리를 보내 이러한 리소스와 도구를 찾을 수 있습니다. 서버는 모델 컨텍스트 프로토콜(MPP) 사양에 따라 기능을 제공합니다.
정의된 리소스
ghost/tag
: Ghost CMS의 태그를 나타냅니다.id
,name
,slug
,description
포함합니다.ghost/post
: Ghost CMS의 게시물을 나타냅니다.id
,title
,slug
,html
,status
,feature_image
,published_at
,tags
(ghost/tag
배열), 메타데이터 필드 등을 포함합니다.
(전체 리소스 스키마는 src/mcp_server.js
를 참조하세요.)
정의된 도구
사용 가능한 MCP 도구를 사용하기 위한 가이드는 다음과 같습니다.
ghost_create_tag
- 목적 : 새로운 태그를 만듭니다.
- 입력 :
name
(문자열, 필수): 새 태그의 이름입니다.description
(문자열, 선택 사항): 태그에 대한 설명입니다.slug
(문자열, 선택 사항): URL 친화적인 슬러그(생략 시 자동 생성됨).
- 출력 : 생성된
ghost/tag
리소스.
ghost_get_tags
- 목적 : 기존 태그를 검색합니다. 태그 ID를 찾거나 태그 생성 전에 태그가 존재하는지 확인하는 데 사용할 수 있습니다.
- 입력 :
name
(문자열, 선택 사항): 정확한 이름으로 태그를 필터링합니다.
- 출력 : 필터와 일치하는
ghost/tag
리소스의 배열(이름이 제공되지 않으면 모든 태그).
ghost_upload_image
- 목적 : 게시물의 추천 이미지로 사용할 이미지를 Ghost에 업로드합니다.
- 입력 :
imageUrl
(문자열 URL, 필수): 업로드할 이미지의 공개적으로 접근 가능한 URL입니다.alt
(문자열, 선택 사항): 이미지에 대한 대체 텍스트(생략하면 기본값이 생성됩니다).
- 출력 : 최종
url
(업로드된 이미지의 Ghost URL)과 결정된alt
텍스트를 포함하는 객체입니다. - 사용 참고 사항 : 추천 이미지가 필요한 게시물을 만들기 전에 먼저 이 도구를 호출하여 고스트 이미지 URL을 얻으세요.
ghost_create_post
- 목적 : 새로운 게시물을 만듭니다.
- 입력 :
title
(문자열, 필수): 게시물의 제목입니다.html
(문자열, 필수): HTML 형식의 게시물의 주요 내용입니다.status
(문자열, 선택 사항, 기본값: '초안'): 상태를 '초안', '게시됨' 또는 '예약됨'으로 설정합니다.tags
(문자열 배열, 선택 사항): 연결할 태그 이름 목록입니다. 태그는 자동으로 검색되거나 생성됩니다.published_at
(문자열 ISO 날짜, 선택 사항): 게시 또는 예약할 날짜/시간입니다. 상태가 '예약됨'인 경우 필수입니다.custom_excerpt
(문자열, 선택 사항): 간략한 요약입니다.feature_image
(문자열 URL, 선택 사항): 추천 이미지의 URL(ghost_upload_image
의url
출력을 사용).feature_image_alt
(문자열, 선택 사항): 기능 이미지에 대한 대체 텍스트입니다.feature_image_caption
(문자열, 선택 사항): 피처 이미지의 캡션입니다.meta_title
(문자열, 선택 사항): 사용자 지정 SEO 제목.meta_description
(문자열, 선택 사항): 사용자 정의 SEO 설명.
- 출력 : 생성된
ghost/post
리소스.
설치 및 실행
- 저장소 복제 :지엑스피1
- 종속성 설치 :Copy
- 환경 변수 구성 : 프로젝트 루트에
.env
파일을 만들고 Ghost Admin API 자격 증명을 추가합니다.Copy- Ghost Admin API URL을 찾아 통합 -> 사용자 정의 통합에서 Ghost Admin 설정에 입력합니다.
- 서버 실행 :이 명령은 Express 서버(경로가 여전히 마운트되어 있는 경우)와 MCP 서버를 모두 시작합니다.Copy
- MCP 서버는 일반적으로
http://localhost:3001
(또는 지정한MCP_PORT
)에서 사용할 수 있습니다. - MCP 클라이언트는 이 주소에 연결하여 도구를 검색하고 사용할 수 있습니다.
- MCP 서버는 일반적으로
- 개발 모드(nodemon 사용) : 자동 재시작이 가능한 개발의 경우:Copy
문제 해결
- Ghost에서 발생한 401 무단 오류:
.env
파일의GHOST_ADMIN_API_URL
과GHOST_ADMIN_API_KEY
가 올바른지, Ghost에서 사용자 정의 통합이 활성화되어 있는지 확인하세요. - MCP 서버 연결 문제: MCP 서버가 실행 중인지 확인하세요(콘솔 로그 확인). 포트(
MCP_PORT
, 기본값 3001)가 방화벽으로 차단되어 있지 않은지 확인하세요. 클라이언트가 올바른 주소와 포트에 연결되었는지 확인하세요. - 도구 실행 오류: 서버 콘솔 로그에서 특정 도구 구현(예:
ghost_create_post
,ghost_upload_image
)의 자세한 오류 메시지를 확인하세요. 일반적인 문제로는 잘못된 입력(src/mcp_server.js
및 README 가이드의 도구 스키마 참조),imageUrl
에서 다운로드하는 데 문제가 있거나, 이미지 처리 오류가 발생하거나, Ghost API의 업스트림 오류가 발생할 수 있습니다. - 종속성 설치 문제: 호환되는 Node.js 버전이 설치되어 있는지 확인하세요(요구 사항 섹션 참조).
node_modules
와package-lock.json
제거하고npm install
다시 실행해 보세요.
This server cannot be installed
Cursor나 Claude Desktop과 같은 AI 클라이언트가 게시물 생성, 태그 추가, 이미지 업로드 등의 기능을 제공하여 Ghost CMS 블로그를 관리할 수 있도록 하는 Model Context Protocol Server의 구현입니다.