EmDashには、AIアシスタントがサイトのコンテンツと直接やり取りできるMCPサーバーが組み込まれています。Claude、ChatGPT、その他のツールに、記事の下書き、ページの更新、メディア管理、コンテンツの検索などを依頼できます — すべて自然な会話を通じて。
MCPサーバー
MCPサーバーはデフォルトで有効になっています — /_emdash/api/mcpのルートは、明示的にオフにしない限りマウントされます。認証が常に必要なため、有効な資格情報なしにコンテンツが公開されることはありません。
無効にするには、Astro設定でmcp: falseを設定します:
emdash({
mcp: false,
})
セットアップ
サイトのMCPサーバーURLは次のとおりです:
https://example.com/_emdash/api/mcp
example.comをお使いのドメインに置き換えてください。ローカル開発ではhttp://localhost:4321/_emdash/api/mcpを使用します。
Claude
claude.aiで追加されたコネクタは、WebアプリとClaude Desktopの両方で機能します。
-
設定 > コネクタに移動します
-
カスタムコネクタを追加をクリックします
-
サイトのMCPサーバーURLを入力します
-
追加をクリックします — ブラウザが開いてログインしアクセスを承認します
-
新しい会話を開始し、チャット入力欄の**+**をクリックし、コネクタをクリックして、サイトを有効にします
TeamおよびEnterpriseプランでは、オーナーがまず管理設定 > コネクタからコネクタを追加します。メンバーはその後、各自の設定から個別に接続します。
ChatGPT
ChatGPTはPro、Business、EnterpriseプランでMCPサーバーをサポートしています。
-
設定 > アプリとコネクタ > 詳細設定に移動し、開発者モードを有効にします
-
設定 > コネクタ > 作成に移動します
-
名前、説明、サイトのMCPサーバーURLを入力します
-
作成をクリックします
-
会話中に、コンポーザーの近くの**+**をクリックし、その他をクリックして、コネクタを選択します
できること
接続後、AIアシスタントに自然言語でこれらの操作を実行するよう依頼できます。ツール名を知る必要はありません — やりたいことを説明するだけです。
コンテンツ
- コンテンツを閲覧 — 「最新のブログ記事10件を見せて」や「すべての下書きページを探して」
- コンテンツを読む — 「‘hello-world’という記事を取得して要約して」
- コンテンツを作成 — 「夏のセールについて新しいブログ記事を書いて」や「アバウトセクション用の下書きページを作成して」
- コンテンツを編集 — 「料金ページを更新して新しいプランについて言及して」や「FAQの記事の誤字を修正して」
- 公開とスケジュール — 「夏のセールの記事を公開して」、「お知らせを6月1日午前9時にスケジュールして」、「ローンチ記事のスケジュールをキャンセルして」
- バージョンを比較 — 「ホームページで最後の公開以降に何が変わったか見せて」
- 下書きを管理 — 「アバウトページの下書き変更を破棄して」や「ニュースレターテンプレートを複製して」
- 翻訳 — 「ウェルカム記事にはどんな翻訳がある?」(i18nが有効な場合)
メディア
- メディアを閲覧 — 「アップロードされた画像をすべてリストして」や「メディアライブラリのPDFを見せて」
- 詳細を確認 — 「このメディアアイテムの詳細を取得して」
- アップロードを登録 — 「
media/2026/banner.pngにアップロードしたファイルをメディアアイテムとして登録して」 - メタデータを更新 — 「ヒーロー画像のaltテキストを’山の夕日’に設定して」
- ファイルを削除 — 「古いバナー画像を削除して」
検索
- コンテンツを検索 — 「‘アクセシビリティ’に言及している記事を検索して」や「すべてのコレクションからTypeScriptに関するものを見つけて」
タクソノミー
- 閲覧 — 「すべてのカテゴリをリストして」や「タグを見せて」
- 用語を作成 — 「‘チュートリアル’タグを追加して」や「‘エンジニアリング’の下に’フロントエンド’サブカテゴリを作成して」
- 用語の名前を変更 — 「‘frontend’カテゴリを’Web Frontend’に名前変更して」
- 用語を移動 — 「‘チュートリアル’タグを’ガイド’カテゴリの下に移動して」や「‘react’を親から切り離して」
- 用語を削除 — 「未使用の’アーカイブ’タグを削除して」
メニュー
- メニューを表示 — 「メインナビゲーションメニューを見せて」や「フッターメニューには何がある?」
- メニューを作成 — 「新しい’サイドバー’メニューを作成して」
- メニューを編集 — 「‘メイン’メニューを’プライマリナビゲーション’に名前変更して」
- アイテムを設定 — 「メインメニューのアイテムをホーム、ブログ、アバウト、コンタクトに置き換えて」
- メニューを削除 — 「未使用の’モバイル’メニューを削除して」
サイト設定
- 確認 — 「現在のサイトタイトルは?」や「ソーシャルリンクを見せて」
- アイデンティティを更新 — 「サイトタイトルを’Acme Blog’に、タグラインを’チームからのストーリー’に設定して」
- ロゴ / ファビコンを設定 — 「この画像をサイトロゴとして使用して」(
media_uploadでアップロード後) - SEOデフォルト — 「デフォルトのOG画像を新しいバナーに設定して」や「タイトル区切り文字を縦棒に更新して」
- ソーシャルアカウント — 「MastodonとYouTubeのリンクをソーシャル設定に追加して」
スキーマ(Adminのみ)
- 確認 — 「どのコレクションがある?」や「記事コレクションのフィールドを見せて」
- コレクションを作成 — 「名前と引用フィールドを持つ新しい’テスティモニアル’コレクションを作成して」
- スキーマを変更 — 「記事に’注目’ブーリアンフィールドを追加して」
リビジョン
- 履歴を表示 — 「この記事のリビジョン履歴を見せて」
- 復元 — 「記事を前のバージョンに復元して」
権限
MCPクライアントがOAuth同意ページを開くと、要求されたすべての権限がデフォルトで選択されています。アクセスを承認する前に、クライアントが必要としない権限のチェックを外してください。結果のトークンは、選択した権限とEmDashの役割で許可された権限に制限されるため、権限を少なくしてもクライアントができることが増えることはありません。
| 役割 | AIができること |
|---|---|
| Admin | スキーマ変更やサイト設定の更新を含むすべて |
| エディター | すべてのコンテンツ、メディア、タクソノミー、メニュー。スキーマの表示と設定の読み取りが可能。 |
| 著者 | 自分のコンテンツとメディア |
| 寄稿者 | 自分のコンテンツ(公開不可)とメディア |
アクセス権のないことを試みた場合、AIが通知します。
ヒント
- コレクションを具体的に指定してください。 複数のコレクションがある場合は、「記事を作成して」ではなく「ブログ記事を作成して」と言ってください。
- まずスキーマを確認してください。 コレクションにどのフィールドがあるか分からない場合は、コンテンツを作成または編集する前に「記事コレクションにはどのフィールドがある?」と聞いてください。
- 公開前にレビューしてください。 AIに下書きとしてコンテンツを作成してもらい、管理パネルでレビューし、AIに公開してもらうか — 自分で公開してください。
- レビューには比較を使用してください。 公開前に「この記事の公開版と下書き版を比較して」と聞いて、何が変わるかを正確に確認してください。
- リッチテキストフィールドはPortable Textを使用します。 AIはリッチテキストフィールドのコンテンツを書けますが、複雑なフォーマットは管理エディターで行うのが最適です。
開発者向け
MCPサーバーのエンドポイント、認証方法、OAuthディスカバリー、ツールパラメータ、エラー処理はMCPサーバーリファレンスに文書化されています。