npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2026 – Pkg Stats / Ryan Hefner

@votra/cli

v0.8.1

Published

votra 세션 간 연결을 위한 MCP 서버

Readme

@votra/cli

세션 간 메모리를 AI 에이전트에 제공하는 MCP 서버예요. 태스크 관리, 과거 결정 검색, 프롬프트 파일 업로드, 계정 관리 기능을 포함해요.


시작하기

1. 설치 & MCP 등록

npm i -g @votra/cli
votra install

votra install이 하는 것:

  • Claude Desktop claude_desktop_config.json에 MCP 서버 등록
  • ~/.claude/CLAUDE.md에 툴 사용 가이드 추가

→ Claude Desktop 재시작

2. 로그인

Claude Desktop에서:

signin 툴 실행해줘

→ 브라우저 자동 열림 → votra 계정 로그인 → ~/.votra/auth.json 저장

3. 프로젝트 작업 시작

AI 에이전트가 새 세션을 열면 brief를 자동 호출해요. 프로젝트가 없으면 cwd 기준으로 자동 등록되므로 별도 설정 불필요.

brief → 컨텍스트 로드 + 현황 정리

유저 플로우

설치 → votra install → Claude Desktop 재시작
                    ↓
              signin 툴로 로그인
                    ↓
           새 세션 열 때마다 brief 자동 호출
           (첫 진입 시 프로젝트 자동 등록)
                    ↓
    start_task → 구현 → finish_task
                    ↓
           필요 시 upload_prompt로
           CLAUDE.md 업로드

MCP 툴 레퍼런스

모든 툴은 선택적으로 cwd 파라미터를 받아요. 여러 프로젝트를 넘나들 때 명시하면 돼요.


계정 관리

signin

votra 계정에 로그인해요. 브라우저가 자동으로 열리고 로그인 후 ~/.votra/auth.json에 저장돼요.

| 파라미터 | 타입 | 설명 | |---------|------|------| | appUrl | string (선택) | votra 서버 URL (기본값 자동 사용) |

whoami

현재 로그인 상태와 계정 정보를 반환해요.

signout

~/.votra/auth.json을 삭제해 로그아웃해요.


프로젝트 컨텍스트

brief

세션 시작 브리핑. 프로젝트 태스크 현황, AI 추천 태스크, 행동 지침을 한번에 반환해요. 첫 실행 시 cwd 기준으로 프로젝트를 자동 등록해요.

새 대화창을 열면 반드시 brief를 먼저 호출하세요.

| 파라미터 | 타입 | 설명 | |---------|------|------| | cwd | string (선택) | 프로젝트 절대경로 |

recall

의미 유사도로 과거 결정 사항과 인사이트를 검색해요.

| 파라미터 | 타입 | 설명 | |---------|------|------| | query | string (필수) | 검색 쿼리 | | limit | number (선택) | 최대 결과 수 (기본 10) | | cwd | string (선택) | 프로젝트 절대경로 |

upload_prompt

현재 프로젝트의 CLAUDE.md / AGENTS.md / SKILL.md를 스캔해 votra 서버로 업로드해요. Claude Files 탭에서 AI 정책 평가 결과를 확인할 수 있어요.

| 파라미터 | 타입 | 설명 | |---------|------|------| | cwd | string (필수) | 프로젝트 절대경로 |


태스크 관리

start_task

태스크를 생성하고 즉시 IN_PROGRESS로 시작해요.

| 파라미터 | 타입 | 설명 | |---------|------|------| | title | string (필수) | 태스크 제목 | | description | string (선택) | 상세 설명 | | module | string (선택) | 모듈명 (예: auth, api, ui) | | priority | number (선택) | 우선순위 0-10 | | cwd | string (선택) | 프로젝트 절대경로 |

add_task

태스크를 PENDING 상태로 등록해요.

| 파라미터 | 타입 | 설명 | |---------|------|------| | title | string (필수) | 태스크 제목 | | description | string (선택) | 상세 설명 | | module | string (선택) | 모듈명 | | priority | number (선택) | 우선순위 0-10 | | cwd | string (선택) | 프로젝트 절대경로 |

update_task

태스크 상태나 내용을 변경해요.

| 파라미터 | 타입 | 설명 | |---------|------|------| | taskSeq | number (필수) | 태스크 번호 (#42 형태) | | status | string (선택) | PENDING | IN_PROGRESS | DONE | CANCELLED | | title | string (선택) | 새 제목 | | description | string (선택) | 새 설명 | | module | string (선택) | 새 모듈명 | | priority | number (선택) | 새 우선순위 |

finish_task

태스크를 DONE으로 완료하고 세션 요약을 저장해요.

| 파라미터 | 타입 | 설명 | |---------|------|------| | taskSeq | number (필수) | 완료할 태스크 번호 | | summary | string (필수) | 이번 세션 작업 요약 (2-5문장) | | keyDecisions | string[] (선택) | 핵심 결정/인사이트 — recall 검색 대상 | | outcome | string (선택) | 구현/변경 내용 서술 (수정 파일 경로 포함 권장) | | aiTool | string (선택) | claude | cursor | gemini | codex | | cwd | string (선택) | 프로젝트 절대경로 |

list_tasks

태스크 목록을 조회해요.

| 파라미터 | 타입 | 설명 | |---------|------|------| | status | string (선택) | PENDING | IN_PROGRESS | DONE | CANCELLED | | module | string (선택) | 모듈 필터 | | cwd | string (선택) | 프로젝트 절대경로 |

log_session

세션 종료 전 작업 요약을 저장해요.

| 파라미터 | 타입 | 설명 | |---------|------|------| | summary | string (필수) | 이번 세션 작업 요약 (2-5문장) | | aiTool | string (선택) | claude | cursor | gemini | codex | | cwd | string (선택) | 프로젝트 절대경로 |

load_skill

스킬의 전체 지침을 로드해요. brief 응답에 나열된 스킬을 맥락에 맞게 호출하세요.

| 파라미터 | 타입 | 설명 | |---------|------|------| | slug | string (필수) | 스킬 슬러그 (예: planner, reviewer) | | cwd | string (선택) | 프로젝트 절대경로 |


권장 워크플로우

세션 시작  →  brief
작업 시작  →  start_task
탐색       →  recall "관련 결정 검색"
구현
완료       →  finish_task (outcome에 수정 파일 경로 포함)
세션 종료  →  log_session

구조

src/
├─ index.ts                  진입점 (install | MCP 서버 시작)
├─ auth.ts                   ~/.votra/auth.json 읽기/쓰기
├─ mcp/
│  ├─ server.ts              MCP 서버 (stdio / HTTP transport)
│  ├─ mcpClient.ts           votra API 클라이언트
│  ├─ resolveProjectId.ts    cwd → projectId (없으면 자동 등록)
│  ├─ install.ts             Claude Desktop MCP 등록 + CLAUDE.md 주입
│  └─ tools/
│     ├─ brief.ts            세션 시작 브리핑
│     ├─ recall.ts           의미 검색
│     ├─ addTask.ts          태스크 등록
│     ├─ startTask.ts        태스크 생성 + IN_PROGRESS
│     ├─ updateTask.ts       태스크 상태/내용 변경
│     ├─ finishTask.ts       태스크 완료 + 세션 요약
│     ├─ listTasks.ts        태스크 목록 조회
│     ├─ logSession.ts       세션 요약 저장
│     ├─ loadSkill.ts        스킬 지침 로드
│     ├─ signin.ts           브라우저 OAuth 로그인
│     ├─ whoami.ts           로그인 계정 확인
│     ├─ signout.ts          로그아웃
│     └─ uploadPrompt.ts     CLAUDE.md 등 업로드
├─ discoverClaudeFiles.ts    프로젝트 내 claude files 탐색
├─ readClaudeFile.ts         파일 읽기 + mtime
└─ openBrowser.ts            OS별 브라우저 열기

개발

npm install
npm run typecheck    # tsc --noEmit
npm run build        # dist/ 생성 (prebuild에서 자동 정리)