Discourse 내장 MCP 서버로 AI 앱을 커뮤니티에 연결하세요

Discourse에는 이제 내장 MCP 서버가 포함되어 있어, 선호하는 AI 앱에게 특정 주제 찾기, 토론 내용 파악, 커뮤니티 활동 보고서 작성 등을 요청할 수 있습니다.

MCP(Model Context Protocol)는 AI 앱이 다른 서비스가 제공하는 도구를 사용하는 방법입니다. Discourse는 이러한 도구를 제공하며, 사용자는 Discourse 계정으로 로그인하고 앱이 요청한 액세스를 승인하여 앱을 연결합니다. :slight_smile:

이 서버는 Discourse 사이트의 일부로 실행됩니다. 별도의 discourse-mcp 패키지가 존재하며, 이는 로컬에 설치하고 실행하는 도구입니다. 이 새로운 기능을 위해 필수적이지 않습니다. 로컬 개발 환경을 설정하지 않고도 커뮤니티의 새로운 내장 서버에 직접 연결할 수 있습니다. 아래를 스크롤하여 확인해 보세요 :backhand_index_pointing_right:t2:

이것으로 무엇을 할 수 있나요?

주제를 검색하고 읽을 수 있으며, 카테고리 및 태그를 탐색하고, 사용자 프로필 및 활동을 조회하고, 북마크와 알림을 확인할 수 있습니다. 쓰기 액세스가 활성화되면 앱은 주제 생성, 답변 작성, 게시물 편집, 초안 저장, 파일 업로드도 가능합니다. 개인 메시지(PM)에는 별도의 읽기 및 쓰기 권한이 있습니다.

예를 들어, 다음과 같이 요청할 수 있습니다:

  • “SSO 설정에 대한 토론을 찾아 사람들이 시도한 방법들을 요약해 주세요. 주제 링크를 포함해 주세요.”
  • “이 주제를 읽어보고 초보자도 이해할 수 있게 설명해 줘 (ELI5)”
  • “저장된 제 초안을 찾아서 어디서 멈췄는지 파악하는 데 도움을 줘”

해당 플러그인과 MCP 도구가 활성화된 경우, 채팅, 이벤트, 리액션, 해결된 주제, 주제 투표 등을 위한 도구도 있습니다.

훌륭한 기능 중 하나는 moderating(모더레이션) 및 사이트 설정에 대한 지원입니다. 적절한 액세스 권한이 있는 스태프는 검토 대기열을 검사하고, 플래그의 세부 내용을 읽고, 게시물 수정 이력을 확인하며, 사용자의 모더레이션 이력을 조회할 수 있습니다. 관리자는 사이트 설정을 찾고 지원되는 설정을 업데이트할 수도 있습니다.

누가 무엇을 액세스할 수 있나요?

관리자로, 사이트가 노출할 도구와 각 그룹이 앱에 부여할 수 있는 권한을 선택합니다. 읽기 및 쓰기 권한은 별도로 관리되므로, 변경을 허용하지 않으면서도 검색 및 읽기를 허용할 수 있습니다.

사용자는 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. 일부 구간은 속도를 높였습니다 ↩︎

4개의 좋아요

정말 훌륭합니다. 저는 리포지토리에서 이 프로젝트가 처음 시작될 때부터 관심을 갖고 지켜봐 왔습니다. 이전 클라이언트를 프록시를 통해 유사한 목적으로 사용하려고 시도하던 중 문제가 발생했는데(대부분 제 지식 부족 때문이었을 것입니다), 바로 그 시점에 이 프로젝트가 공개되었습니다.

이제 이 도구를 사용해 보고 몇 가지 테스트를 거친 후, 경량형 하네스인 Pi 환경에서 어떻게 작동하고 어떤 모습인지 공유하겠습니다. 어떤 것을 사용하고 어떤 것을 사용하지 않을지 스스로 선택하고 모든 것을 가볍게 유지하기를 선호하는 우리들을 위해 말이죠.

스태프를 위한 서버 기능을 활성화하면, 그렇지 않으면 제공하기 불가능했을 놀라운 가능성이 열립니다.

팀에게 축하의 말씀을 드립니다!