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) サーバーを実装します。
要件
- 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/
)にクエリを送信することで、これらのリソースとツールを見つけることができます。サーバーは、モデルコンテキストプロトコル仕様に従って、その機能に関する情報を返します。
定義されたリソース
ghost/tag
: Ghost CMS のタグを表します。id、name
、slug
、description``id
含まれます。ghost/post
: Ghost CMS 内の投稿を表します。id、id
、slug
、html
、status
、feature_image
、published_at
、tags
(ghost/tag
の配列)、メタデータフィールドなどが含まれますtitle
(完全なリソース スキーマについては、 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
(文字列、オプション、デフォルト: 'draft'): ステータスを 'draft'、'published'、または 'scheduled' に設定します。tags
(文字列の配列、オプション): 関連付けるタグ名のリスト。タグは自動的に検索または作成されます。published_at
(文字列ISO日付、オプション): 公開またはスケジュールする日時。ステータスが「scheduled」の場合は必須です。custom_excerpt
(文字列、オプション): 短い要約。feature_image
(文字列 URL、オプション): 注目画像の URL (ghost_upload_image
から出力されたurl
を使用)。feature_image_alt
(文字列、オプション): 注目画像の代替テキスト。feature_image_caption
(文字列、オプション): 注目画像のキャプション。meta_title
(文字列、オプション): カスタム SEO タイトル。meta_description
(文字列、オプション): カスタム SEO 説明。
- 出力: 作成された
ghost/post
リソース。
インストールと実行
- リポジトリのクローンを作成します:Copy
- 依存関係をインストール:Copy
- 環境変数を構成する: プロジェクト ルートに
.env
ファイルを作成し、Ghost Admin API の資格情報を追加します。Copy- Ghost Admin 設定の「統合」->「カスタム統合」で Ghost Admin API URL とキーを見つけます。
- サーバーを実行します:このコマンドは、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 ブログを管理できるようになります。