Discoreの組み込みMCPサーバーでAIアプリをコミュニティに接続

Discourseには現在、組み込みのMCPサーバーが搭載されました。これにより、お気に入りのAIアプリにトピックの検索、議論の最新情報の確認、またはコミュニティ内のアクティビティに関するレポートの作成を依頼できます。

MCP(Model Context Protocol)は、AIアプリが他のサービスによって提供されるツールを利用するための方法です。Discourseがこれらのツールを提供し、Discourseアカウントでサインインして要求されたアクセスを承認することで、アプリを接続します。 :slight_smile:

サーバーはDiscourseサイトの一部として動作します。別個のdiscourse-mcpパッケージが存在しますが、これはローカルにインストールして実行するツールであり、この新機能には必要ありません。ローカルの開発環境を設定することなく、コミュニティの新しい組み込みサーバーに直接接続できます。スクロールしてご覧ください :backhand_index_pointing_right:t2:

できることは?

トピックの検索と閲覧、カテゴリやタグの探索、ユーザープロファイルとアクティビティの確認、ブックマークと通知の確認を行うことができます。書き込みアクセスが有効になっている場合、アプリはトピックの作成、返信、投稿の編集、下書きの保存、ファイルのアップロードも行うことができます。PM(プライベートメッセージ)には独自の読み取りと書き込み権限があります。

例えば、以下のように依頼できます:

  • 「SSOの設定に関する議論を見つけて、人々が試みたアプローチを要約してください。トピックへのリンクを含めてください。」
  • 「このトピックを読んで、5歳児にもわかるように説明してください(ELI5)」
  • 「保存した下書きを見つけて、どこで止まったのか一緒に考えましょう」

また、対応するプラグインとMCPツールが有効な場合、チャット、イベント、リアクション、解決済みトピック、トピック投票用のツールもあります。

優れた機能の一つは、モデレーション(運営管理)とサイト設定へのサポートです。適切なアクセス権を持つスタッフは、レビューキューの検査、フラグの詳細の読み取り、投稿の改訂履歴の確認、ユーザーのモデレーション履歴の検索を行うことができます。管理者はサイト設定を検索し、サポートされている設定を更新することもできます。

アクセス権限について

管理者として、サイトが公開するツールと、各グループがアプリに付与できる権限を選択します。読み取り権限と書き込み権限は別々に管理されるため、変更を許可せずに検索と閲覧のみを許可することもできます。

ユーザーはDiscourseにサインインし、アプリが要求するアクセスを承認します。アプリはそのユーザーの通常のDiscourse権限の範囲内で、付与されたアクセス権限に基づいて動作します。

:warning: アプリにコンテンツの読み取り権限を与えることは、ユーザーが以前は見えなかったコンテンツへのアクセス権を与えるものではありません。 ユーザーに許可されたMCPスコープにかかわらず、通常のアプリ権限はすべて適用されます。繰り返しますが、PMスコープが与えられたユーザーでも、アプリ内でそれ以外の方法では見られないPMを見ることはできません。サイト設定ツールには管理者アカウントが必要であり、秘密の設定値は公開されません。

MCP管理ページから、接続されたアプリと認証を確認し、アクセスを解除し、クライアントをブロックし、ツールのアクティビティを調査できます。ユーザーも設定 → セキュリティ → MCPアプリの下で自分の接続を解除できます。

セットアップ

MCPサーバーはデフォルトで無効です。この機能を含むDiscourseバージョンでは:

  1. /admin/config/mcp に移動し、設定mcp_server_enabled を有効にします。
  2. 機能(Capabilities) で、サイトが公開したいツールを有効にします。新しいツールは、明示的に有効にするまで無効のままです。
  3. アクセス(Access) で、接続できるグループと、付与できる権限を選択します。adminsグループは事前登録されています。必要に応じて他のグループを追加してください。
  4. 概要(Overview) に表示されるサーバーエンドポイント(通常は https://your-community.example/mcp)を使用して、AIアプリを接続します。
  5. Discourseにサインインし、要求されたアクセスを承認します。

アプリは、Streamable HTTPとOAuthによるリモートMCPをサポートする必要があります。一部のアプリは自動的に自己識別できます。アプリが事前登録されたクライアントを必要とする場合は、OAuthクライアント → OAuthクライアントを追加 を使用し、アプリに一致するクライアント詳細を入力してください。フォームには一般的なアプリケーション用のプリセットが含まれています。

mcp_oauth_client_id_metadata_policy 設定は、アプリがクライアントメタデータURLを通じて自己識別できるかどうかを制御します。すべてのドメインを許可するか、承認されたドメインに限定するか、または事前登録されたクライアントを要求できます。

以下は、ChatGPTをMetaのMCPサーバー(管理者のみ利用可能)に接続する完全な録画です [1] :video_camera:

試してみてください :woman_technologist:t2:

どのアプリを使用しているか、またツールがどこで改善できるか教えてください!

今後さらに作業が続きます:

  • より多くのスコープ/ツール
  • ChatGPT、Claudeなどの有名なアプリ向けの公式プラグインの作成を検討中です。

  1. 一部の部分は早送りされています ↩︎

「いいね!」 9

素晴らしいですね。リポジトリの段階からこのプロジェクトを追っていました。以前のクライアントをプロキシ経由で利用し、同様の目的を達成しようとした際に問題が発生した(おそらく私の知識不足が原因だと思います)直後に公開されたので、タイミングがぴったりです。

これからこれを活用し、いくつかテストを行った後、軽量なハーネスであるPiから見た動作や外観について公開する予定です。これは、使用するものを自分で選び、不要なものを排除し、すべてを軽量に保ちたいという私たちにとって最適です。

スタッフにサーバーの機能を有効にすることで、それでは実現できなかった、驚くほどの可能性が広がります。

チームの皆さん、おめでとうございます!


組み込みのMeta MCPサーバーを一般ユーザーにも開放する計画はあるのでしょうか?

コミュニティに役立つワークフロー、プロンプト、一般的な使用上のヒントがいくつかあり、MCPサーバーを活用すれば、それらをすべて公開するまでの時間を短縮できると思います。

「いいね!」 2

(投稿は作成者により削除されました)