Skip to main content
Glama
drharunyuksel

codex-upwork-mcp-bridge

Codex ↔ Upwork MCP 브리지

Upwork의 MCP 서버를 OpenAI Codex 및 ChatGPT 데스크톱 애플리케이션과 함께 사용하기 위한 비공식 호환성 브리지입니다.

Upwork MCP 서버는 일부 MCP 클라이언트에서는 인증 및 작동이 가능하지만, Codex에서는 도구가 노출되지 않거나 Unexpected response type 오류가 보고됩니다. 이 작은 stdio 브리지는 mcp-remote를 실행하고, Upwork의 서버-클라이언트 ping 요청에 로컬로 응답하며, Codex로 전달하기 전에 tools/list 응답에서 관찰된 두 가지 캐시 힌트를 제거합니다.

이는 커뮤니티 해결 방법이지 공식 Upwork 또는 OpenAI 프로젝트가 아닙니다. 먼저 Upwork의 MCP 엔드포인트를 직접 사용해 보세요. 호환성 문제는 언제든지 업스트림에서 수정될 수 있습니다.

상태

macOS에서 Codex CLI 0.149.0, Bun, https://mcp.upwork.com/mcp로 테스트되었습니다. 동일한 Codex MCP 구성은 공유 Codex 구성을 사용할 때 ChatGPT 데스크톱 애플리케이션에서도 사용할 수 있습니다.

정확한 실패 필드는 아직 최소 업스트림 재현으로 분리되지 않았습니다. 브리지는 실패한 교환 중 관찰된 두 가지 프로토콜 차이를 모두 정규화합니다:

  • 서버에서 클라이언트로 전송된 JSON-RPC ping 요청에 응답합니다.

  • 도구 목록 결과에서 ttlMs 및 cacheScope 캐시 힌트를 제거합니다.

이러한 캐시 힌트는 최신 MCP 초안에 존재합니다. 상호운용성 문제는 해당 필드가 보편적으로 유효하지 않다는 것이 아니라, 이전 프로토콜 개정이 협상되는 동안 반환되었다는 점입니다.

Related MCP server: harness_to_mcp

설치

전제 조건:

  • Bun 1.2 이상

  • Codex CLI

  • Upwork OAuth용 웹 브라우저

클론 및 의존성 설치:

git clone https://github.com/drharunyuksel/codex-upwork-mcp-bridge.git
cd codex-upwork-mcp-bridge
bun install --frozen-lockfile

예제 경로를 클론의 절대 경로로 바꿔서 브리지를 Codex에 등록합니다:

codex mcp add upwork -- bun run /absolute/path/to/codex-upwork-mcp-bridge/src/index.ts

이미 upwork라는 이름의 MCP 서버가 있다면 명령을 실행하기 전에 해당 항목을 제거하거나 이름을 바꾸세요. MCP 구성을 변경한 후 Codex와 ChatGPT를 다시 시작하세요. 처음 사용 시 mcp-remote가 브라우저에서 Upwork의 OAuth 인증을 엽니다.

~/.codex/config.toml에 수동으로 추가할 수도 있습니다:

[mcp_servers.upwork]
command = "/absolute/path/to/bun"
args = ["run", "/absolute/path/to/codex-upwork-mcp-bridge/src/index.ts"]
startup_timeout_sec = 60

Bun의 절대 경로는 command -v bun으로 확인하세요.

확인

codex mcp list
codex mcp get upwork

그런 다음 Codex에 사용 가능한 Upwork 도구를 나열하거나 Upwork 프로필 표시와 같은 읽기 전용 작업을 수행하도록 요청하세요. 문제를 보고할 때 비공개 도구 출력을 게시하지 마세요.

제거

codex mcp remove upwork

Codex 항목을 제거해도 mcp-remote의 로컬 OAuth 세션은 제거되지 않습니다. 해당 세션도 지우려면 mcp-remote 문서를 참조하세요.

작동 방식

Codex / ChatGPT  <-- stdio JSON-RPC -->  this bridge
                                             |
                                             v
                                        mcp-remote
                                             |
                                             v
                                 https://mcp.upwork.com/mcp

브리지는 관찰된 두 가지 호환성 지점만 변경합니다. 다른 JSON-RPC 메시지는 그대로 통과합니다. 프로토콜 트래픽은 stdout에 유지되고 진단 정보는 stderr로 전송되어 MCP 스트림을 손상시킬 수 없습니다.

관련 Codex 보고서

이 저장소는 Upwork 사례를 다루지만, 유사한 보고서는 다른 클라이언트에서 작동하는 MCP 도구 결과를 Codex가 거부하거나 표시하지 못하는 상황을 설명합니다:

개발

bun install --frozen-lockfile
bun test

라이선스

MIT

Related MCP Connectors

Related MCP Servers

  • A
    license
    Not graded
    quality
    C
    maintenance
    A universal server that enables MCP-compatible clients (like Claude Desktop, Cursor, VS Code) to access OpenAI's APIs for chat completions, image generation, embeddings, and model listing through a standardized interface.
    17 npm
    7
    MIT
  • A
    license
    B
    quality
    C
    maintenance
    Extended MCP server for OpenAI with support for GPT-5 family, Codex models, and automatic API endpoint selection, enabling chat interactions via the openai_chat tool.
    1
    10 npm
    MIT