dsh-computer-use-mcp
dsh-computer-use-mcp
영문 | 中文
macOS 및 Windows용 데스크톱 GUI 자동화("컴퓨터 사용")를 제공하는 독립형 Model Context Protocol 서버입니다. 모든 MCP 호스트에서 구동할 수 있습니다: DeepSeek Harness (dsh), Claude Code, Cursor 및 기타 모든 MCP 클라이언트.
computer_use라는 단일 도구에 23가지 액션이 포함되어 있습니다: 번호가 매겨진 참조가 포함된 접근성 트리 스냅샷, 클릭 / 드래그 / 입력(클립보드 경유 CJK) / 단축키, 앱 실행 및 포커스, 메뉴 선택, 스크린샷 아티팩트, 그리고 브라우저 탭을 위한 Chrome DevTools Protocol 고속 경로.
주요 기능
접근성 우선 — 스냅샷은 번호가 매겨진 트리를 반환하며, 이후의 모든 액션은 취약한 좌표가 아닌 참조(ref)로 요소를 지정합니다.
크로스 플랫폼 — macOS(AX API via AppleScript/JXA) 및 Windows(관리형 폴백이 포함된 UIA3 COM 고속 경로).
브라우저 CDP 고속 경로 — Chrome 계열 타깃은 자동으로 DevTools 세션으로 전환되어 1초 미만의 스냅샷과 폐색(occlusion)에 영향을 받지 않는 입력(
navigate/read_page/js_eval/tabs)을 제공합니다.이미지 아티팩트로서의 스크린샷 — 비전 모델은 PNG를 수신하며, 파일은 감사(audit)를 위해
CU_HOME아래에 유지됩니다.내장된 안전 장치 — 정적 위험 가드(danger-guard)가 위험한 스크립트 페이로드를 차단하며, 앱별 "항상 허용" 권한은 전용 테이블에 영구 저장됩니다.
설치
Node ≥ 20.
npm install -g dsh-computer-use-mcp # then run: dsh-computer-use-mcp
# or one-shot:
npx -y dsh-computer-use-mcp호스트에 연결하기
DeepSeek Harness (dsh)
dsh는 @deepseek-ai/dsh-mcp-client를 통해 MCP 서버를 연결합니다. dsh/computer-use.cordis.yml에 준비된 오버레이를 전달하세요:
dsh --profile <name> --patch /path/to/dsh-computer-use-mcp/dsh/computer-use.cordis.yml모델은 이 도구를 mcp__computer-use__computer_use로 인식합니다. 키 없이 통합을 입증하는 스모크 테스트는 dsh/README.md를 참조하세요.
Claude Code
claude mcp add computer-use -- npx -y dsh-computer-use-mcpCursor / 일반 mcpServers JSON
{
"mcpServers": {
"computer-use": { "command": "npx", "args": ["-y", "dsh-computer-use-mcp"] }
}
}computer_use 도구
action으로 디스패치되는 단일 도구입니다. 전체 JSON 스키마는 tools/list에서 제공됩니다.
그룹 | 액션 |
읽기 / 탐색 |
|
입력 |
|
앱 / 창 |
|
브라우저(CDP) |
|
일반적인 루프: snapshot → 번호가 매겨진 트리를 분석 → 참조로 액션 수행(click {ref}) → 액션 후 피드백이 다시 스냅샷을 찍고 UI 변경 사항을 보고합니다.
보안 모델 — 활성화 전에 읽어보세요
MCP에는 승인 개념이 없습니다: 도구 호출은 즉시 실행됩니다. 호스트의 도구 승인/확인 레이어를 활성화하고, 신뢰할 수 없는 프롬프트에 무제한 자율성을 부여하지 마세요.
danger-guard는 구현 내부에서 위험한 스크립트 페이로드를 정적으로 차단합니다.
앱별 "항상 허용" 권한은 호스트 자체 권한 저장소와 별개로
CU_HOME(기본값~/.tianshu-computer-use/) 아래에 영구 저장됩니다.macOS: 이 서버를 실행하는 터미널(또는 호스트 앱)에 손쉬운 사용(Accessibility) 및 화면 기록(Screen Recording) 권한을 모두 부여하세요.
check_permissions액션이 자체 점검을 수행하고 누락된 항목을 보고합니다.
환경 변수
변수 | 효과 |
| 권한 및 스크린샷 아티팩트용 데이터 디렉터리(기본값 |
| 세션별 아티팩트 하위 디렉터리 이름(기본값 |
| 브라우저 CDP 고속 경로 비활성화 |
| 액션 후 UI 피드백 요약 비활성화 |
| 스크립트 호스트(macOS JXA / Windows PowerShell 채널) 비활성화 |
| Windows UIA3 COM 고속 경로 비활성화(관리형 빌더로 폴백) |
개발
npm install
npm run build # tsup → dist/index.js
npm run smoke # SDK-client stdio smoke (tools/list + wait)
node integration/verify-server.mjs # zero-dependency JSON-RPC smokeintegration/dsh-smoke.ts는 DeepSeek Harness의 실제 플러그인 구성에 대한 키 없는 통합 스모크 테스트입니다. deepseek-harness 체크아웃에서 실행하세요(지침).
huiliyi37/Tianshu-harness — tianshu(天枢) 하네스 저장소에서 추출되었습니다. impl/ 아래의 구현은 해당 computer-use 모듈의 고정 스냅샷이며, 이 저장소가 이제 해당 코드의 원본 소스입니다.
라이선스
GNU AGPL-3.0 — 강한 카피레프트가 적용된 소스 공개 라이선스: 수정본을 배포하거나 네트워크를 통해 서비스하는 경우 공유해야 합니다. 모든 MCP 호스트에서의 로컬 사용은 제한이 없습니다. 상업용 라이선스는 요청 시 제공됩니다.
This server cannot be deployed
Related MCP Connectors
MCP server to assist with JxBrowser development.
MCP server for mandates, delegation, policy-gated execution, credential grants, and audit.
MCP server for progressive tool usage at any scale (see https://klavis.ai)
Official Browserless MCP server: browser automation, scraping, screenshots and PDFs for AI agents.