OpenAI Codex CLI에서 Discourse MCP 설정

저는 Discourse MCP을 실험해 보았지만, Meta에 있는 기존 문서에는 Codex CLI 사용법에 대한 내용이 전혀 포함되어 있지 않아, 어떤 부분이 해당되는지 파악하는 것이 다소 혼란스러웠습니다:

  • npx를 사용해야 하나, npm install을 사용해야 하나?
  • 설정 과정 중 어떤 부분이 Codex에 해당하고, 어떤 부분이 Discourse MCP에 해당하나?
  • read_only: false와 같은 설정은 어디에 넣어야 하나?

그래서 꽤나 시행착오를 거친 끝에, Codex CLI에 Discourse MCP를 설치하는 테스트 완료된 가이드를 작성했습니다. 앞으로 며칠 내에 Claude Code CLI와 opencode에 대한 가이드도 후속으로 게시할 예정입니다. 사용하시길 원하시는 다른 MCP 클라이언트가 있다면, 댓글로 알려 주시면 도움을 드리겠습니다.

수정: 2026.03.13 - MCP 설정 파일 형식이 약간 달라져 혼란을 줄 수 있는 opencode 가이드를 작성했습니다.

선행 조건:

여기에는 세 가지 별도의 구성 요소가 있다는 점을 이해하는 것이 중요합니다:

  1. 원격 Discourse 포럼: 데이터의 원천이자 작업의 대상입니다.

  1. Discourse MCP 서버: Discourse에 연결하여 Codex가 Discourse와 상호작용할 수 있도록 API를 제공하는 오픈소스 로컬 실행 도구입니다. STDIO 서버로 설치되며 Codex CLI가 필요할 때 요청하여 실행됩니다.

  1. Codex CLI: MCP 서버에 연결하여 MCP API를 통해 Discourse와 상호작용하는 인터페이스를 제공하는 MCP 클라이언트입니다.


1. 사용자 API 키 생성

이것은 Discourse에 인증하는 데 사용되며, 이렇게 API 키를 얻게 됩니다. npx는 코드를 다운로드하고 실행할 뿐, 전통적인 의미의 설치는 필요하지 않습니다.

터미널에서 다음을 실행하세요:

npx @discourse/mcp@latest generate-user-api-key \
  --site =DISCOURSE-FORUM= \
  --save-to =MCP-CONFIG=

브라우저의 승인을 승인하고 로그인 능력을 증명하며 MCP 서버가 사용하도록 =MCP-CONFIG=에 저장되는 API 키를 생성하는 암호화된 데이터를 복사하여 붙여넣으세요.

API 키는 사용자가 포럼에 대해 가지고 있는 것과 동일한 수준의 접근 권한을 가집니다.

2. Codex CLI에 MCP 서버 추가:

터미널에서( Codex CLI 내부가 아님) 다음을 실행하세요:

codex mcp add discourse \
  -- npx -y @discourse/mcp@latest \
  --profile =MCP-CONFIG=

이것은 STDIO 서버로 설치되므로, Codex CLI를 시작할 때 Codex CLI가 npx를 사용하여 필요할 때 실행됩니다.

=MCP-CONFIG=의 프로필을 사용하도록 구성되며, 기본적으로 읽기 전용입니다.

3. Codex CLI 재시작

config.toml과 프로필을 다시 로드하도록 Codex를 완전히 재시작하세요.

오류 없이 시작되면 설정에 문제가 없으며, Codex CLI에서 /mcp ‘슬래시’ 명령을 실행할 때 MCP 서버가 목록에 표시되어야 합니다.

Codex CLI에서 Codex에게 이 Discourse에 대한 정보(특히 공개되지 않았지만 접근할 수 있는 정보)를 참조하도록 요청할 수 있습니다. 이는 사용자로 연결되고 있는지 확인하는 방법입니다.

4. 쓰기 기능 활성화 (선택 사항)

기본적으로 Discourse MCP 서버는 읽기 전용 모드로 실행됩니다. 쓰기 작업(게시물, 주제, 사용자 생성 등)을 활성화하려면 프로필 JSON 파일에 두 가지 플래그를 추가해야 합니다.

=MCP-CONFIG=의 Discourse 프로필을 편집하고 auth_pairs 배열의 형제 요소로 "read_only": false"allow_writes": true를 추가하세요:

{
  "read_only": false,
  "allow_writes": true,
  "auth_pairs": [
    {
      "site": "=DISCOURSE-FORUM=",
      "user_api_key": "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx",
      "user_api_client_id": "discourse-mcp"
    }
  ]
}

예시:

{
  "read_only": false,
  "allow_writes": true,
  "auth_pairs": [
    {
      "site": "https://meta.discourse.org",
      "user_api_key": "abc123def456ghi789jkl012mno345pqr",
      "user_api_client_id": "discourse-mcp"
    }
  ]
}

이 플래그를 추가한 후 변경 사항이 적용되도록 OpenCode CLI를 재시작하세요. 이제 MCP 서버는 다음과 같은 쓰기 작업을 허용합니다:

  • 주제 생성 및 업데이트
  • 게시글 및 댓글 생성
  • 초안 관리
  • 파일 업로드
  • 카테고리 생성 (권한이 있는 경우)
  • 사용자 관리 (관리자 권한이 있는 경우)

경고: 쓰기 작업은 사용자 계정의 권한을 사용합니다. 생성된 콘텐츠는 사용자가 수동으로 생성한 것처럼 표시됩니다. 쓰기 기능을 책임감 있게 사용하세요.

설정 편집

어느 시점에 Discourse에 쓰기 기능을 추가하기 위해 설정을 편집하고 싶을 수 있으며, 이는 Discourse 설정에서 수행합니다.

혼란스럽게도, 설정이 저장되는 두 곳이 있으며, Codex 문서와 Discourse 문서 사이에서 어떤 부분이 Codex CLI에 속하고 어떤 부분이 MCP STDIO 서버 자체의 일부인지 파악하는 것이 정말로 혼란스럽습니다.

주요 파일은 두 개입니다:

  1. =CODEX-CONFIG= - MCP 서버 설정을 포함하는 Codex CLI 설정 파일입니다.

  2. =MCP-CONFIG= - API 키와 Discourse 연결을 위한 기타 설정을 포함하는 Discourse MCP 서버 프로필입니다.

Codex CLI 설정

MCP에 연결하기 위한 설정은 =CODEX-CONFIG=에 있으며, 다음과 유사해야 합니다. MCP 서버에 옵션을 추가하려면 여기에 추가합니다.

# =CODEX-CONFIG=
[mcp_servers.discourse]
command = "npx"
args = ["-y", "@discourse/mcp@latest", "--profile", "=MCP-CONFIG="]

Codex MCP 설정 문서 Model Context Protocol | ChatGPT Learn

Discourse MCP 설정

Discourse MCP 서버 자체의 설정은 =CODEX-CONFIG=에 있습니다

# =MCP-CONFIG=
{
  "profiles": [
    {
      "site": "=DISCOURSE-FORUM=",
      "user_api_key": "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx",
      "user_api_client_id": "discourse-mcp"
    }
  ]
}

Discourse MCP 설정 문서 참고 GitHub - discourse/discourse-mcp: MCP client for Discourse sites · GitHub

5개의 좋아요