agent-bridge-mcp
Agent Bridge MCP
agent-bridge-mcp는 MCP 호스트가 로컬 코딩 에이전트 CLI와 Manus API 간에 작업을 위임하는 하나의 통제된 방법을 제공하는 로컬 Model Context Protocol(MCP) 서버입니다. 이는 의도적으로 주변 파일 시스템에 접근할 수 있는 에이전트 오케스트레이터가 아닙니다. 일반 설치에는 구성이 필요하며, 프로젝트 루트는 허용 목록에 포함되고, 기본 실행 모드는 읽기 전용이며, 호출자가 선택한 권한은 구성된 상한을 초과할 수 없습니다.
v0.3.0-rc.8에서 구현된 기능
백엔드 | 전송 방식 | 네이티브 재개 | 파일 시스템 제어 | 브리지가 사용하는 인증 |
Codex | 로컬 | 예 |
| Codex CLI 로그인 |
Claude | 로컬 | 예 | 선택된 샌드박스에서 파생된 Claude 권한 모드 | Claude CLI 로그인/OAuth 또는 키체인, Claude Desktop/Cowork 로그인은 사용되지 않음 |
Manus | HTTPS를 통한 Manus API v2 | 예, Manus 작업 ID 기준 | 없음. Manus는 원격이므로 로컬 파일을 검사하거나 편집할 수 없습니다. | 자격 증명 파일 또는 |
Gemini | 로컬 | 아니요 | 읽기 전용을 강제할 수 없음, 해당 모드를 거부함 | Gemini CLI 자체 인증 |
Gemini와 Manus는 기본적으로 비활성화되어 있습니다. Manus는 자격 증명 및 계정 기능 확인이 구성된 후에만 의도적으로 활성화해야 합니다. 원격 프롬프트 전송은 별도로 기본적으로 비활성화되어 있으며, 에이전트/루트/데이터 클래스 허용 목록, allow_remote_egress=true, data_classification, 그리고 모든 호출에 대해 소비된 정확한 범위의 remote_egress 승인이 필요합니다. 모든 직접 원격 호출에는 또한 별도의 paid_or_unknown_cost 승인이 필요합니다. 호출자가 제공한 0은 제공자 비용이 0임을 증명할 수 없기 때문입니다. 두 범주 모두 항상 새로운 일회용 기록입니다. 재사용 가능한 기록은 제공자 시작 전에 거부됩니다. 선택적 policy.cumulativeRemoteCost 차단기는 실행 전에 모든 세션에서 승인된 최대 금액을 전체 USD 센트 단위로 원자적으로 예약합니다. 알 수 없음, 0, 분수 센트, 상한 초과, 손상/누락 원장, 동시 초과 구독 사례는 제공자 호출 전에 실패합니다. 지속된 예약은 성공, 오류, 시간 초과, 취소 또는 프로세스 충돌 후에 보충되지 않습니다. 브리지는 수락된 요청이 청구되지 않았음을 증명할 수 없기 때문입니다. 예약은 의도적으로 승인 소비보다 먼저 이루어지므로, 이후의 로컬 실패는 제공자를 호출하지 않고 보수적으로 예산을 소진할 수 있습니다. 이는 승인된 비용 회계이며 제공자 청구서 조정이 아닙니다. 갑작스러운 OS/전원 손실 내구성은 여전히 호스트 파일 시스템에 의존합니다. list_agents는 연결 가능성/인증/기능 및 협력 준비 상태를 보고합니다. 이는 상태 프로브이지 유료 작업이 완료될 수 있거나 원격 에이전트가 요청된 작업 공간에 접근할 수 있다는 증명이 아닙니다.
Manus 작업 참조는 제공자의 22자 영숫자 작업 ID 계약과 일치하는 경우에만 허용됩니다. task.create 후, RC6는 제한된 15초 가시성 유예를 허용합니다. task.listMessages 404는 분류 전에 task.detail과 대조됩니다. 세부 정보로 확인된 작업의 메시지를 계속 사용할 수 없는 경우 unknown으로 보고되고 재개 가능합니다. 유예 기간 동안 두 표면 모두에 없는 작업만 not_found가 되고 재개할 수 없습니다. 공개 결과는 SHA-256 요청 상관 관계만 노출하며 원시 제공자 요청 ID나 네이티브 작업 ID는 노출하지 않습니다.
승인을 미리 보거나 권한을 소비하기 전에 브리지는 로컬 전용 Manus 사전 점검을 수행합니다. 구성된 비어 있지 않은 자격 증명이 존재해야 하고, 계정 기본 기능을 인정해야 하며, 모델이 지원되는 Manus 프로필 중 하나여야 하고, 최종 프롬프트가 보수적인 4,500 UTF-8 바이트 상한에 맞아야 합니다. 이 사전 점검은 제공자 요청을 만들지 않습니다. 일반 연속은 지속된 상태가 stopped인 제공자 작업에만 새 메시지를 보냅니다. waiting 작업은 전문화된 대기 작업 경로를 사용해야 합니다. 지속된 timed_out, aborted, error 또는 unknown 결과의 경우 reconcile_manus_task는 원격 송신 동의, 데이터 분류 및 현재 세션 개정이 필요하며, 사용자 메시지를 보내지 않고 GET 전용 제공자 폴링을 수행합니다. 로컬 조정 시간 초과는 작업을 여전히 해결되지 않은 것으로 기록하고 제공자 중지 요청을 보내지 않습니다. 조정이 stopped에 도달하면 일반 연속을 다시 사용할 수 있습니다.
이러한 지속적인 호출별 송신/비용 승인은 Manus와 같은 브리지 관리 직접 원격 API를 보호합니다. Codex, Claude 및 Gemini는 로컬 CLI 프로세스이지만 프롬프트와 작업 공간 파생 콘텐츠를 호스팅 제공자에게 보낼 수 있습니다. 해당 계정, 제공자 및 CLI 정책은 외부 신뢰 경계입니다. list_agents는 directRemoteApi와 offMachineEgress를 별도로 보고하므로 로컬 실행 파일이 로컬 전용 처리로 오인되지 않습니다.
Windows에서 직접 실행 파일은 셸 없이 생성됩니다. 표준 정적 npm 생성 .cmd shim은 하나의 포함된 node_modules 진입점을 지정하는 경우에만 인식됩니다. 해당 진입점은 브리지 자체 Node 실행 파일로 시작되므로 프롬프트, 모델, 루트 및 확장 인수가 cmd.exe를 통과하지 않습니다. 동적/사용자 지정 .cmd 파일 및 모든 .bat 실행기는 UNSAFE_WINDOWS_BATCH_SHIM으로 실패합니다. 기본 .exe를 구성하거나 표준 정적 npm .cmd shim을 사용하십시오. 이렇게 하면 배치 메타 문자가 브리지 루트, 샌드박스 및 승인 경계를 벗어나지 않습니다.
설치 및 구성
Node.js 20+ 및 PATH에 활성화한 CLI가 필요합니다.
작업에 맞는 경로를 선택하십시오.
소스에서 개발 또는 검증: 아래 명령과 소스 개발 구성을 사용하십시오.
설치된 릴리스 운영: 빌드, 테스트 및 패키징부터 시작하고, 변경할 수 없는 Windows 설치/카나리 시퀀스를 포함한 다음 크리에이터 운영을 따르십시오. 클라이언트를 소스
dist또는 버전이 지정된 릴리스 디렉터리에 직접 지정하지 마십시오.
npm ci
npm run verify
New-Item -ItemType Directory -Force "$env:USERPROFILE\.agent-bridge" | Out-Null
Copy-Item config.example.json "$env:USERPROFILE\.agent-bridge\config.json"위 명령은 %USERPROFILE%\.agent-bridge\config.json에 소스 개발 구성을 만듭니다. 템플릿에는 의도적으로 빈 allowedRoots 배열이 있으며, 하나 이상의 기존 절대 프로젝트 디렉터리로 바꿀 때까지 시작되지 않습니다. 변경할 수 없는 설치 릴리스는 대신 %USERPROFILE%\.codex\agent-bridge\config.json의 공유 구성을 사용하며, 모든 Codex/Claude 등록은 안정적인 shim을 시작하는 동안 AGENT_BRIDGE_CONFIG를 해당 공유 파일로 설정해야 합니다. 그 외에는 --config <path> 또는 AGENT_BRIDGE_CONFIG로 구성을 선택할 수 있습니다. 서버 옆에 있는 인접한 config.json은 있는 경우에만 사용됩니다. 누락, 잘못된 형식 또는 루트 없는 구성은 제한되지 않은 디렉터리로 대체되지 않고 거부됩니다. 소스 개발 대체와 설치된 공유 구성이 조용히 분기되지 않도록 하십시오.
런타임 기본값은 600초 시간 초과 및 read-only 샌드박스입니다. config.example.json은 의도적으로 900초 샘플 시간 초과를 사용합니다. 이는 런타임 기본값이 아닙니다. 샌드박스 우선 순위는 다음과 같습니다. 제공된 경우 턴별 요청, 그렇지 않으면 defaults.sandbox, 요청된/기본 권한은 agents.<id>.sandboxCeiling 및 policy.sandboxCeiling 모두에 의해 제한되며 가장 제한적인 결과가 적용됩니다. workspace-write 상한은 별도로 요청된 쓰기 턴을 허용하지만 자체적으로 쓰기를 기본값으로 만들지는 않습니다. policy.sandboxCeiling은 호환성을 위해 기본적으로 workspace-write이므로 레거시 구성은 여전히 쓰기를 요청할 수 있지만 더 이상 full-access를 요청할 수 없습니다. 전체 액세스는 구성에 "sandboxCeiling": "full-access"를 명시적으로 설정해야 합니다. agents.<id>.sandboxCeiling은 하나의 백엔드에 대한 제한을 낮출 수 있습니다. 샘플 cumulativeRemoteCost.maxReservedCents는 현재 원장에 대한 상태 전체 수명 예약 상한입니다. 이를 늘리는 것은 명시적 운영자 작업이며 의도적으로 재설정 MCP 도구가 없습니다. 첫 번째 예약 후 초기화 마커는 원장만 삭제하는 것을 실패하도록 만듭니다. 원장과 마커를 모두 삭제할 수 있는 로컬 OS 사용자는 이 회계 경계를 재설정할 수 있으므로 stateDir을 공유/작업 공간 저장소 외부에 두고 ACL을 보호하십시오. 정책을 생략하면 해당 차단기를 비활성화합니다. 브리지는 허용된 루트와 작업 디렉터리를 정규화한 다음 시작 직전에 다시 정규화하므로 정션/심볼릭 링크 이스케이프가 거부됩니다.
MCPB 패키지는 가짜 인접 구성을 설치하지 않고 AGENT_BRIDGE_BUNDLE_MODE=1을 설정하고 AGENT_BRIDGE_ALLOWED_ROOT를 제공하여 동일한 검증기를 선택할 수 있습니다. 번들 모드는 기본적으로 읽기 전용 권한, Codex 및 Claude 활성화, Gemini, Manus 및 원격 송신 비활성화입니다. MCPB 매니페스트는 AGENT_BRIDGE_STATE_DIR, 백엔드 AGENT_BRIDGE_ENABLE_* 토글, AGENT_BRIDGE_DEFAULT_SANDBOX 및 AGENT_BRIDGE_SANDBOX_CEILING도 제공할 수 있습니다. 원격 송신을 활성화하려면 Manus와 AGENT_BRIDGE_REMOTE_EGRESS=true 및 하나의 AGENT_BRIDGE_REMOTE_DATA_CLASS가 추가로 필요합니다. 명시적 --config 또는 AGENT_BRIDGE_CONFIG 선택은 항상 번들 모드보다 우선합니다.
Manus 자격 증명
PowerShell에서 제공된 설정 스크립트를 실행하십시오.
.\scripts\setup-manus.ps1사용자 전용 ACL로 %USERPROFILE%\.agent-bridge\secrets\manus-api-key에 키를 씁니다. agents.manus를 활성화하고, credentialFile을 해당 경로로 설정하고, Manus 계정의 활성화된 기본 기술을 검토한 후에만 acknowledgeAccountDefaultCapabilities=true 및 안정적인 비밀 아님 accountCapabilityProfile 레이블을 설정하십시오. Agent Bridge는 생성 시 메시지별 빈 connectors, force_skills 및 작업 참조를 보내고 연속 시 커넥터를 지우지만, Manus API v2는 계정 기본 기술이 비활성화되었음을 증명하는 브리지 강제 가능 스위치를 제공하지 않습니다. 인정은 해당 제공자 측 기능 경계의 수용을 기록합니다. 로컬 파일 시스템 액세스를 부여하거나 커넥터 작업을 승인하지 않습니다. 제공자 엔드포인트, 요청 기능 정책 버전 및 계정 프로필 레이블은 모든 원격 승인 봉투에 바인딩되므로 변경된 계정/기능 검토에는 새 승인이 필요합니다. 키를 소스 제어 또는 MCP 매니페스트에 넣지 마십시오. Manus 엔드포인트는 HTTPS api.manus.ai(또는 해당 하위 도메인)로 제한됩니다. 개발 재정의는 루프백 HTTP(S)만 허용합니다. Manus는 API를 통해 작업 텍스트를 수신하며 로컬 파일 시스템 액세스 권한이 없습니다. 관련 파일 내용 또는 원격 액세스 가능한 아티팩트를 대신 제공하십시오.
채팅에 붙여넣은 키는 노출됩니다. 회전이 권장되는 수정 조치입니다. 운영자가 회전을 명시적으로 거부하는 경우 해당 결정을 수용된 잔여 위험으로 기록하고, 키를 ACL로 보호된 자격 증명 파일에만 보관하고, 자격 증명 위생 자체를 통과로 부르지 말고 실패 또는 인정으로 남겨 두십시오.
MCP 작업
get_creator_status는 로컬 전용 크리에이터 개요입니다. CLI를 시작하거나 제공자에게 연락하지 않고 런타임/구성 상태, 구성된 기능, 승인된 비용 예약 및 세션, 승인 및 작업 보드 상태의 변형 없는 제한된 샘플을 집계합니다. scanned, truncated 및 unreadable 필드는 무제한 합계가 아닌 샘플링 증거입니다. 불완전한 상태는 주의를 강제합니다. 백엔드 상태는 의도적으로 list_agents를 통해 별도로 유지됩니다.
서버는 순차적 브리지 작업(list_agents, delegate_task, continue_session, handoff, list_sessions, get_session, 페이지 가능한 get_turn_output), 수동적 diagnose_install, 읽기 전용 get_budget_status, 지속적 승인 작업(request_approval, decide_approval, list_approvals), preview_turn_approval 및 preview_recommendation_approval을 통한 정확한 원격 계획, GET 전용 reconcile_manus_task, 제한된 Manus 대기 작업(get_manus_waiting_action, preview_manus_confirmation, confirm_manus_action), 독립적 collect_recommendations, 그리고 협업 워크보드 생성, 실행, 검토, 검사, 수명주기, 취소, 재시도, 항목 승인 작업을 노출합니다. 세션은 호환 가능한 재개를 위해 내부적으로 백엔드 네이티브 ID를 유지합니다. 다른 에이전트가 인계받거나 네이티브 재개가 불가능/비호환인 경우, 브리지는 명시적으로 신뢰할 수 없는 컨텍스트로 표시된 경계 있는 이스케이프 처리된 대화록을 앞에 추가합니다. 원격 미리보기는 두 가지 서로 다른 해시를 반환합니다. prompt_sha256은 비교를 위한 최종 아웃바운드 프롬프트를 식별하고, payload_sha256은 모델, 샌드박스, 타임아웃, 연속성/재개 상태, 세션 개정, 확장 정책, 제공자 엔드포인트, 요청-기능 정책 버전, 비밀 아님 계정-기능 프로필을 포함한 완전한 승인 봉투를 식별합니다. 승인 기록은 봉투 해시를 사용해야 합니다. 연속 또는 핸드오프 시 미리보기의 session_revision을 다시 전달하여 동시 대화록 변경 시 새 미리보기가 필요하도록 하십시오. 인라인 에이전트 출력은 잘립니다. 반환된 output_ref 또는 get_turn_output을 사용하여 경계 있는 페이지로 완전한 영구 출력을 검색하십시오.
Manus 대기 작업
Manus 작업은 waiting 상태에서 일시 중지될 수 있습니다. Agent Bridge는 네이티브 작업 ID, 이벤트 ID, 알려진 이벤트 유형만 유지합니다. 제공자 설명과 동적 스키마는 비밀, 개인 데이터 또는 새로운 권한을 포함할 수 있으므로 의도적으로 폐기됩니다. 공개 도구는 네이티브 작업 ID를 절대 반환하지 않습니다. Manus는 많은 확인 유형을 문서화하고 더 추가할 수 있지만, 이 릴리스에서는 네 가지 고정 결정만 허용합니다:
Manus 이벤트 | 허용된 브리지 결정 | 추가 승인 |
|
|
|
|
|
|
|
| 양수 경계 비용이 있는 |
|
| 0 USD로 고정된 |
모든 결정에는 또한 새로운 일회성 remote_egress 승인, 허용된 데이터 클래스/루트, 정확한 미리보기 다이제스트, 변경되지 않은 세션 개정이 필요합니다. 확인 미리보기는 제공자 엔드포인트, 커넥터/기본-스킬 기능-정책 버전, 비밀 아님 계정 프로필을 바인딩하는 실행 봉투를 노출합니다. 어댑터는 승인을 소비하거나 예산을 예약하기 전에 최신 라이브 제공자 작업을 다시 읽습니다. 재검증이 성공한 후에만 권한을 커밋하고, 비멱등 task.confirmAction POST 직전에 시도된 확인 기록을 영구 저장한 다음, 응답이 ok=true, confirmed=true를 말하고 동일한 작업 ID를 반환하도록 요구합니다. 수락된 확인은 브리지가 폴링을 재개하기 전에 영구 저장됩니다. 알 수 없는 작업, 사용자 질문, 브라우저 선택, 실제 이메일 전송, 프리미엄 비디오, 크레딧 수락, 비밀, 배포, 터미널 명령, 캘린더/마케팅 작업, 커넥터 권한 부여, 지속적 global_allow/always_allow 부여는 모두 실패-폐쇄됩니다. 이 의도적으로 더 좁은 계약은 Manus 작업 수명주기 및 task.confirmAction API 위에 있습니다.
docs/CREATOR_OPERATIONS.md부터 시작하십시오. 그 동반 문서인 위협 매트릭스, 라이브 수락 체크리스트, 증거 규칙, 개인정보 경계, 예제는 지원되는 크리에이터 워크플로와 승격 전에 필요한 증거를 정의합니다.
협업 워크보드
워크보드는 명시적 active, paused, completed, canceled, archived 수명주기 상태를 가집니다. 항목은 종류, 수락 기준, 데이터/파일시스템/네트워크/기능 요구사항, 불활성 유형화된 아티팩트/증거 참조, 워크플로 승인 게이트를 선언할 수 있습니다. 수명주기 변경은 라이브 임대를 거부합니다. 재시도는 시도나 사용량을 보충하지 않고 결과를 지웁니다.
워크보드는 stateDir/workboards 아래에 의존성 인식 작업 항목을 보유합니다. 영구 저장된 보드는 명시적 스키마 버전을 사용하며 로드/저장 시 재귀적으로 검증됩니다. 원래 버전 없는 v0.3-dev 형태는 읽을 때 메모리에서 마이그레이션되고 다음 잠긴 저장에 의해 영구 저장되어 잠금 해제된 마이그레이션 경쟁을 피합니다. 알 수 없는 미래 스키마, 손상된 기록, 일관되지 않은 상태/제출/검토 조합은 실패-폐쇄됩니다. 각 항목은 시도/시간 예산, 소유권 임대, 격리된 브리지 세션, 제출, 독립적 검토를 가집니다. 실행 및 검토 벽시계/턴 사용량은 별도로 계산됩니다. 검토-시도 제한은 내부적으로 maxAttempts에서 파생됩니다. 실패한 검토자 호출은 이를 소비하고, 재시도를 위해 제출을 유지하며, 소진 시 항목을 차단합니다. token_budget_hint는 백엔드 토큰 회계가 비교 가능하거나 일관되게 사용 가능하지 않기 때문에 권고적입니다. 별도의 준비된 항목은 maxParallel까지 동시에 실행될 수 있지만, 모든 워크보드 실행 및 검토는 브리지 기본값과 관계없이 read-only로 강제됩니다. 엄격한 협업 턴은 구성된 extraArgs와 extraEnv를 억제하므로 이러한 설정이 읽기 전용 플래그를 재정의할 수 없습니다. 검토자는 항목을 제출한 에이전트가 될 수 없습니다. 수락된 제출만 경계 있는 통합자 브리핑에 포함됩니다.
현재 워크보드는 원격 액세스 가능한 해시 검증 아티팩트 번들이 아닌 로컬 cwd와 텍스트를 전달합니다. 따라서 Manus는 워크보드 항목을 실행하거나 독립적으로 검토할 수 없으며 로컬 코드 증거에 대해 협업 준비가 되지 않은 것으로 보고됩니다. 아티팩트 준비 워크플로가 구현될 때까지 명시적으로 승인된 직접 원격 위임을 통해서만 사용하십시오. 권장 brief 범위는 로컬 파일시스템 기능을 보고하지 않는 백엔드로만 의도적으로 격리됩니다. Codex와 Claude는 workspace 범위를 사용해야 하며, Manus는 제공된 브리프만 검토할 수 있습니다. 이 경계는 백엔드가 Agent Bridge를 통해 로컬 작업공간을 검사할 수 없음을 증명할 뿐입니다. 제공자 측 읽기 전용 또는 부작용 없음 동작을 강제하지 않습니다. Manus 계정 기본 스킬은 인정된 외부 기능으로 남아 있습니다. 컬렉션은 briefSha256을 기록하여 작업공간 액세스를 암시하지 않고 인라인 아티팩트를 식별할 수 있게 합니다.
이 개발 릴리스는 의도적으로 협업 쓰기 작업을 허용하지 않습니다. 세션별 잠금은 두 개의 별도 에이전트 세션이 동일한 파일을 편집하는 것을 방지할 수 없으므로, 안전한 병렬 쓰기는 이후 작업공간 소유권 설계가 필요합니다.
수동 진단
diagnose_install 및 --doctor --json은 런타임/구성 ID, 읽을 수 있을 때 구성 콘텐츠 해시, 루트 범위 경고, 상태 크기/세션 수, 살균된 백엔드 상태, 실행 파일 경로 드리프트 힌트를 보고합니다. 런타임 경로, 상태 경로, 구성된/해결된 실행 파일 경로, 범위 경고로 명명된 루트 등 선택된 로컬 경로를 의도적으로 노출합니다. 원시 구성 바이트, 에이전트 환경 값, 자격 증명 값, 원시 제공자/CLI 세부 정보, 프롬프트, 대화록은 생략합니다. 파일시스템 경로에 비밀을 포함하지 마십시오. unknown의 로컬 인증 결과는 사용 가능한 것으로 간주되지 않습니다. 이 명령은 활성화된 백엔드를 프로브합니다. 에이전트를 시작하거나 위임하지 않고 수동 등록/프로세스/ACL 증거를 위해 scripts/inspect-install.ps1을 사용하십시오. fallbackConfig.divergentRegistrationRisk=true 결과는 브리지 등록이 설치된 공유 구성과 다른 인접/상태 구성을 읽을 수 있음을 의미하며 전환 차단 요인입니다. RC6는 또한 Codex 등록 증거에서 유효한 단일 따옴표 TOML 문자열을 인식합니다.
실험적 데몬/프록시 런타임
소스에는 경계 있는 프레임-RPC 코덱과 프로토콜/구성 바인딩 상호 HMAC 핸드셰이크를 기반으로 구축된 실험적 로컬-IPC 데몬/프록시 런타임이 포함되어 있습니다. Windows 명명된 파이프 또는 Unix 도메인 소켓만 사용하며 TCP는 절대 사용하지 않습니다. 명시적 수명주기, 독점 엔드포인트 바인딩, 엄격한 핸드셰이크 상태, 요청 상관관계, 연결/처리 중 제한, 연결 끊김 시 핸들러 취소, 깨끗한 종료를 구현합니다. 가져오거나 구성하는 것만으로는 아무것도 시작되지 않습니다. 테스트는 일회용 엔드포인트만 사용합니다. MCP 엔트리포인트나 릴리스 패키지에 연결되지 않으므로 직접 stdio가 유일한 지원 런타임 경로로 남아 있습니다.
Unix에서 런타임은 소켓에 모드 0600을 적용합니다. Node의 net API는 사용자 전용 Windows 명명된 파이프 ACL을 구성하거나 검증하거나 피어 ID를 노출할 수 없으므로, Windows 보안 증거는 그 격차를 정직하게 보고하고 실패-폐쇄 권한 부여 훅을 제공합니다. Windows ACL 프로비저닝/검증 계층과 MCP 라우팅 어댑터가 구현되고 검토될 때까지 실험적 데몬을 배포하지 마십시오.
MCP 호스트에 추가하기 전에 프로세스 진단을 사용하십시오:
node .\dist\agent-bridge.mjs --config "$env:USERPROFILE\.agent-bridge\config.json" --doctor--doctor는 활성화된 백엔드가 사용 가능하지 않으면 0이 아닌 값으로 종료합니다. 구성 소스, 루트, 샌드박스, 백엔드 상태를 보고합니다. 기능적 위임 작업을 실행하지 않습니다.
데이터, 잠금 및 제한
브리지 상태는 stateDir(기본값 %USERPROFILE%\.agent-bridge) 아래에 있습니다: 일반 텍스트 세션, 워크보드, 승인, 누적 예산 예약, 해당 잠금 디렉터리. 세션 및 예산 쓰기는 원자적 교체 쓰기입니다. 예산 임시 바이트는 이름 변경 전에 플러시되고 플랫폼이 허용하는 곳에서 상위 디렉터리가 동기화됩니다. 실행 중인 세션은 잠금을 보유합니다. 다른 턴은 sessionLockWaitMs까지 기다린 다음 SESSION_BUSY로 실패합니다. 누적 직접-원격 원장은 별도의 토큰 소유 잠금을 사용하므로 다른 세션이 이를 초과 구독할 수 없습니다. 일반 세션/워크보드 잠금과 달리 지출 잠금은 자동 회수되지 않습니다. 일시 중지된 이전 소유자가 더 새로운 예약을 덮어쓸 수 있기 때문입니다. 프로세스가 충돌하면 모든 브리지 호스트가 중지되고 운영자가 stateDir\budget-locks\cumulative-remote-cost.lock만 제거할 때까지 직접-원격 시작은 실패-폐쇄됩니다.
세션 대화록은 저장 시 일반 텍스트 JSON입니다. 프롬프트, 출력, 오류 꼬리, 경로, 민감한 작업 컨텍스트를 포함할 수 있습니다. stateDir을 보호하고, 프롬프트에 비밀을 넣지 말고, get_session을 저장된 대화록의 공개로 취급하십시오. get_session은 의도적으로 네이티브 백엔드 ID와 메타데이터를 제거하고 각 반환 필드를 제한하지만, 암호화나 편집은 아닙니다. 브리지는 에이전트 간에 경계 있는 일반 텍스트 컨텍스트 요약을 전달합니다. 잘림은 이전 컨텍스트를 생략할 수 있으므로 중요한 결정은 현재 프롬프트에서 반복되어야 합니다.
빌드, 테스트 및 패키징
npm run verify
node .\scripts\package.mjsnpm run package는 먼저 빌드를 수행합니다. npm pack도 prepack 훅을 통해 빌드를 수행합니다. 릴리스 명령은 체크아웃된 Git 커밋을 요구하며, 새로운 .release-staging 디렉터리를 생성하고, agent-bridge-v<package-version>.mcpb를 생성한 다음, 패키징된 server/agent-bridge.mjs, 해당 소스 맵, 그리고 Windows 운영 스크립트가 커밋된 후보 입력과 바이트 단위로 동일한지 검증합니다. 번들에는 manifest.json, 런타임, 해당 소스 맵, operations/, release-metadata.json이 포함됩니다. 모든 런타임 및 운영 페이로드는 릴리스 메타데이터에서 SHA-256 및 바이트 수로 고정됩니다. 운영 세트는 의도적으로 좁게 유지됩니다: 준비 상태(readiness), 단일 잠금 전환(one-lock cutover), 불변 릴리스 롤백, 수동 검사, 클라이언트 등록, 그리고 이들의 공유 안전 모듈입니다. 기존 출력 경로가 있으면 거부하며, 설치된 MCP 서버를 절대 수정하지 않습니다. 활성 호스트 위에 개발 패키지를 설치하지 마십시오. 새로운 불변 디렉터리를 사용하고, 실행 중인 작업이 끝날 때까지 등록 변경을 연기하십시오.
MCPB는 매니페스트 스키마 0.3과 호스트 제공 user_config를 사용합니다. 변경 가능한 플레이스홀더 구성을 포함하지 않습니다. 패키징 명령은 번들 및 런타임 SHA-256 값을 모두 보고합니다. 릴리스 전에 공식 MCPB CLI로 manifest.template.json을 검증하십시오. Windows에서는 활성 포인터를 건드리지 않고 아티팩트를 설치하고 검사합니다:
.\scripts\install-release.ps1 -BundlePath .\agent-bridge-v0.3.0-rc.8.mcpb -ExpectedBundleSha256 <reported-bundle-sha256>
$candidate = "$env:USERPROFILE\.codex\agent-bridge\releases\<release-id>"
& "$candidate\operations\inspect-install.ps1"
node .\scripts\canary-release.mjs --release-path "$env:USERPROFILE\.codex\agent-bridge\releases\<release-id>" --install-root "$env:USERPROFILE\.codex\agent-bridge" --expected-version 0.3.0-rc.8 --expected-runtime-sha256 <reported-runtime-sha256> --evidence-dir "<durable-private-root>\installed-canary"
node .\scripts\canary-windows-shim.mjs --release-path "$env:USERPROFILE\.codex\agent-bridge\releases\<release-id>" --install-root "$env:USERPROFILE\.codex\agent-bridge" --expected-version 0.3.0-rc.8 --expected-runtime-sha256 <reported-runtime-sha256> --evidence-dir "<durable-private-root>\windows-shim-canary"공급자 비활성 설치 릴리스 카나리는 절대 불변 런타임을 일회용 config/state/root로 실행하고, 필요한 모든 MCP 도구와 진단 ID를 검증하며, 안정적인 shim, 공유 구성, 승격 마커가 변경되지 않았음을 증명합니다. Windows shim 카나리는 동일한 설치 런타임을 공백이 있는 경로의 표준 npm .cmd 뒤에 있는 로컬 mock CLI로 실행합니다. 런타임 ID, 정확한 적대적 argv 보존, 읽기 전용 위임, 셸 주입 센티널 없음, 변경되지 않은 안정적인 파일을 공급자를 호출하지 않고 검증합니다. 안정적인 설치 루트 외부에 새로운 지속적인 개인 증거 디렉터리를 생성하십시오. 공급자 기반 릴리스 테스트는 절대 경로 AGENT_BRIDGE_SERVER_PATH와 필수 AGENT_BRIDGE_INSTALL_ROOT, AGENT_BRIDGE_EXPECTED_VERSION, AGENT_BRIDGE_EXPECTED_RUNTIME_SHA256을 허용합니다. 런타임이 해당 설치의 releases\<release-id>\server 아래에 정확히 있는지 확인합니다. AGENT_BRIDGE_LIVE_REQUIRED=1을 설정하여 소스 dist, 인증 또는 할당량 건너뛰기가 릴리스 통과로 오인되지 않도록 하고, 각 구조화된 결과를 정제된 JSON으로 보관하십시오.
Manus 하네스는 2단계의 지속적인 일회용 트랜잭션입니다. node test/live-manus.mjs --evidence-dir <new-absolute-private-directory>로 미리 보십시오. 미리 보기는 로컬 ID/자격 증명 검사만 수행하고, 암호화 nonce와 대기 티켓을 생성하며, Manus API 또는 상태 호출을 하지 않습니다. 미리 보기를 검토한 후, 출력된 정확한 nonce 바인딩 명령을 실행하십시오. 실행은 브리지 시작, 승인 유도, 상태 프로브 또는 유료 작업 전에 티켓을 원자적으로 소비합니다. 재생은 실패합니다. 주변 MANUS_API_KEY 및 MANUS_API_BASE_URL을 지우고, 정확한 출력 및 중지 상태를 요구하며, 예산 델타와 소비된 두 승인을 검증하고, 개인 config/state/work/result 증거를 삭제하지 않고 보관합니다.
무시된 RC5/RC6/RC7 번들과 해당 .release-staging 디렉터리는 역사적 아티팩트일 뿐입니다. 이들은 RC8 입력이 아니며 현재 후보로 승격되어서는 안 됩니다.
승격 및 재시작된 클라이언트 수용 후, 운영자가 제어하는 증거 루트 내에서 예제에서 엄격한 설명자를 생성하고 npm run evidence:release -- --descriptor <absolute-descriptor.json> --output-dir <evidence-root>\<packet-id> --require-accepted를 실행하십시오. 출력 디렉터리 기본 이름은 패킷 ID와 같아야 합니다. 내보내기는 설치된 메타데이터, 승격 마커, 공유 구성, 번들 내용, 후보 해시 및 명명된 수용 프로필을 검증합니다. 해당 표준 증거 루트에서만 입력 아티팩트를 허용하고, 기밀/제한 데이터 및 덮어쓰기를 거부하며, 개인 상태가 이름이 변경된 경우에도 내러티브/공급자 ID JSON 필드를 편집하고, JSON 키와 값을 Manus 고유 식별자로 스캔한 후 동기화된 evidence-report.json, evidence-report.md, manifest.json을 생성합니다. npm run evidence:verify -- --packet-dir <absolute-packet-directory>를 실행하여 누락, 추가 또는 변경된 파일을 감지하십시오. 매니페스트는 무결성 교차 확인이지 악의적인 로컬 편집자에 대한 서명이 아닙니다. 증거 루트의 Windows ACL을 별도로 보호하십시오. 승격은 최종 수용된 내보내기가 성공할 때까지 잠정적입니다. 차단된 사전 승격 패킷은 --require-accepted 없이 내보낼 수 있습니다. 이는 증거이지 수용이 아닙니다.
Codex, Claude Code 및 감지된 Claude Desktop 프로필에 대한 등록 정규화를 <candidate-release>\operations\configure-clients.ps1로 미리 보십시오. 기본적으로 dry-run이며, 활성 대상 프로세스 또는 모호한 등록을 거부하고, 변경된 파일에 대한 정확한 바이트 복원 매니페스트를 지원합니다. 일반 릴리스 전환에는 독립형 -Apply 모드를 사용하지 마십시오. 릴리스 작업은 변경 가능한 소스 체크아웃이 아닌 후보의 설치된 불변 디렉터리에서 실행하십시오.
릴리스 전환은 의도적인 유지보수 창 작업이지 무인 감시자 작업이 아닙니다. Codex, Claude Code, Claude Desktop 및 기타 MCP 호스트를 완전히 종료한 후 <candidate-release>\operations\check-cutover-readiness.ps1을 실행하십시오. 이는 Agent Bridge 노드와 알려진 Codex/Claude 호스트 계열 및 하위 항목에 걸쳐 반복된 빈 샘플을 요구합니다. 실제 단일 잠금 등록 및 릴리스 트랜잭션에는 <candidate-release>\operations\cutover-release.ps1 -ReleaseId <version+sha7>을 사용하십시오. 감시자는 준비 상태를 보고할 수 있지만 변형 명령을 호출해서는 안 됩니다. 이는 OS가 강제하는 시작 장벽이 아니라 운영적 정지입니다. 창 중에 호스트가 열리면 트랜잭션은 감지 가능한 곳에서 중단되고 복원됩니다.
전환 전에 scripts\rehearse-rollback.ps1은 정확한 해시의 후보 및 이전 번들을 새로운 외부 픽스처에 설치하고, 후보 → 이전 → 후보로 전환하고, 픽스처의 안정적인 shim 및 공급자 비활성 MCP 카나리를 실행하고, 해시된 증거 매니페스트를 보관할 수 있습니다. 이는 라이브 설치 또는 클라이언트 등록 경로를 허용하지 않습니다. 신뢰할 수 있는 전환 프리미티브는 여전히 모든 MCP 호스트가 닫혀 있어야 하며, 이 일회용 증명은 전환 후 라이브 롤백 훈련을 대체하지 않습니다.
<trusted-release>\operations\switch-release.ps1은 하위 수준의 릴리스/롤백 프리미티브입니다. 대상 설치 런타임을 검증하고, 거부하는 유지보수 shim을 사용하며, 라이브 shim을 활성화하기 전에 릴리스 마커를 쓰고, 정확한 롤백 백업을 생성하며, 활성 프로세스에서 실패 시 닫힙니다. -ReleaseId 대상이 이전 설치 런타임이더라도 가장 최근에 검증된 운영 스크립트 바이트를 사용하십시오. protect-state.ps1은 상속된 상태 디렉터리 ACL을 현재 사용자, SYSTEM 및 Administrators에 대한 명시적 액세스로 대체합니다. -Force를 사용하기 전에 대상을 검사하십시오.
릴리스 및 롤백 절차는 HANDOFF.md를, 보안 모델은 SECURITY.md를 참조하십시오.
This server cannot be installed
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Connectors
Runtime permission, approval, and audit layer for AI agent tool execution.
Operate Linux, macOS and Windows from your LLM. Every action runs through an auditable allowlist.
Preflight, approve, and prove consequential agent actions with signed evidence and x402 tools.
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/voyageseattle-hash/agent-bridge'
If you have feedback or need assistance with the MCP directory API, please join our Discord server