고스트 MCP 서버
Ghost Admin API와 통합되는 모델 컨텍스트 프로토콜(MCP) 서버입니다. 이 서버를 통해 게시물 관리, 페이지 관리, 회원 관리 등 Ghost CMS 기능에 프로그래밍 방식으로 접근할 수 있습니다.
특징
- 게시물 관리(작성, 읽기, 업데이트, 삭제, 검색)
- 페이지 관리(생성, 읽기, 업데이트, 삭제)
- 태그 관리
- 저자 관리
- 회원 관리(생성, 읽기, 업데이트, 삭제, 검색)
- 이미지 업로드 지원
필수 조건
- Node.js(v18 이상 권장)
- Ghost CMS 인스턴스
- Ghost Admin API 키
설치
npm을 사용하여 패키지를 설치하세요:
지엑스피1
구성
- Ghost Admin 대시보드의 설정 > 통합에서 새 사용자 정의 통합을 만듭니다.
- 다음 환경 변수를 설정하세요.
# macOS/Linux
export GHOST_URL="https://your-ghost-blog.com"
export GHOST_ADMIN_API_KEY="your_admin_api_key"
# Windows (PowerShell)
$env:GHOST_URL="https://your-ghost-blog.com"
$env:GHOST_ADMIN_API_KEY="your_admin_api_key"
또는 .env
파일을 만들 수 있습니다.
GHOST_URL=https://your-ghost-blog.com
GHOST_ADMIN_API_KEY=your_admin_api_key
용법
설치 후 다음을 사용하여 서버를 시작합니다.
npx @mtane0412/ghost-mcp-server
사용 가능한 도구
게시물 받기
블로그 게시물 목록을 검색합니다.
입력:
{
"limit": "number", // Optional: Number of posts to retrieve (1-100, default: 10)
"page": "number" // Optional: Page number (default: 1)
}
get_post
ID로 특정 게시물을 검색합니다.
입력:
{
"id": "string" // Required: Post ID
}
게시물 검색
게시물 검색.
입력:
{
"query": "string", // Required: Search query
"limit": "number" // Optional: Number of posts to retrieve (1-100, default: 10)
}
게시물 생성
새로운 게시물을 만듭니다.
입력:
{
"title": "string", // Required: Post title
"html": "string", // Optional: HTML content
"lexical": "string", // Optional: Lexical content
"status": "string", // Optional: Post status (published/draft/scheduled)
"visibility": "string" // Optional: Visibility level (public/members/paid/tiers)
}
업데이트_게시물
기존 게시물을 업데이트합니다.
입력:
{
"id": "string", // Required: Post ID
"title": "string", // Optional: Post title
"html": "string", // Optional: HTML content
"lexical": "string", // Optional: Lexical content
"status": "string" // Optional: Post status
}
삭제_게시물
게시물을 삭제합니다.
입력:
{
"id": "string" // Required: Post ID
}
get_pages
페이지 목록을 검색합니다.
입력:
{
"limit": "number", // Optional: Number of pages to retrieve (1-100, default: 10)
"page": "number", // Optional: Page number (default: 1)
"order": "string", // Optional: Sort order
"formats": ["string"], // Optional: Content formats (html/mobiledoc/lexical)
"include": ["string"] // Optional: Related data to include (authors/tags)
}
멤버를 얻으세요
회원 목록을 검색합니다.
입력:
{
"limit": "number", // Optional: Number of members to retrieve (1-100, default: 10)
"page": "number", // Optional: Page number (default: 1)
"order": "string", // Optional: Sort order
"include": ["string"] // Optional: Related data to include (labels/newsletters)
}
검색_멤버
회원 검색.
입력:
{
"query": "string", // Required: Search query
"limit": "number", // Optional: Number of members to retrieve (1-100, default: 10)
"include": ["string"] // Optional: Related data to include (labels/newsletters)
}
업로드_이미지
이미지를 업로드합니다.
입력:
{
"file": "string", // Required: Base64 encoded image data
"purpose": "string" // Optional: Image purpose (image/profile_image/icon)
}
디버깅
MCP 서버는 stdio를 통해 통신하므로 디버깅이 어려울 수 있습니다. 패키지 스크립트로 제공되는 MCP Inspector를 사용하는 것이 좋습니다.
검사기는 브라우저에서 디버깅 도구에 액세스할 수 있는 URL을 제공합니다.
특허
MIT 라이센스