고스트 MCP 서버
이 프로젝트( ghost-mcp-server )는 정의된 도구를 통해 MCP 클라이언트(예: Cursor 또는 Claude Desktop)가 Ghost CMS 인스턴스와 상호 작용할 수 있도록 하는 MCP(Model Context Protocol) 서버를 구현합니다.
요구 사항
Node.js 14.0.0 이상
Ghost Admin API URL 및 키
Related MCP server: WordPress MCP Server
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배열), 메타데이터 필드 등을 포함합니다.
(전체 리소스 스키마는
정의된 도구
사용 가능한 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
종속성 설치 :
npm install환경 변수 구성 : 프로젝트 루트에
.env파일을 만들고 Ghost Admin API 자격 증명을 추가합니다.# Required: GHOST_ADMIN_API_URL=https://your-ghost-site.com GHOST_ADMIN_API_KEY=your_admin_api_key # Optional: # PORT=3000 # Port for the (optional) Express REST API server # MCP_PORT=3001 # Port for the MCP server # NODE_ENV=development # Set to 'production' for production deployments # LOG_LEVEL=info # Set logging level (debug, info, warn, error) # If using 1Password CLI for secrets: # You might store the API key in 1Password and use `op run --env-file=.env -- ...`Ghost Admin API URL을 찾아 통합 -> 사용자 정의 통합에서 Ghost Admin 설정에 입력합니다.
서버 실행 :
npm start # OR directly: # node src/index.js이 명령은 Express 서버(경로가 여전히 마운트되어 있는 경우)와 MCP 서버를 모두 시작합니다.
MCP 서버는 일반적으로
http://localhost:3001(또는 지정한MCP_PORT)에서 사용할 수 있습니다.MCP 클라이언트는 이 주소에 연결하여 도구를 검색하고 사용할 수 있습니다.
개발 모드(nodemon 사용) : 자동 재시작이 가능한 개발의 경우:
npm run dev
문제 해결
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다시 실행해 보세요.