Skip to content

fix: Codex에 파일 업로더 MCP를 노출한다 - #13

Merged
jeonsworld merged 1 commit into
mainfrom
fix/codex-file-uploader-mcp-schema
Sep 17, 2026
Merged

jeonsworld merged 1 commit into
mainfrom
fix/codex-file-uploader-mcp-schema

Conversation

@jeonsworld

@jeonsworld jeonsworld commented Sep 17, 2026

Copy link
Copy Markdown
Contributor

문제

Codex가 portable mcp.jsonennoia-file-uploader를 로드하지 않아 플러그인을 설치해도 upload_ennoia_rag_file이 노출되지 않았습니다. stdio transport의 필수 type이 없고 cwd가 Agent Plugins 스키마에 맞지 않는 .으로 선언되어 있었습니다.

변경

  • local uploader를 type: stdio, cwd: ./로 선언
  • 생성 원본과 Codex/Claude 호환 MCP 설정을 함께 동기화
  • Plugin 및 uploader 버전을 1.4.2로 갱신
  • transport, 작업 디렉터리, uploader 버전 drift 회귀 검사 추가

검증

  • python3 scripts/sync_manifests.py --check
  • python3 scripts/validate.py
  • Python 회귀 테스트 44개 통과
  • Node uploader 회귀 테스트 36개 통과
  • python3 scripts/validate_results.py
  • Plugin Creator validator 통과
  • 임시 CODEX_HOME에서 Marketplace 설치 후 codex mcp listennoia-file-uploader enabled 노출 확인
  • git diff --check

Summary by CodeRabbit

  • 새 기능

    • 파일 업로더 MCP 서버가 stdio 전송 방식을 지원합니다.
    • 작업 디렉터리 설정이 표준 형식으로 조정되었습니다.
  • 변경 사항

    • 플러그인 및 MCP 서버 버전이 1.4.2로 업데이트되었습니다.
    • 서버 초기화 정보에 최신 버전이 표시됩니다.
  • 검증 및 테스트

    • 업로더 설정, 서버 버전 및 초기화 메타데이터 검증이 강화되었습니다.

@coderabbitai

coderabbitai Bot commented Sep 17, 2026

Copy link
Copy Markdown

Review Change StackReview Change Stack

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: Organization UI

Review profile: CHILL

Plan: Essentials

Run ID: c6ea3e63-7c8d-4b25-89ba-f0336e60cf16

📥 Commits

Reviewing files that changed from the base of the PR and between 4af4812 and c27e850.

📒 Files selected for processing (12)
  • .claude-plugin/marketplace.json
  • plugins/ennoia/.claude-plugin/plugin.json
  • plugins/ennoia/.codex-plugin/plugin.json
  • plugins/ennoia/.mcp.json
  • plugins/ennoia/mcp.json
  • plugins/ennoia/mcp/file-uploader.mjs
  • plugins/ennoia/plugin.json
  • scripts/sync_manifests.py
  • scripts/validate.py
  • tests/test_file_uploader.mjs
  • tests/test_file_uploader_lifecycle.mjs
  • tests/test_validation.py

Included review availability: 2 reviews are currently available. Your included PR review attempts over the past 7 days set your current allowance at 4 reviews per hour.


Walkthrough

플러그인 버전을 1.4.2로 갱신했습니다. ennoia-file-uploaderstdio 전송 유형과 ./ 작업 디렉터리를 설정했습니다. MCP 서버 버전 응답과 manifest 검증을 연결하고 테스트를 갱신했습니다.

Changes

플러그인 릴리스 정렬

Layer / File(s) Summary
버전 메타데이터와 서버 응답
.claude-plugin/marketplace.json, plugins/ennoia/.../plugin.json, plugins/ennoia/mcp/file-uploader.mjs, tests/test_file_uploader.mjs
플러그인 manifest 버전을 1.4.2로 변경했습니다. MCP initialize 응답이 SERVER_VERSION을 반환하도록 변경했습니다. 테스트는 서버 이름과 버전 1.4.2를 확인합니다.
stdio 실행 설정
plugins/ennoia/.mcp.json, plugins/ennoia/mcp.json, scripts/sync_manifests.py, tests/test_file_uploader_lifecycle.mjs
ennoia-file-uploaderstdio 유형을 추가했습니다. cwd./로 변경하고 생성된 실행 설정 테스트를 갱신했습니다.
설정 및 버전 검증
scripts/validate.py, tests/test_validation.py
검증기가 stdio, cwd, 실행 설정, uploader 파일 존재 여부를 확인하도록 변경했습니다. SERVER_VERSION이 manifest 버전과 다르면 검증 오류를 발생시킵니다. 관련 변조 테스트를 추가했습니다.

Priority: ⬇️ Low

Estimated code review effort: 2 (Simple) | ~10 minutes

Change: Bug fix

Merge Risk: ⚪ Minimal · up to c27e8

The plugin metadata, MCP transport configuration, and uploader version are aligned, with no concrete merge-blocking risk identified.

🚥 Pre-merge checks | ✅ 4 | ❌ 1

❌ Failed checks (1 warning)

Check name Status Explanation Resolution
Docstring Coverage ⚠️ Warning Docstring coverage is 0.00% which is insufficient. The required threshold is 80.00%. Docstring coverage is scoped to functions touched by this diff. Analyzed 7 functions across 6 files. (6 skipped: 6 … Write docstrings for the functions missing them to satisfy the coverage threshold.
✅ Passed checks (4 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed 제목은 Codex에서 파일 업로더 MCP를 노출하도록 수정하는 PR의 주요 목적을 정확하게 요약합니다.
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.
Full details: Docstring Coverage

Explanation

Docstring coverage is 0.00% which is insufficient. The required threshold is 80.00%. Docstring coverage is scoped to functions touched by this diff. Analyzed 7 functions across 6 files. (6 skipped: 6 unsupported.)

  • Fix all pre-merge checks with AI
✨ Finishing Touches 💡 1
📝 Generate docstrings 💡
  • Create stacked PR
  • Commit on current branch

Warning

Errors were encountered while retrieving linked issues.

Errors (1)
  • JIRA integration encountered authorization issues. Please disconnect and reconnect the integration in the CodeRabbit UI.

Comment @coderabbitai help to get the list of available commands.

@jeonsworld jeonsworld self-assigned this Sep 17, 2026
@jeonsworld
jeonsworld merged commit cee6cdd into main Sep 17, 2026
3 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant