Skip to main content
Glama

DarwinRelay

CI CodeQL: JavaScript CodeQL: Swift License: MIT

ChatGPT를 Mac용 로컬 에이전트로 바꿔보세요.

DarwinRelay는 소스 우선(source-first) macOS MCP 런타임으로, ChatGPT 및 기타 MCP 클라이언트에게 여러분이 이미 사용 중인 Mac에 대한 구조화된 접근 권한을 제공합니다: 셸과 파일, 실제 PTY, 장기 실행 작업, 백그라운드 Chrome, 네이티브 데스크톱 제어, 그리고 영구 저장된 Codex 기록까지 포함합니다.

ChatGPT 자체를 로컬 코딩 에이전트처럼 사용하세요: 저장소를 검사하고, 실패를 재현하고, 코드를 수정하고, 테스트를 실행하고, 여러분의 머신에서 결과를 검증하게 하세요 — 대화와 macOS 사이에 또 다른 코딩 모델을 끼워 넣을 필요 없이 말입니다.

[!CAUTION] DarwinRelay는 의도적으로 강력합니다. 샌드박스가 아니며 파일시스템이나 셸 명령어 허용 목록을 구현하지 않습니다. 연결된 클라이언트는 브리지를 실행 중인 macOS 사용자의 유효 권한으로 동작할 수 있습니다. 클라이언트를 연결하거나 런타임을 localhost 너머로 노출하기 전에 SECURITY.md를 읽으세요.

ChatGPT를 로컬 에이전트로 사용하기

일반적인 개발자 작업은 다음과 같이 간단하게 시작할 수 있습니다:

Use DarwinRelay and work on ~/Projects/myapp.

Find why authentication is failing. Reproduce the problem, fix the underlying
cause, run the relevant tests, and verify the result locally.

ChatGPT가 DarwinRelay의 전체 도구 표면을 노출하면, 같은 대화가 전체 로컬 루프를 통해 작업을 수행할 수 있습니다:

understand → inspect → reproduce → modify → execute → verify → iterate

DarwinRelay는 해당 워크플로우에 Codex를 요구하지 않습니다. ChatGPT가 추론 클라이언트이고, DarwinRelay가 Mac에서 실행되는 실행 런타임입니다.

ChatGPT 가용성

ChatGPT의 커스텀 MCP 가용성은 OpenAI가 통제하며 DarwinRelay와 무관하게 변경될 수 있습니다. 플랜, 워크스페이스, 출시 범위, UI 동작이 현재 문서와 다를 수 있으므로, 해당 ChatGPT 세션이 사용할 수 있는 도구 표면은 계정에 표시된 내용을 기준으로 삼으세요. 연결을 설정할 때 현재 OpenAI 개발자 모드 및 MCP 앱 문서를 참조하세요.

DarwinRelay 자체는 MCP 클라이언트 중립적이며, 필요한 MCP 도구 표면을 지원하는 다른 클라이언트에서도 사용할 수 있습니다.

여기서 "로컬 에이전트"는 워크플로우를 의미하며, ChatGPT의 별도 Agent mode 제품 기능을 의미하지 않습니다. OpenAI는 현재 Agent mode가 커스텀 앱을 사용하지 않는다고 밝히고 있습니다. 커스텀 앱을 선택한 일반 ChatGPT 대화에서 DarwinRelay를 사용하세요.

Related MCP server: OmniCommanderMCP

무엇을 할 수 있나요?

  • 셸과 파일 — 명령어 실행, 파일 검사 또는 수정, 패치 적용, 로컬 프로세스 관리.

  • 실제 PTY — 대화형 셸, REPL, SSH, sudo 프롬프트, TUI, 장기 실행 터미널 프로그램.

  • 작업 및 프로세스 수명주기 — 한 번의 도구 호출을 넘어 지속되는 작업 시작, 나중에 검사, 종료 시 회수.

  • 네이티브 컴퓨터 사용 — 의미론적 Accessibility 쿼리/동작, 창, 대화상자, 파일 패널, 스크린샷, OCR, 키보드/마우스 폴백, 시각적 대기.

  • 백그라운드 브라우저 자동화 — 전용 Chrome 프로필과 확장 프로그램 소유 탭 풀로, 포커스를 빼앗지 않으면서 탐색, 검사, 입력, 클릭 가능.

  • Codex 기록 — 재개하거나 다른 모델 턴을 시작하지 않고 영구 저장된 Codex 스레드 읽기.

  • 인증된 MCP 전송 — 로컬에서는 stdio, 또는 사용자가 제어하는 터널 뒤의 포함된 HTTP/OAuth 프론트 엔드.

  • 실패 시 잠금(fail-closed) 수명주기 제어 — 명시적 전체 접근 잠금 해제, 감사 메타데이터, 프로세스 회수, 단일 메뉴 소유권, 롤백 인식 앱 업데이트.

개발자 워크플로우

첫 번째로 유용한 DarwinRelay 워크플로우는 브라우저 자동화, 네이티브 UI 권한, 또는 Codex 기록을 요구하지 않아야 합니다.

ChatGPT
  ↓
DarwinRelay
  ↓
local repository
  ↓
read files / run commands / edit code / run tests
  ↓
verify the result on the same Mac

핵심 코딩 루프가 작동하면, 작업이 필요할 때만 기능을 추가하세요:

  • 대화형 디버거, REPL, SSH 세션, 또는 TUI에 PTY 사용;

  • 웹 워크플로우에 백그라운드 Chrome 사용;

  • ChatGPT가 실제 macOS 앱을 조작해야 할 때 네이티브 데스크톱 권한 부여;

  • ChatGPT가 이전 Codex 작업을 검사하거나 계속하고 싶을 때 Codex 기록 사용.

복사-붙여넣기 워크플로우는 examples/README.md를 참조하세요.

코딩 너머

DarwinRelay는 로컬 코드, 프로세스, 브라우저 상태, 네이티브 macOS UI를 하나의 실행 루프에서 결합할 수 있습니다. 예를 들어, 데스크톱 앱 디버깅 작업은 다음과 같을 수 있습니다:

launch the app
→ reproduce the issue through the real UI
→ inspect logs and code
→ fix the implementation
→ restart the app
→ repeat the UI flow
→ verify the fix

네이티브 데스크톱 레이어는 Accessibility를 우선 사용하고 필요 시 ScreenCaptureKit/Vision 및 합성 입력으로 폴백합니다. 브라우저 레이어는 기본적으로 일상 프로필을 조용히 가로채는 대신 전용 로컬 Chrome 프로필을 사용합니다.

이미 Codex를 사용 중이신가요?

DarwinRelay는 다른 Codex 모델 턴을 시작하지 않고 영구 저장된 Codex 기록을 읽을 수 있습니다. 이는 Codex를 필수 중개자가 아닌 유용한 연속성 소스로 만듭니다:

Find the latest Codex thread for this project.
Summarize the objective, branch, changed files, current errors, and unfinished step.
Then inspect the live repository and continue the work from ChatGPT.

빠른 시작

DarwinRelay는 현재 소스 우선 / 자체 빌드 방식입니다. GitHub Releases는 사전 빌드된 .app 또는 .dmg를 제공하지 않으며, 현재 제품 모델에는 유료 Apple Developer Program 멤버십이 필요하지 않습니다.

1. 요구 사항

핵심 자체 빌드:

  • macOS 13 이상;

  • Node.js 18 이상 (CI에서는 Node.js 22 사용);

  • 메뉴 앱 및 네이티브 헬퍼용 Xcode Command Line Tools / swiftc.

메뉴 앱의 HTTP/Server URL 경로를 통해 ChatGPT를 사용하려면 cloudflared도 설치하고 로그인 셸 PATH에서 사용 가능한지 확인하세요.

선택적 기능:

  • Accessibility, Screen Recording, Input/Post Events 권한 — 네이티브 데스크톱 제어에만 필요;

  • Full Disk Access — 작업이 macOS 보호 파일시스템 위치를 필요로 할 때만;

  • Google Chrome — 관리되는 chrome_* 백그라운드 워크스페이스에만;

  • Codex CLI/기록 — codex_thread_* 연속성 도구에만.

2. 설치 경로 선택

옵션 A — 로컬 코딩 에이전트로 설치

이미 Codex, Claude Code, 또는 셸/파일시스템 접근이 가능한 다른 로컬 코딩 에이전트를 사용 중이신가요? 자체 빌드를 대신 수행하게 하세요:

Install DarwinRelay on this Mac from:
https://github.com/dcierra/darwinrelay

Read AGENTS.md and the installation documentation first.

Install or verify the required dependencies, then build and install DarwinRelay
using the documented source-first/self-build path. Configure everything that
can be configured without weakening the project's security model.

Do not bypass macOS security controls. Do not use my personal Chrome profile.

When macOS requires Accessibility, Screen Recording, Input/Post Events, Full
Disk Access, Keychain access, or another user-consent step, stop and tell me
exactly what I need to approve manually.

After installation, verify that DarwinRelay starts correctly and report what
remains to connect it to my MCP client.

에이전트는 추측하지 말고 저장소를 따라야 합니다. 이 경로에서 모호한 의존성, 빌드 단계, 또는 권한 전달이 드러나면, 더 긴 프롬프트로 덮어쓰는 대신 DarwinRelay의 스크립트/문서에서 수정해야 할 온보딩 버그입니다.

옵션 B — 수동 설치

git clone https://github.com/dcierra/darwinrelay.git
cd darwinrelay
npm run check
./menubar/build.sh
open /Applications/DarwinRelay.app

빌드 스크립트는 가능한 경우 로컬로 빌드된 메뉴 앱을 /Applications에 설치합니다 (~/Applications로 폴백). DarwinRelay 체크아웃을 제자리에 유지하세요: 자체 빌드 앱은 의도적으로 해당 소스 패키지에서 런타임을 해석합니다.

빌드는 사용 가능한 영구 로컬 코드 서명 ID가 있으면 이를 사용하고, 그렇지 않으면 임시(ad-hoc) 서명으로 폴백합니다. 임시 빌드는 유료 Apple Developer 멤버십 없이 작동하지만, 지정 요구 사항(designated requirement)이 변경될 수 있으므로 재빌드 후 macOS TCC 권한을 다시 부여해야 할 수 있습니다.

설치 부작용 없이 컴파일/서명 스모크 테스트만 하려면:

DARWINRELAY_APP_OUTPUT=/tmp/DarwinRelay.app ./menubar/build.sh --build-only

DarwinRelay 업데이트

./scripts/update.sh는 DarwinRelay v0.6.5부터 포함됩니다. 기존 설치가 v0.6.4 이하인 경우, 위 설치 단계를 사용하여 v0.6.5로 최종 소스 우선 수동 업그레이드/재설치를 수행하세요. v0.6.5부터는 릴리스 간 변경에 업데이터를 사용하세요.

DarwinRelay v0.6.9부터 메뉴 바에서 **Update DarwinRelay…**도 노출됩니다. 명시적 확인을 요청하고, 독립적인 Terminal 창에서 동일한 표준 업데이터를 열며, 앱이 재시작되는 동안 진행 상황을 표시합니다. 자동 또는 무음 업데이트 경로는 없습니다.

곧 재시작될 DarwinRelay MCP 연결을 통하지 않고, 일반 로컬 Terminal/iTerm 세션(또는 다른 독립 로컬 셸)에서 동일한 업데이터를 직접 실행할 수 있습니다:

cd /path/to/darwinrelay
./scripts/update.sh

이 명령은 최신 안정 vMAJOR.MINOR.PATCH 릴리스로 업데이트합니다. 정확한 게시 릴리스를 선택하려면:

./scripts/update.sh v0.6.5

업데이터는 Git 체크아웃과 /Applications/DarwinRelay.app을 하나의 트랜잭션으로 취급합니다. 표준 GitHub 원본을 검증하고, 정확한 안정 릴리스 태그에 고정된 깨끗한 체크아웃을 요구하며, 소스 무결성을 확인하고, 이동된 태그와 다운그레이드를 거부하며, 동일한 서명 ID로 새 앱을 원자적으로 설치하고, 자동 시작을 새로 고치고, 실패 시 잠금으로 재시작하며, 실제 MCP 닥터가 CORE VERDICT: READY를 반환하도록 요구합니다. 활성화가 실패하면 이전 체크아웃과 보존된 롤백 앱을 모두 복원하려고 시도합니다.

의도적으로 git pull, git reset --hard를 사용하지 않으며 로컬 작업을 삭제하지 않습니다. 더럽거나 개발 중인 체크아웃은 거부됩니다. 개발 변경 사항은 프로덕션 설치를 코딩 체크아웃으로 사용하는 대신 다른 브랜치/워크트리에 유지하세요.

백그라운드 Chrome 확장 프로그램이 이 체크아웃에서 압축 해제된 상태로 로드되므로, 매니페스트/소스를 변경하는 릴리스는 전용 DarwinRelay 프로필의 Chrome 확장 프로그램 페이지에서 수동 Reload가 한 번 필요할 수 있습니다. 업데이터는 확장 프로그램 버전이 변경될 때 이를 보고합니다. 개인 프로필을 대체하지 마세요.

프로젝트 유지 관리자의 경우, 업데이터/수명주기 변경에는 추가 사전 릴리스 게이트가 있습니다: 정확한 태그 없는 후보가 공개 태그가 생성되기 전에 실제 Mac에서 scripts/test-update-candidate.sh로 테스트됩니다. 이는 사용자 대상 업데이터와 의도적으로 분리되어 있어 임의의 커밋이 일반 업데이트 대상이 되지 않습니다.

3. ChatGPT 연결

DR 메뉴 바 항목을 열고 Start를 누르세요. MCP 전송이 실행 중이면 Copy ChatGPT Setup을 선택하고 docs/CHATGPT.md를 따르세요.

첫 번째 코딩 워크플로우는 Chrome, Codex 기록, Accessibility, Screen Recording, 또는 Input 권한이 필요하지 않습니다. 작업이 실제로 필요할 때 나중에 구성하세요.

4. 아무것도 수정하기 전에 검증

읽기 전용 확인으로 시작하세요:

Use DarwinRelay. Call bridge_status first.
Then list ~/Projects/myapp and read its top-level README/package metadata.
Do not modify files or run shell commands yet.

그런 다음, ChatGPT가 계정에서 DarwinRelay의 쓰기/실행 도구를 노출한다면 실제 워크플로우를 시도하세요:

Use DarwinRelay and work on ~/Projects/myapp.
Run the test suite, find one failing test, fix the underlying issue, rerun the
relevant tests, and verify the result. Do not deploy or force-push anything.

문제 해결을 위해 실행:

./scripts/doctor.sh

닥터는 이제 선택적 네이티브 데스크톱, 보호 파일시스템, 백그라운드 Chrome, Codex 기능과 별도로 차단성 Core / MCP 코딩 경로 판정을 제공합니다. 선택한 전송에 대해 실제 로컬 initialize → bridge_status 스모크 검사를 수행하고 차단 실패에 대한 다음 조치를 출력합니다. 더 깊은 수명주기/브라우저 진단은 로드맵에서 계속 발전하고 있습니다.

소스 전용 로컬 MCP 사용

로컬 stdio 서버에 연결할 수 있는 MCP 클라이언트의 경우, 브리지는 메뉴 앱 없이 직접 실행할 수도 있습니다. 전체 접근이 명시적으로 확인되어야 합니다:

export DARWINRELAY_FULL_ACCESS_ACK=I_UNDERSTAND_THIS_GRANTS_FULL_ACCESS
node bridge.mjs

기본 런타임 상태:

~/Library/Application Support/DarwinRelay
~/Library/Logs/DarwinRelay

DARWINRELAY_DATA_DIR, DARWINRELAY_LOG_DIR, DARWINRELAY_SHELL, DARWINRELAY_AUDIT_MODE와 같은 환경 변수를 사용하여 개발/테스트 인스턴스를 격리하세요.

작동 방식

flowchart LR
    A[MCP client] --> B[DarwinRelay bridge]
    B --> C[Shell / filesystem / jobs]
    B --> D[PTY helper]
    B --> E[Codex persisted history]
    B --> F[MacUIHelper]
    F --> G[Accessibility / ScreenCaptureKit / Vision / CGEvent]
    B --> H[Chrome native host]
    H --> I[DarwinRelay Chrome extension]
    I --> J[Background DR tab pool]

네이티브 데스크톱 헬퍼는 권한 있는 데몬이 아닌 의도적으로 수명이 짧습니다. 메뉴 앱, MacUIHelper, 가상 커서는 안정적인 코드 서명 식별자를 사용하므로, 영구 서명 ID가 사용 가능할 때 macOS TCC 권한이 일반적인 재빌드에서도 유지될 수 있습니다.

구성 요소, 데이터 흐름, 신뢰 경계는 docs/ARCHITECTURE.md를 참조하세요.

AI 및 코딩 에이전트를 위해

이 저장소는 의도적으로 에이전트 지향 문서를 포함합니다. 저장소를 Codex, Claude, ChatGPT 또는 다른 코딩 에이전트에 제공한다면, 먼저 **AGENTS.md**를 가리키세요. 저장소 맵, 불변 조건, 개발 명령어, 테스트 기대치, 서명/브라우저 규칙, 릴리스 제약을 설명합니다.

소스를 수정하지 않고 이미 설치된 DarwinRelay 런타임을 운영하는 에이전트의 경우 **docs/AGENT_OPERATIONS.md**를 사용하세요. 완전한 도구 계열 맵, 선호 결정 순서, 일반적인 실패 상태, 안전한 런타임 워크플로우를 포함합니다.

네이티브 데스크톱 제어

DarwinRelay는 의미론적 Accessibility 작업을 선호하며 시각적/원시 입력을 폴백으로 사용합니다. 핵심 기능은 다음과 같습니다:

  • ui_observe, ui_tree, ui_ax_query, ui_ax_at;

  • 지문 기반 AX 참조 및 만료 참조 감지;

  • ui_action, ui_wait_for, ui_assert;

  • ui_app_*, ui_window_*, 대화상자 및 파일 패널;

  • ScreenCaptureKit 스크린샷 및 Vision OCR;

  • macOS가 지원하는 경우 PID 대상 백그라운드 입력(의미론적 검증 및 제한된 포그라운드 폴백 포함);

  • 결정적 다단계 네이티브 버스트를 위한 ui_sequence;

  • 물리적 포인터를 움직이지 않는 클릭 통과형 가상 AI 커서.

제어 모델 및 제한 사항은 docs/DESKTOP_CONTROL.md를 참조하세요.

백그라운드 Chrome 작업 공간

DarwinRelay는 압축 해제된 Chrome 확장 프로그램과 Native Messaging을 사용합니다. 공개 확장 프로그램 ID는 안정적이며, 예상 확장 프로그램 ID는 다음과 같습니다:

pfhahlehpahegefejooendokpkklgmgd

설치 프로그램은 기본적으로 로그아웃된 로컬 Chrome 프로필 DarwinRelay를 생성하거나 재사용합니다. 이렇게 하면 에이전트의 브라우징 상태가 일상적인 Google 프로필과 분리됩니다:

# Recommended/default: dedicated local profile named DarwinRelay
./scripts/install-background-chrome.sh

# Explicit alternatives only when you want them
./scripts/install-background-chrome.sh --profile 'Some Existing Profile'
./scripts/install-background-chrome.sh --use-current-profile

DarwinRelay 프로필이 아직 존재하지 않는 경우, Chrome이 Local State를 동시에 다시 쓰지 못하도록 설치 프로그램을 실행하기 전에 Chrome을 한 번 종료하세요. 프로필이 생성된 후에는 Chrome이 열려 있는 상태에서도 일반적인 재설치가 가능합니다. DarwinRelay를 제거해도 브라우저 프로필 내용은 사용자 데이터이므로 해당 프로필은 의도적으로 그대로 유지됩니다.

그런 다음 선택한 프로필에서만 chrome://extensions를 열고 개발자 모드를 활성화한 후 압축 해제된 확장 프로그램 로드를 선택하고 이 저장소의 chrome-extension/ 디렉터리를 선택하세요. 이 일회성 설정 단계를 위해 설치 프로그램에 --open을 전달할 수 있습니다.

확장 프로그램은 DR이라는 Chrome 네이티브 탭 그룹을 소유합니다. 일반적인 chrome_open 호출은 임의의 포그라운드 탭을 생성하는 대신 미리 생성된 유휴 탭을 임대합니다. chrome_close는 작업 공간 탭을 풀로 반환합니다.

브라우저 보안 모델

완화된 승인이 기본값입니다. 구성된 chrome_* 작업 공간을 통한 일반 HTTP/HTTPS 작업에는 사이트별 터미널 승인이 필요하지 않습니다. 메뉴 앱에서 엄격 승인을 활성화하면 범위가 지정된 URL 승인과 일회용 앱 범위 네이티브 변형 승인이 복원됩니다.

셸/AppleScript/JXA를 통한 직접 Chrome 자동화는 브리지에 의해 차단되므로 일반 웹 작업은 관리되는 백그라운드 경로에 유지됩니다. 별도의 네이티브 ui_* 표면은 브라우저/OS 보안 표면이 실제로 요구하는 경우 포그라운드 Chrome UI와 상호 작용할 수 있습니다.

DARWINRELAY_ADVANCED_BROWSER=1 뒤에 선택적 원시 Browser Harness/CDP 어댑터가 있습니다. 임의의 CDP는 URL 범위로 건전하게 축소될 수 없으므로 기본적으로 비활성화되어 있으며 엄격 승인 하에서는 실패 시 닫힘(fail closed) 방식으로 작동합니다.

HTTP / OAuth 전송

mcp-http.mjs는 루프백에 바인딩되며 정적 베어러 토큰과 원격 MCP 클라이언트가 사용하는 OAuth 2.1 흐름을 지원하는 MCP HTTP 전송을 제공합니다. Cloudflare와 같은 터널을 통해 루프백 서비스를 HTTPS로 게시할 수 있습니다.

메뉴 앱은 일반 ChatGPT Server URL 경로의 기본 진입점입니다. DEPLOY.md에는 업스트림 프로젝트에서 유지된 OpenAI Secure MCP Tunnel 경로를 포함한 수동/고급 전송 설정이 문서화되어 있습니다.

SECURITY.md의 원격 액세스 위협 모델을 읽지 않고 HTTP 엔드포인트를 노출하지 마세요. 이 프런트 엔드가 수락하는 자격 증명은 궁극적으로 데스크톱 사용자로서의 로컬 코드 실행을 제어합니다.

개발

npm run check
npm run test:core
npm run test:desktop
npm run test:lifecycle
# or all groups
npm test

공개 CI는 불투명한 단일 test 작업 대신 별도의 검사를 의도적으로 노출합니다:

  • 정적 검사 — 구문/네이티브 빌드 검증 및 전체 기록 gitleaks 스캔;

  • 코어 및 프로토콜 테스트 — MCP, HTTP/OAuth, PTY, 페더레이션, 브라우저 및 적대적 테스트;

  • 데스크톱 제어 테스트 — 결정적 데스크톱 프로토콜 테스트 및 네이티브 픽스처 컴파일;

  • 설치 및 수명 주기 테스트 — 설치 프로그램, 자동 시작, 싱글톤 소유권, 롤백 및 제거 동작.

실제 변경 가능한 AppKit E2E는 TCC 권한이 있는 로그인된 Mac이 필요하므로 일회용 GitHub 호스팅 GUI 세션에서는 신뢰할 수 있는 것으로 취급되지 않습니다. 유지 관리자는 다음 명령으로 로컬에서 실행할 수 있습니다:

DARWINRELAY_RUN_NATIVE_DESKTOP_E2E=1 node tests/desktop-control-native.mjs

풀 리퀘스트를 열기 전에 CONTRIBUTING.md를 참조하세요. 현재 개발 우선순위는 ROADMAP.md에 추적되어 있습니다.

보안

중요한 경계는 간단합니다: DarwinRelay는 이를 실행하는 macOS 계정의 권한을 가집니다. 잠금 해제 파일, 엄격 승인, 감사 메타데이터, OAuth, 백그라운드 브라우저 라우팅 및 프로세스 회수와 같은 보안 기능은 우발적 또는 원격 오용을 줄입니다. 임의의 셸 액세스를 샌드박스로 바꾸지는 않습니다.

보안 보고서는 공개 이슈 대신 GitHub의 비공개 취약점 보고를 사용해야 합니다. SECURITY.md를 참조하세요.

프로젝트 계보

DarwinRelay는 독립적으로 유지 관리되며 Alexander Rådahl Benz의 Mac Developer Bridge에서 상당히 분기되었습니다. 상속된 업스트림 기록은 의도적으로 보존되며 원본 MIT 저작권 고지는 LICENSE에 그대로 유지됩니다. 정확한 계보 및 귀속 정책은 UPSTREAM.md를 참조하세요.

공개 dcierra/darwinrelay 저장소가 표준 개발 소스입니다. 개발/릴리스 모델은 docs/DEVELOPMENT_MODEL.md를 참조하세요.

DarwinRelay는 OpenAI, Apple, Google, Cloudflare 또는 업스트림 유지 관리자와 제휴하거나 보증하지 않습니다.

라이선스

MIT. LICENSE 및 UPSTREAM.md를 참조하세요.

Maintenance

ActivitySlowing
ResponsivenessNo issues

Related MCP Connectors

Related MCP Servers