Ghost MCP Server について
Ghost MCP ServerはGhost Admin APIをMCPに接続し、Ghost CMSのコンテンツやメンバーを管理するユーザー向けです。投稿・ページ、タグ・作者、メンバーの操作と画像アップロードに対応します。
主な機能
- 01投稿の作成・取得・更新・削除
- 02投稿検索とページ管理
- 03タグと作者の管理
- 04メンバーの作成・検索・管理
- 05画像のアップロード
活用シーン
- 01ブログ投稿の検索や更新
- 02サイトページの作成と保守
- 03メンバー情報の管理
- 04Ghostへの画像アップロード
MCP 対応
Ghost Admin APIを利用し、Ghost CMSのコンテンツ、ページ、メンバー、画像を管理するツールをMCPクライアントに提供します。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
ツール
ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。
詳細
Ghost MCP サーバー
Ghost Admin API と統合する Model Context Protocol(MCP)サーバーです。このサーバーを使用すると、投稿の管理、ページの管理、メンバーの管理など、Ghost CMS の機能にプログラムからアクセスできます。
機能
- 投稿管理(作成、読み取り、更新、削除、検索)
- ページ管理(作成、読み取り、更新、削除)
- タグ管理
- 作成者管理
- メンバー管理(作成、読み取り、更新、削除、検索)
- 画像アップロードのサポート
前提条件
- Node.js(v18 以降を推奨)
- Ghost CMS インスタンス
- Ghost Admin API キー
インストール
npm を使用してパッケージをインストールします:
npm install @mtane0412/ghost-mcp-server
設定
-
Ghost Admin ダッシュボードの Settings > Integrations で、新しいカスタムインテグレーションを作成します。
-
次の環境変数を設定します:
# 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
利用可能なツール
get_posts
ブログ投稿の一覧を取得します。
入力:
{
"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
}
search_posts
投稿を検索します。
入力:
{
"query": "string", // Required: Search query
"limit": "number" // Optional: Number of posts to retrieve (1-100, default: 10)
}
create_post
新しい投稿を作成します。
入力:
{
"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)
}
update_post
既存の投稿を更新します。
入力:
{
"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
}
delete_post
投稿を削除します。
入力:
{
"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)
}
get_members
メンバーの一覧を取得します。
入力:
{
"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)
}
search_members
メンバーを検索します。
入力:
{
"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)
}
upload_image
画像をアップロードします。
入力:
{
"file": "string", // Required: Base64 encoded image data
"purpose": "string" // Optional: Image purpose (image/profile_image/icon)
}
デバッグ
MCP サーバーは stdio 経由で通信するため、デバッグが難しい場合があります。パッケージスクリプトとして利用できる MCP Inspector の使用をおすすめします:
npm run inspect
Inspector は、ブラウザーでデバッグツールにアクセスするための URL を表示します。
ライセンス
MIT ライセンス
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。