이미 Claude Code 플러그인이나 커넥터를 배포하고 있다면 스킬과 MCP 서버의 포함 여부에 따라 제출 방식을 선택하세요.
| 현재 구성 | 제출 방법 |
|---|---|
| MCP 서버 없이 스킬만 포함 | 스킬 전용 플러그인을 업로드하세요. |
| 공개 HTTPS MCP 엔드포인트 | 원격 MCP 제출 초안을 만드세요. 스킬이 있다면 같은 초안에 포함하세요. |
| 로컬 MCP 서버 | 데스크톱 전용 플러그인 제출하기에서 제출 자격과 절차를 확인하세요. |
Claude에서는 Claude Code 플러그인과 MCP 커넥터의 제출 절차가 서로 다릅니다. OpenAI에서는 하나의 플러그인 패키지에 스킬이나 MCP 서버를 넣거나 둘 다 포함할 수 있습니다. Claude 마켓플레이스의 등록 정보와 승인 상태는 OpenAI로 이전되지 않습니다.
플러그인에 스킬이 포함되어 있다면 어느 방식으로 제출하든 먼저 지침 준수 여부 검토 가이드에 따라 스킬 지침을 검토하세요.
스킬 전용 플러그인 제출하기
플러그인에 MCP 서버가 필요하지 않다면 이 방식을 선택하세요.
OpenAI 지원 범위 확인하기
| Claude 플러그인의 구성 요소 | 처리 방법 |
|---|---|
skills |
각 스킬의 SKILL.md, 스크립트, 참고 자료, 에셋을 함께 보관하세요. Claude 아카이브를 직접 업로드하려면 skills/<skill-name>/SKILL.md 경로에 스킬이 하나 이상 있어야 합니다. |
| 매니페스트에 선언된 사용자 지정 스킬 디렉터리 | 해당 디렉터리와 매니페스트의 디렉터리 선언을 모두 아카이브에 유지하세요. |
| Claude를 명시적으로 언급하는 스킬 | 스킬 지침에서 Claude를 지칭하는 표현을 ‘모델’처럼 특정 제공업체에 한정되지 않는 표현으로 바꾸세요. 지침이 실제로 해당 제품에 적용되는 경우에만 제품명을 유지하세요. |
commands, commands/, agents 또는 agents/ |
재사용할 수 있는 동작을 스킬로 변환하세요. 각 Markdown 명령어를 스킬로 바꾸고, 재사용 가능한 에이전트 절차를 스킬로 옮기세요. 유용한 페르소나 지침은 관련 스킬에 통합하세요. |
hooks 또는 hooks/hooks.json |
공개 디렉터리에 제출하기 전에 라이프사이클 훅을 제거하세요. 플러그인에 라이프사이클 훅이 필요하다면 사용자가 Codex 데스크톱에서 직접 설치할 수 있도록 배포하세요. 라이프사이클 훅을 참고하세요. |
userConfig 또는 ${user_config.*} |
OpenAI는 설치 시 Claude의 입력 프롬프트를 실행하거나 user_config 변수를 실제 값으로 치환하지 않습니다. Claude userConfig 대체하기의 지침을 따르세요. 플러그인에 인증 정보나 지속적으로 보관할 사용자 설정이 필요하다면 MCP 서버를 사용하세요. |
| Claude 라이브 아티팩트를 만들거나 업데이트하는 스킬 | OpenAI는 현재 Claude 라이브 아티팩트를 지원하지 않습니다. 아티팩트를 만들거나 다시 열거나 새로고침하거나 업데이트하도록 요구하는 지침을 제거하세요. 대신 아티팩트의 콘텐츠를 일반 대화 응답으로 반환하세요. 예를 들어 아티팩트에 있는 표는 일반 표로 표시하세요. 아티팩트 고유의 HTML, 상태 유지, 새로고침 동작, 상호작용은 보존되지 않습니다. |
bin/, settings, settings.json, CLAUDE.md 또는 .claude/settings*.json |
필요한 보조 프로그램과 지침은 플러그인에 유지하세요. 패키지에 포함된 실행 파일은 패키지 기준 상대 경로로 호출하고, Claude 전용 설정은 제거하세요. |
outputStyles, lspServers, experimental.themes, experimental.monitors, channels 또는 dependencies |
필수 동작을 스킬로 옮긴 다음 Claude용 선언을 제거하세요. 핵심 워크플로우에서 채널 메시지를 수신해야 한다면 OpenAI 파트너에게 문의하세요. |
.claude-plugin/plugin.json |
Claude 아카이브를 직접 업로드하려면 매니페스트를 유지하세요. 포털에서 이를 .codex-plugin/plugin.json으로 변환합니다. |
.claude-plugin/marketplace.json, .mcp.json, mcpServers, .app.json 또는 apps |
이러한 파일이나 선언에 의존하지 마세요. 스킬 전용 업로드에서는 MCP 서버 설정이 제외되며, 기존 MCP 서버 통합을 참조하는 방식으로는 제출할 수 없습니다. |
아카이브 준비 및 업로드하기
- 아카이브 루트 또는 그 안의 유일한 최상위 디렉터리에
.claude-plugin/plugin.json이 있는지 확인하세요. 이 파일의description값은 비어 있으면 안 되며, 같은 디렉터리를 기준으로skills/<skill-name>/SKILL.md경로에 유효한 스킬이 하나 이상 있어야 합니다. - 플러그인 제출 포털을 열고 Create plugin과 Skills only 항목을 차례로 선택한 다음 아카이브를 업로드하세요.
- 생성된
.codex-plugin/plugin.json을 검토하세요. 포털은 변환 과정에서 누락된 인터페이스 기본값을 추가하고 텍스트 필드를 정규화합니다. - 깨끗한 환경에서 가져온 스킬을 테스트하세요. 각 스킬이 참조하는 파일과 실행 파일을 찾을 수 있는지, 선언되지 않은 로컬 패키지, 파일 또는 인증 정보에 의존하지 않는지 확인하세요.
- 등록 정보와 심사 항목을 작성하고 검사에서 발견된 문제를 모두 해결한 다음 초안을 제출하세요.
아카이브가 직접 업로드 요건을 충족하지 않는다면 플러그인 패키징하기에 따라 OpenAI용 매니페스트와 패키지 구조를 만드세요. 스킬 요건은 스킬 만들기를 참고하세요.
원격 MCP 서버가 포함된 플러그인 제출하기
OpenAI에서 접속할 수 있는 안정적인 공개 HTTPS URL이 서버에 있다면 이 방식을 선택하세요. Claude 플러그인에서 로컬로 실행하던 서버도 원격 서비스로 배포했다면 이 방식으로 제출할 수 있습니다.
OpenAI 지원 범위 확인하기
| Claude 통합의 구성 요소 | 처리 방법 |
|---|---|
| 원격 MCP 서버 | 기존 서버 구현을 재사용하세요. Streamable HTTP를 사용하는 안정적인 공개 HTTPS 엔드포인트를 제출하세요. |
로컬 MCP 서버 또는 Claude Desktop 확장 프로그램(.mcpb) |
MCP 서버를 공개 HTTPS URL에 배포하거나 데스크톱 전용 플러그인 제출하기에 따라 로컬 MCP 플러그인을 제출하세요. 포털은 .mcpb 파일을 받지 않습니다. |
| 스킬 또는 매니페스트에 선언된 사용자 지정 스킬 디렉터리 | With MCP 방식으로 제출할 때 같은 초안에 스킬도 포함하세요. 각 SKILL.md를 해당 스킬의 스크립트, 참고 자료, 에셋과 함께 보관하세요. |
| Claude를 명시적으로 언급하는 스킬 | 스킬 지침에서 Claude를 지칭하는 표현을 ‘모델’처럼 특정 제공업체에 한정되지 않는 표현으로 바꾸세요. 지침이 실제로 해당 제품에 적용되는 경우에만 제품명을 유지하세요. |
commands, commands/, agents 또는 agents/ |
재사용할 수 있는 동작을 스킬로 변환하세요. 각 Markdown 명령어를 스킬로 바꾸고, 재사용 가능한 에이전트 절차를 스킬로 옮기세요. 유용한 페르소나 지침은 관련 스킬에 통합하세요. |
hooks 또는 hooks/hooks.json |
공개 디렉터리에 제출하기 전에 라이프사이클 훅을 제거하세요. 플러그인에 라이프사이클 훅이 필요하다면 사용자가 Codex 데스크톱에서 직접 설치할 수 있도록 배포하세요. 라이프사이클 훅을 참고하세요. |
userConfig 또는 ${user_config.*} |
OpenAI는 설치 시 Claude의 입력 프롬프트를 실행하거나 user_config 변수를 실제 값으로 치환하지 않습니다. Claude userConfig 대체하기에 따라 각 값의 용도에 맞게 명시적 입력, OAuth, 호스팅 서비스의 저장소 또는 Codex 로컬 설정을 사용하세요. |
| Claude 라이브 아티팩트를 만들거나 업데이트하는 스킬 | OpenAI는 현재 Claude 라이브 아티팩트를 지원하지 않습니다. 아티팩트를 만들거나 다시 열거나 새로고침하거나 업데이트하도록 요구하는 지침을 제거하세요. 대신 아티팩트의 콘텐츠를 일반 대화 응답으로 반환하세요. 예를 들어 아티팩트에 있는 표는 일반 표로 표시하세요. 아티팩트 고유의 HTML, 상태 유지, 새로고침 동작, 상호작용은 보존되지 않습니다. |
.app.json, apps 또는 기존 MCP 서버 통합 |
MCP 서버 엔드포인트를 직접 제출하세요. 기존 MCP 서버 통합을 참조하는 방식으로는 제출할 수 없습니다. |
outputStyles, lspServers, experimental.themes, experimental.monitors, channels 또는 dependencies |
필수 동작을 스킬이나 MCP 도구로 옮긴 다음 Claude용 선언을 제거하세요. 핵심 워크플로우에서 채널 메시지를 수신해야 한다면 OpenAI 파트너에게 문의하세요. |
MCP 서버 준비 및 제출하기
- Streamable HTTP를 사용해 MCP 서버를 프로덕션 HTTPS 엔드포인트에 배포하세요. 서버가 사용자의 비공개 데이터에 접근하거나 사용자를 대신해 작업을 수행한다면 OAuth 2.1을 사용하세요. 사용자 인증하기에 안내된 제품 요건과 MCP 인가 사양을 따르세요.
- 각 도구의 동작을 정확히 반영하는 스키마와 안전성 어노테이션을 추가하세요. 모든 도구에서 연결과 인증이 정상적으로 이루어지는지, 결과가 예상한 형식으로 반환되는지, 쓰기 작업이나 파괴적 작업에 의도한 대로 사용자 확인을 요구하는지 테스트하세요.
- 명령어나 에이전트가 있다면 스킬로 변환하고, 스킬이 선언되지 않은 로컬 패키지, 파일 또는 인증 정보에 의존하지 않는지 확인하세요.
- 플러그인 제출 포털을 열고 Create plugin과 With MCP 항목을 차례로 선택한 다음 프로덕션 엔드포인트를 제출하세요. 변환한 스킬이 있다면 같은 초안에 추가하세요.
- 서버 도메인을 검증하고, 서버에 로그인이 필요하다면 인증을 설정하세요. 등록 정보와 심사 항목을 작성하고 검사에서 발견된 문제를 모두 해결한 다음 초안을 제출하세요.
제출 전에 다음 두 가지 설정을 준비하세요.
- 도메인 검증: MCP 호스트나 허용된 상위 호스트의
/.well-known/openai-apps-challenge경로에서 포털이 지정한 토큰을 그대로 제공할 수 있어야 합니다. 포털에 안내가 표시되면 검증을 완료하세요. MCP 제출 설정하기를 참고하세요. - OAuth 및 워크스페이스 도메인 제한: 플러그인에서 OAuth를 사용한다면 사용자의
email클레임과email_verified: true를 반환하는 UserInfo 엔드포인트를 제공하세요.openid와email을 지원 범위로 명시하고 두 범위를 모두 활성화하세요. 워크스페이스 도메인 제한 지원하기를 참고하세요.
제출하기 전에 원격 MCP 서버 심사 요건을 확인하세요.
Claude userConfig 대체하기
OpenAI 플러그인은 설치 시 Claude의 userConfig 입력 프롬프트를 실행하거나 ${user_config.*} 참조를 실제 값으로 치환하지 않습니다. 이러한 참조를 제거하고 플러그인에서 각 값을 사용하는 방식에 맞게 대체하세요.
| 값의 용도 | OpenAI에서 사용하는 방법 |
|---|---|
| 작업마다 달라질 수 있는 선택 사항 | 스킬이나 MCP 도구에 명시적인 입력 항목을 추가하세요. 워크플로우에 해당 값이 필요할 때만 입력을 요청하세요. |
| 원격 서비스의 인증 정보 | 원격 MCP 서버에서 OAuth 2.1을 사용하세요. 스킬 아카이브, 매니페스트, 지침 또는 기본값에 비밀 정보를 넣지 마세요. |
| 계속 유지해야 하는 사용자 설정 | 호스팅 서비스에 설정을 저장하고 인증된 사용자와 연결하세요. 사용자가 명시적인 워크플로우나 도구 입력을 통해 설정을 변경할 수 있도록 하세요. |
| Codex에서 로컬로 실행하는 스크립트나 훅의 설정 | 문서화된 환경 변수나 설정 파일을 사용하세요. 사용 전에 설정을 확인하고, 누락된 경우 해결 방법을 안내하는 오류 메시지를 반환하세요. ChatGPT의 핵심 워크플로우는 이 로컬 설정 없이도 작동해야 합니다. |
| 모든 사용자에게 동일하게 적용되는 고정값 | 스킬 지침이나 호스팅 서비스 설정에 비밀 정보가 아닌 기본값을 지정하세요. |
스킬 전용 플러그인에 인증 정보가 필요하거나 대화가 끝난 뒤에도 유지해야 하는 설정이 있다면 MCP 서버를 추가하세요. 원격 서버에는 OAuth와 호스팅 서비스의 저장소를 사용하세요. 값이 현재 작업에만 영향을 준다면 스킬 전용 플러그인을 유지하고 해당 값을 스킬의 명시적인 입력으로 받으세요.
제출 요건 충족하기
어느 방식으로 제출하든 먼저 플러그인을 소유할 OpenAI 조직에서 Apps Management 쓰기 권한을 확보하세요. 개인 또는 사업자 신원 확인도 완료해야 합니다. 모든 플러그인은 OpenAI 심사를 거쳐야 합니다.
플러그인의 핵심 기능에 로컬 실행, 사용자 컴퓨터의 임의 파일에 대한 접근, 하드웨어 또는 애플리케이션 접근, 오프라인 작동, 채널 메시지 수신이 필요하다면 제출 전에 OpenAI 파트너에게 문의하세요. 이러한 경우에는 제품별 심사가 필요할 수 있습니다.
포털의 전체 제출 절차는 플러그인 제출하기를 참고하세요. 포털에 패키지 검증 코드가 표시되면 제출 오류 참조 문서를 확인하세요.