Ghost MCP Server

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、 nameslugdescription``id含まれます。
  • ghost/post : Ghost CMS 内の投稿を表します。id、 idslughtmlstatusfeature_imagepublished_attagsghost/tagの配列)、メタデータフィールドなどが含まれますtitle

(完全なリソース スキーマについては、 src/mcp_server.jsを参照してください。)

定義されたツール

利用可能な MCP ツールの使用ガイドを以下に示します。

  1. ghost_create_tag
    • 目的: 新しいタグを作成します。
    • 入力:
      • name (文字列、必須): 新しいタグの名前。
      • description (文字列、オプション): タグの説明。
      • slug (文字列、オプション): URL に適したスラッグ (省略した場合は自動生成されます)。
    • 出力: 作成されたghost/tagリソース。
  2. ghost_get_tags
    • 目的: 既存のタグを取得します。タグIDを検索したり、タグを作成する前にタグが存在するかどうかを確認したりするために使用できます。
    • 入力:
      • name (文字列、オプション): 正確な名前でタグをフィルタリングします。
    • 出力: フィルターに一致するghost/tagリソースの配列 (名前が指定されていない場合はすべてのタグ)。
  3. ghost_upload_image
    • 目的: 通常は投稿のおすすめ画像として使用するために、Ghost に画像をアップロードします。
    • 入力:
      • imageUrl (文字列 URL、必須): アップロードする画像の公開アクセス可能な URL。
      • alt (文字列、オプション): 画像の代替テキスト (省略した場合はデフォルトが生成されます)。
    • 出力: 最終的なurl (アップロードされた画像の Ghost URL) と決定されたaltテキストを含むオブジェクト。
    • 使用上の注意: 注目の画像が必要な投稿を作成する前に、まずこのツールを呼び出してゴースト画像の URL を取得してください。
  4. 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リソース。

インストールと実行

  1. リポジトリのクローンを作成します:
    git clone <repository_url> cd ghost-mcp-server
  2. 依存関係をインストール:
    npm install
  3. 環境変数を構成する: プロジェクト ルートに.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 設定の「統合」->「カスタム統合」で Ghost Admin API URL とキーを見つけます。
  4. サーバーを実行します:
    npm start # OR directly: # node src/index.js
    このコマンドは、Express サーバー (ルートがまだマウントされている場合) と MCP サーバーの両方を起動します。
    • MCP サーバーは通常、 http://localhost:3001 (または指定したMCP_PORT ) で利用できます。
    • MCP クライアントはこのアドレスに接続してツールを検出し、使用することができます。
  5. 開発モード(nodemon を使用) :自動再起動による開発の場合:
    npm run dev

トラブルシューティング

  • Ghost からの 401 不正エラー: .envファイル内のGHOST_ADMIN_API_URLGHOST_ADMIN_API_KEYが正しいこと、および Ghost のカスタム統合が有効になっていることを確認してください。
  • MCPサーバー接続の問題: MCPサーバーが稼働していることを確認してください(コンソールログを確認してください)。ポート( MCP_PORT 、デフォルトは3001)がファイアウォールでブロックされていないことを確認してください。クライアントが正しいアドレスとポートに接続していることを確認してください。
  • **ツール実行エラー:**サーバーコンソールのログで、特定のツール実装(例: ghost_create_postghost_upload_image )の詳細なエラーメッセージを確認してください。よくある問題としては、無効な入力( src/mcp_server.js内のツールスキーマとREADMEガイドをご確認ください)、 imageUrlからのダウンロードに関する問題、画像処理の失敗、Ghost API の上流エラーなどが挙げられます。
  • **依存関係のインストールに関する問題:**互換性のあるNode.jsバージョンがインストールされていることを確認してください(要件セクションを参照) node_modulespackage-lock.jsonを削除して、 npm install再度実行してみてください。
-
security - not tested
A
license - permissive license
-
quality - not tested

モデル コンテキスト プロトコル サーバーの実装。これにより、投稿の作成、タグの追加、画像のアップロードなどの機能を公開することで、Cursor や Claude Desktop などの AI クライアントが Ghost CMS ブログを管理できるようになります。

  1. Requirements
    1. Ghost MCP Server Details
      1. Resources Defined
      2. Tools Defined
    2. Installation and Running
      1. Troubleshooting
        ID: 1gerxdlb96