DevSpace
ChatGPT·Claude가 허용한 로컬 프로젝트를 읽고 고치며 셸을 실행하게 하는 자체 호스팅 MCP 서버
npm install -g @waishnav/devspaceMCP 호스트가 사용자의 로컬 프로젝트에서 파일을 읽고 수정하며 검색·테스트·빌드·Git 명령을 실행하도록 연결하는 자체 호스팅 서버입니다. 기본값은 127.0.0.1에 바인딩하고, 공개 연결은 사용자가 관리하는 HTTPS 터널과 Owner 비밀번호 기반 OAuth 승인을 거칩니다. 파일 도구는 설정한 루트 아래로 제한되지만 셸 명령은 샌드박스가 아니며 서버를 실행한 운영체제 사용자와 환경 변수의 권한을 그대로 가집니다. 따라서 전용 저권한 계정이나 컨테이너, 좁은 허용 루트, 정리된 환경 변수와 identity-aware 터널을 전제로 운영해야 합니다.
판단
이럴 때 씁니다
- ChatGPT·Claude 같은 MCP 호스트가 사용자의 실제 로컬 프로젝트에서 코드를 수정하고 테스트해야 할 때
- 전용 저권한 계정·컨테이너와 보호된 HTTPS 터널을 직접 운영할 수 있을 때
- 허용 프로젝트 루트와 연결 승인을 한 명의 운영자가 명확히 통제할 때
이럴 땐 쓰지 마세요
- 개인 계정의 전체 환경 변수·SSH 키·홈 디렉터리를 같은 권한으로 노출해야 하는 환경
- 공개 터널, OAuth 승인, 토큰 회전과 로그를 지속적으로 운영할 수 없는 경우
- 연결된 MCP 호스트로 소스와 명령 결과가 전달되는 것을 정책상 허용할 수 없는 저장소
차별점
- ChatGPT·Claude 같은 원격 MCP 호스트에 실제 로컬 파일·편집·셸·Git 작업 표면을 제공합니다.
- 허용 루트, Owner OAuth, redirect·Host allowlist와 loopback 기본값으로 연결 대상을 제한합니다.
- 격리 Git worktree, AGENTS.md·CLAUDE.md 지침, 선택적 Codex형 명령 표면과 도구 카드 UI를 지원합니다.
워크플로
- 01DevSpace 전용 저권한 사용자나 컨테이너를 만들고 필요한 저장소만 좁은 루트에 배치합니다.
- 02환경 변수에서 클라우드 키·SSH agent·개인 토큰을 제거한 뒤 devspace init과 doctor를 실행합니다.
- 03127.0.0.1 바인딩을 유지하고 Cloudflare Access나 Tailscale 같은 identity-aware 보호 뒤에 터널을 둡니다.
- 04Owner 승인을 직접 확인하고 최소 도구 모드로 연결한 뒤 로그·세션·허용 루트를 주기적으로 감사합니다.
주요 명령
| 명령 | 설명 |
|---|---|
devspace init | 허용 프로젝트 루트, 로컬 포트, 공개 HTTPS origin과 Owner 비밀번호를 설정합니다. |
devspace serve | 기본 127.0.0.1:7676에서 MCP 서버와 OAuth 승인 흐름을 실행합니다. |
devspace doctor | Node·npm·Git·Bash와 현재 로컬 운영 환경을 점검합니다. |
devspace config get | 저장된 허용 루트와 공개 URL 등 현재 구성을 확인합니다. |
설정
DEVSPACE_OAUTH_OWNER_TOKEN="$(openssl rand -base64 32)" \ DEVSPACE_ALLOWED_ROOTS="/srv/devspace/work" \ DEVSPACE_PUBLIC_BASE_URL="https://devspace.example.com" \ DEVSPACE_TOOL_MODE=minimal \ npx @waishnav/devspace serve
함정
설치 전에 확인하세요
- 이 도구는 샌드박스가 아니라 개발 계정에 대한 원격 접속입니다. 셸은 파일 allowlist에 묶이지 않고 서버 사용자가 할 수 있는 명령과 환경 변수에 접근할 수 있습니다.
- 파일 내용과 도구 결과는 연결된 MCP 호스트로 전달됩니다. README의 '제3자 업로드 없음'을 데이터가 머신 밖으로 나가지 않는다는 뜻으로 해석하면 안 됩니다.
- 전용 저권한 운영체제 사용자나 컨테이너, 최소 환경 변수, 좁은 절대 경로 루트와 identity-aware 터널을 사용해야 합니다.
- DEVSPACE_ALLOWED_HOSTS=*는 의도적인 로컬 디버깅 외에는 사용하지 말고 Owner 비밀번호와 ~/.devspace/auth.json을 비밀로 관리해야 합니다.
- 네이티브 파일 다운로드는 기본 비활성이며 Linux에서만 등록됩니다. 켤 때는 크기 제한과 신뢰 호스트 경계를 다시 확인해야 합니다.
비교
Codex CLI가 로컬 터미널에서 직접 실행되는 클라이언트라면 DevSpace는 ChatGPT·Claude 같은 원격 MCP 호스트가 사용자의 머신에 접속하도록 서버와 터널 경계를 만듭니다. 편리한 대신 셸은 파일 allowlist보다 강한 권한을 가지므로 로컬 CLI와 같은 신뢰 수준으로 보면 안 되고 별도 저권한 실행 계층이 필요합니다.
최근 변경
v1.0.8에서는 서브에이전트 실행 구조를 온디맨드 로컬 데몬 devspace-agentd 기반으로 바꿔 CLI·MCP 서버가 재시작돼도 에이전트 세션이 유지되도록 했습니다. Codex app-server·Claude Code·OpenCode·Pi·Cursor ACP·Copilot ACP·Grok Build ACP 런타임을 새로 지원하고, 프로필·CLI 설정의 thinking 표기를 effort로 통일했습니다.