프로토타입 · 미리 보기: 공식 레지스트리의 모든 서버를 담고 있으며 30분마다 동기화해요. Google로 로그인하면 리뷰를 쓸 수 있어요.프로토타입 · 30분마다 업데이트
PopNx MCPAI를 쓰는 사람을 위한 MCP 서버 · 쉬운 말로 설명해요

Witness

제작자: wookat버전 0.3.1i★ 0i내 컴퓨터에서 실행
레지스트리 이름io.github.wookat/witness

설치 방법

What it does

Voice-anchored evidence recorder for AI coding agents.

  • Connects 내 컴퓨터에서 실행
  • Account or key No key needed
  • Category 개발자 도구

설치

쓰고 있는 AI 앱을 고른 다음 설정을 복사하세요.

검사 3/3 통과 · 내 컴퓨터에서 실행돼요 · ✓ 명령 확인 2026년 11월 13일

먼저: 어떤 AI를 쓰시나요?

쓰는 앱을 고르면 아래에 단계가 나옵니다.

Claude에 연결할 수 있지만 먼저 준비가 필요해요

먼저 컴퓨터에 Node.js를 설치하세요 (한 번만) · 컴퓨터용 Claude 앱(Windows 또는 Mac)에서만 되고 웹이나 모바일은 안 돼요

  1. Node.js 설치

    한 번만 하면 Node.js가 필요한 모든 서버에 쓸 수 있어요

    Node.js 다운로드 페이지 열기 ↗

  2. 컴퓨터용 Claude 앱 설정 파일 열기

    SettingsDeveloperEdit Config

  3. 이 설정을 붙여 넣고 저장

    {
      "mcpServers": {
        "witness": {
          "command": "npx",
          "args": [
            "-y",
            "witness-recorder",
            "mcp"
          ]
        }
      }
    }
  4. Claude를 끄고 다시 열기

  5. 해 보기

    Witness을 써서 나에게 무엇을 해 줄 수 있는지 알려 주고, 하나 해 봐

    ✓ Claude가 Witness을 쓰고 있다고 하거나 답에 Witness 도구 이름이 나오면 연결된 거예요

메뉴 이름은 2026년 11월 11일에 Anthropic 도움말에서 확인 · 앱 버전에 따라 화면이 조금 다를 수 있어요

ChatGPT는 아직 Witness에 연결할 수 없어요

Witness는 내 컴퓨터에 설치해서 쓰지만 ChatGPT는 웹에서 도는 서버만 연결할 수 있어요

대신 이렇게 할 수 있어요

A · Witness에 연결되는 앱 쓰기

  • 먼저 컴퓨터에 Node.js를 설치하세요 (한 번만) · 컴퓨터용 Claude 앱(Windows 또는 Mac)에서만 되고 웹이나 모바일은 안 돼요
  • 먼저 컴퓨터에 Node.js를 설치하세요 (한 번만)
  • 먼저 컴퓨터에 Node.js를 설치하세요 (한 번만)
  • 먼저 컴퓨터에 Node.js를 설치하세요 (한 번만)

B · 개발자 도구에서 ChatGPT에 연결되는 다른 서버

같은 분류에서 많이 쓰는 것 중 키 없이 주소만으로 연결되는 것을 골랐어요

Claude Code에 연결할 수 있지만 먼저 준비가 필요해요

먼저 컴퓨터에 Node.js를 설치하세요 (한 번만)

  1. Node.js 설치

    한 번만 하면 Node.js가 필요한 모든 서버에 쓸 수 있어요

    Node.js 다운로드 페이지 열기 ↗

  2. 터미널 열기

    Mac: Command+스페이스를 누르고 Terminal 입력 · Windows: PowerShell 열기

  3. 이 명령을 붙여 넣고 Enter

    claude mcp add --scope user witness -- npx -y witness-recorder mcp
  4. Claude Code에서 /mcp 입력

    Witness이 목록에 있고 연결됨으로 보이면 돼요

  5. 해 보기

    Witness을 써서 나에게 무엇을 해 줄 수 있는지 알려 주고, 하나 해 봐

    ✓ Claude Code가 Witness을 쓰고 있다고 하거나 답에 Witness 도구 이름이 나오면 연결된 거예요

메뉴 이름은 2026년 11월 11일에 Anthropic 도움말에서 확인 · 앱 버전에 따라 화면이 조금 다를 수 있어요

Cursor에 연결할 수 있지만 먼저 준비가 필요해요

먼저 컴퓨터에 Node.js를 설치하세요 (한 번만)

  1. Node.js 설치

    한 번만 하면 Node.js가 필요한 모든 서버에 쓸 수 있어요

    Node.js 다운로드 페이지 열기 ↗

  2. 이 버튼으로 Cursor 열기

    Cursor에서 열기

    Cursor가 설치를 확인하면 Install을 누르세요

  3. Cursor에서 AI 채팅을 Agent 모드로 열기

  4. 해 보기

    Witness을 써서 나에게 무엇을 해 줄 수 있는지 알려 주고, 하나 해 봐

    ✓ Cursor가 Witness을 쓰고 있다고 하거나 답에 Witness 도구 이름이 나오면 연결된 거예요

메뉴 이름은 2026년 11월 11일에 Cursor 도움말에서 확인 · 앱 버전에 따라 화면이 조금 다를 수 있어요

VS Code에 연결할 수 있지만 먼저 준비가 필요해요

먼저 컴퓨터에 Node.js를 설치하세요 (한 번만)

  1. Node.js 설치

    한 번만 하면 Node.js가 필요한 모든 서버에 쓸 수 있어요

    Node.js 다운로드 페이지 열기 ↗

  2. 이 버튼으로 VS Code 열기

    VS Code에서 열기

    VS Code가 설치를 확인하면 Install을 누르세요

  3. VS Code에서 AI 채팅을 Agent 모드로 열기

  4. 해 보기

    Witness을 써서 나에게 무엇을 해 줄 수 있는지 알려 주고, 하나 해 봐

    ✓ VS Code가 Witness을 쓰고 있다고 하거나 답에 Witness 도구 이름이 나오면 연결된 거예요

메뉴 이름은 2026년 11월 11일에 VS Code 도움말에서 확인 · 앱 버전에 따라 화면이 조금 다를 수 있어요

Windsurf, Zed, Gemini CLI 같은 다른 MCP 앱은 추가 방법이 저마다 달라요. 앱 목록에서 확인하세요

MCP를 쓰는 앱 모두 보기 →

JSON 설정은 아래 “개발자용”에 있어요

막혔나요? Witness을 쓰는 사람에게 물어보세요💬 토론 →
개발자용: 터미널 명령과 JSON 설정

컴퓨터에 설치

Claude Code

claude mcp add --scope user witness -- npx -y witness-recorder mcp

Claude Desktop (claude_desktop_config.json)

{
  "mcpServers": {
    "witness": {
      "command": "npx",
      "args": [
        "-y",
        "witness-recorder",
        "mcp"
      ]
    }
  }
}

Cursor (~/.cursor/mcp.json)

{
  "mcpServers": {
    "witness": {
      "command": "npx",
      "args": [
        "-y",
        "witness-recorder",
        "mcp"
      ]
    }
  }
}

VS Code (mcp.json)

{
  "servers": {
    "witness": {
      "type": "stdio",
      "command": "npx",
      "args": [
        "-y",
        "witness-recorder",
        "mcp"
      ]
    }
  }
}

이 설정은 제작자의 레지스트리 정보로 만들었어요. README와 다르면 README를 따르세요.

한눈에 보기

주간 다운로드i
npm/PyPI에 없음
연결 방식
내 컴퓨터에서 실행
최신 버전i
0.3.1
카테고리i
개발자 도구
레지스트리 공개i
2026년 11월 13일
코드 마지막 변경i
2026년 11월 13일
제작자
wookat
패키지
npm: witness-recorder
웹사이트
witness.zalize.com
레지스트리 상태
활성

어떤 앱에서 쓸 수 있나요

이 서버의 연결 방식과 각 앱의 공식 문서를 바탕으로 했어요. 2026년 11월 10일 확인.

내 컴퓨터에서 실행하는 앱

ClaudeGooseLM StudioMsty StudioCherry StudioCursorVS Code + GitHub CopilotVisual StudioWindsurf (Devin Desktop)ZedKiroClineContinueJetBrains AI AssistantClaude CodeCodex CLIGemini CLIOpenCodenodecodeWarpLibreChatRaycast

모든 앱과 장단점 →

할 수 있는 일

내 컴퓨터에서 실행돼요. 설치하면 AI 앱에 도구 목록이 나타나요.

기본 점검i

누구나 볼 수 있는 정보를 점검했고, 코드는 읽지 않았어요. 해당하지 않는 항목은 개수에서 뺐어요. · 2026년 11월 13일 점검

  • ✓ 통과

    제작자와 저장소 일치

    레지스트리 이름이 GitHub 계정 wookat 기준으로 확인되었고, 이 계정이 저장소를 소유하고 있어요

  • ✓ 통과

    계속 관리되고 있음

    코드 마지막 변경: 오늘

  • ✓ 통과

    라이선스 있음

    MIT 사용

  • – 해당 없음

    엔드포인트 응답

    내 컴퓨터에서 실행되는 서버라 인터넷 엔드포인트가 없어요

  • – 해당 없음

    OAuth로 로그인

    내 컴퓨터에서 실행되며, 대신 로컬 설정을 사용해요

  • … 아직 점검 안 함

    도구 설명에 숨겨진 지시 없음

    내 컴퓨터에서 실행돼요. 도구 목록은 인터넷 엔드포인트가 있는 서버에서만 읽을 수 있어요

토론

질문하고, 팁을 나누고, 안 되는 점을 알려 주세요. "도움이 됨"이 많은 순서예요.

아직 글이 없어요. 처음으로 질문하거나 공유해 보세요.

이곳의 글은 사용자가 쓴 것으로, PopNx 팀의 글이 아니에요.

Google로 로그인하고 글쓰기

사용자 리뷰

아직 리뷰가 없어요

Google로 로그인하고 리뷰 쓰기

개발자 도구 카테고리의 다른 서버와 비교i

  • 이 카테고리의 다른 서버 5839개 중 0%보다 스타가 많아요
  • 이 카테고리의 다른 서버 5839개 중 99%보다 최근에 레지스트리에 공개됐어요
  • 기본 점검 결과가 이 카테고리의 다른 서버 5839개 중 100%와 같거나 더 좋아요

레지스트리에서 이 카테고리의 활성 서버 전체와 비교했어요. 스타는 게시자가 저장소를 소유한 경우에만 세요.

자주 묻는 질문

Witness, 안전한가요?

해당하는 기본 점검 3개 중 3개를 통과했어요. 코드는 읽지 않았어요. 키나 토큰을 넣기 전에 서버가 어떤 권한을 요구하는지 확인하고, 꼭 필요한 권한만 있는 키를 쓰세요.

어떤 키나 코드가 필요한가요?

레지스트리에 필수 키가 나와 있지 않아요. 다만 처음 쓸 때 로그인을 요구하는 서버도 있어요.

내 컴퓨터에서 실행되나요, 클라우드에서 실행되나요?

내 컴퓨터에서 실행돼요. AI 앱이 필요할 때 실행하고, 데이터는 제작자의 서버를 거치지 않아요(서버 자체가 온라인 서비스를 호출하는 경우는 제외).

아직 관리되고 있나요?

GitHub 저장소는 마지막으로 오늘 변경됐고, 최신 버전(0.3.1)은 오늘 레지스트리에 올라왔어요.

어떤 앱에서 쓸 수 있나요?

Claude Desktop, Claude Code, Cursor, VS Code처럼 MCP를 지원하는 앱에서 쓸 수 있어요. 내 컴퓨터에 Node.js도 있어야 해요.

대신 쓸 수 있는 건 뭐가 있나요?

같은 카테고리에는: REA, GitHub, Serena MCP: the IDE for your agent

같은 카테고리의 다른 것

같은 카테고리에서 다른 제작자가 만든 서버예요. 스타 순으로 정렬했어요.

카드 보는 법:↓ 주간 다운로드i★ GitHub 스타i세 기둥: 리뷰 · 점검 · 사용 정도i업데이트 = 최신 버전을 레지스트리에 공개한 날i

REA

Reverse engineer anything from your terminal or agent with one CLI and MCP server.

제작자: morluto널리 사용됨↓ 38.9만/주★ 45.5만어제 업데이트

내 컴퓨터에서 실행

GitHub

Connect AI assistants to GitHub - manage repos, issues, PRs, and workflows through natural language.

제작자: github널리 사용됨★ 3.4만10일 전 업데이트

컴퓨터 또는 클라우드

Serena MCP: the IDE for your agent

A powerful toolkit for coding, providing semantic retrieval and editing capabilities.

제작자: oraios널리 사용됨↓ 3.5만/주★ 3.1만6개월 전 업데이트

내 컴퓨터에서 실행

제작자의 README

README 열기

제작자의 저장소에서 쓰인 그대로 가져왔어요. PopNx MCP가 검토하거나 보증한 내용이 아니에요. HTML, 이미지, 스크립트는 제거했어요. 링크를 누르면 이 사이트를 벗어나요.

English · 中文 · witness.zalize.com · VISION.md

Voice-anchored causal evidence recorder for AI coding agents.

You experience the product and talk — *“this button does nothing.”* Witness welds every word to the causal evidence of that exact second: clicks, requests, console errors, DOM mutations, screenshots, full rrweb replay — then hands a structured evidence package to your AI coding agent.

Why

AI agents can't see what you see. Describing a visual bug costs ten minutes of screenshots and prompt crafting — and still loses the *why*. Voice is the cheapest annotation channel there is; it just never had a recorder.

Three streams run in parallel the moment wit start opens a managed browser:

  1. Your voice — continuous audio + live transcription. One take, many issues.
  2. Operations + causal bursts — every click captures its ~1.8s aftermath (requests, responses, console errors, DOM changes). A click with *no* aftermath is itself recorded as evidence.
  3. Page evolution — rrweb full-DOM replay + event-driven screenshots + periodic DOM snapshots.

Install

npm i -g witness-recorder        # needs Node 18+ and system Edge/Chrome

wit start http://localhost:5173 # managed browser opens — talk & click

rec is an alias for wit — same binary, shorter to type.

No downloads, no API keys. System Edge/Chrome is preferred; bundled Chromium is the fallback.

During recording

GestureEffect
Browse + talkFull audio; clicks/scrolls/inputs/navigation auto-logged; live transcript preview under the toolbar
Ctrl+clickMark an element — selector, outerHTML, component chain, red-frame screenshot
MInspect mode: hover-highlight, click to mark; drag to crop a region
NExplicit boundary marker — ⏺ ISSUE #n divider; a strong grouping hint for the agent
PPause/resume — all events and audio freeze (privacy)
EscExit inspect mode
■ / Alt+Shift+RStop and finalize the evidence package

events.jsonl streams to disk as you go — kill the process and you lose only the last few hundred milliseconds. wit recover rebuilds everything.

What the agent reads

Each spoken fragment lands on a timeline as a SAY block carrying the causal burst of that moment — dead clicks, mutations, errors — with linked shots and DOM snapshots.

CLI

wit start <url> [--lang en-US] [--duration 60] [--no-rr] [--associate]

[--shot-format jpeg|webp] [--dsf 1|2] [--keyframes] wit list # sessions with url/duration/say count wit open latest # open review.html wit transcribe # re-run cloud ASR wit correct # re-run LLM text polish wit associate # LLM picks relevant evidence per SAY (ZHIPU_API_KEY) wit recover # rebuild artifacts after a crash wit segments # regenerate speech-anchor index + bundles wit keyframes # render rrweb → per-segment keyframe jpgs wit mcp [dir] # stdio MCP server over the evidence wit config asr # live ASR: auto|doubao-web|doubao-ime|sr|off

The evidence package — .witness/sessions/ _ /

Agent-facing artifacts (PROMPT.md / SEGMENTS.md / session.md) are always generated in English — the most reliable corpus for LLMs; your words stay verbatim, never translated.

SEGMENTS.md       # speech anchors: verbatim + suspects + shot/dom refs (agents read first)

segments/*.md # per-segment bundle: verbatim frags, dead clicks, errors, linked shots keyframes/*.jpg # rrweb-rendered replay frames per segment (wit keyframes) KEYFRAMES.md # keyframe index segments.json # machine-readable segment index (what MCP serves) session.md # timeline archive: each SAY block carries its causal burst PROMPT.md # paste-ready handoff instructions + page vocabulary review.html # human view: speech cards + audio seek + filmstrip + embedded rrweb replay events.jsonl # complete raw stream, crash-safe rrweb.jsonl # full DOM event stream (--no-rr to disable) dom/*.html # DOM snapshots on nav/mark/30s assoc.json # optional LLM evidence-association suggestions shots/*.jpg # click/mark crops + periodic + spoken-segment frames (--shot-format webp for ~35% smaller) bodies/* # response bodies ≤64KB (.json for JSON, .txt otherwise) session.json # meta: url, duration, asr engine, counts audio.webm / transcript.json

MCP — evidence as an API

wit mcp serves the session over stdio. Point any MCP-capable agent (Claude Code, Cursor, Devin) at it and it pulls exactly what it needs:

list_segments · segment_detail(n) · session_overview · list_says · session_md · events_around(t_ms, radius, kinds) · get_errors · get_shot · get_body · get_dom_state(t) · get_asr · set_asr

Principles

  • Evidence is never rewritten — speech lands verbatim; merging/correction/association are display-layer suggestions.
  • Evidence ≠ intent — behavior without a spoken anchor is never presented as a bug.
  • Local-first — deterministic recording; live SAY subtitles stream through free cloud ASR (auto = doubao-web → doubao-ime → browser SR fallback — pick via wit config asr, --asr, WIT_ASR, or the get_asr/set_asr MCP tools); final transcript falls back to bcut (bilibili editor ASR, no key needed) when no OPENAI key is set. LLM layers are optional.
  • Privacy engineered in — password fields masked across four channels, credential fields redacted in POST bodies, WIT_NO_BODIES=1 disables body capture, P freezes everything, .witness/ is auto-gitignored.
  • Anonymous usage stats — the CLI sends one ping per command (command name, version, OS/arch, Node major; never URLs, paths or session data) to our own Cloudflare Worker — no third-party analytics, no cookies. Disable with WIT_TELEMETRY=0.

Development

npm install && npm run build && npm link

npm test # build + node:test suite (align / speech-run / bursts / prompts / review html)

Built by zalize ( @wookat ) · MIT

Questions welcome — wookat@qq.com · issues