npm.io
0.1.0 • Published 2d agoCLI

@neki-team/sprint-mcp

Licence
MIT
Version
0.1.0
Deps
2
Size
14 kB
Vulns
0
Weekly
0

Sprint MCP 서버 (@neki-team/sprint-mcp)

Claude Code / Claude Desktop / Cursor 등 MCP 클라이언트에서 Sprint 트래커의 티켓·위키를 다루는 MCP 서버. 배포된 앱의 /api/mcp/v1/* HTTP API를 개인 토큰(Bearer) 으로 호출하는 얇은 클라이언트다. 모든 작업은 토큰 소유자 본인 계정으로 기록된다.

도구

도구 설명
create_ticket 티켓 생성. team=팀 key(예: NEKI) 또는 id, assignee=이메일 또는 id
update_ticket 티켓 수정. idOrKey=cuid 또는 이슈키(NEKI-42), 준 필드만 변경
get_ticket 티켓 단건 조회
search_tickets 제목/키로 티켓 검색
create_wiki_page 위키 페이지 생성. body=마크다운(제목·목록·코드·굵게/기울임/링크)
update_wiki_page 위키 제목/본문 수정(본문은 교체)
get_wiki_page 위키 조회(순수 텍스트 + Tiptap JSON)
search_wiki_pages 제목으로 위키 검색
list_teams / list_members / list_epics id 해석용 조회 보조

삭제 계열은 안전을 위해 노출하지 않는다.

1. 개인 토큰 발급

앱에 로그인한 뒤 우측 상단 아바타 메뉴 → 프로필(본인 프로필)로 이동해 하단 API 토큰 섹션에서 토큰을 만든다. 토큰 원문은 생성 시 한 번만 표시되므로 바로 복사해 둔다. 분실/유출 시 같은 화면에서 폐기한다.

2. 환경 변수

변수
SPRINT_API_URL 배포된 앱의 베이스 URL (예: https://sprint.example.com)
SPRINT_API_TOKEN 위에서 발급한 sprint_pat_... 토큰

3-A. Claude Code (레포 클론 팀원)

레포 루트에 .mcp.json이 커밋돼 있어 프로젝트 MCP로 자동 인식된다.

cd mcp && npm install && npm run build && cd ..
export SPRINT_API_URL="https://<배포_도메인>"
export SPRINT_API_TOKEN="sprint_pat_..."
# Claude Code 재시작 → 프로젝트 MCP 서버 'sprint' 승인

.mcp.json${SPRINT_API_URL} / ${SPRINT_API_TOKEN}을 셸 환경에서 확장한다. 토큰은 커밋하지 않는다.

3-B. Claude Desktop / Cursor (레포 없이)

npm에 게시된 패키지를 npx로 실행한다.

// Claude Desktop: claude_desktop_config.json
// Cursor: ~/.cursor/mcp.json
{
  "mcpServers": {
    "sprint": {
      "command": "npx",
      "args": ["-y", "@neki-team/sprint-mcp"],
      "env": {
        "SPRINT_API_URL": "https://<배포_도메인>",
        "SPRINT_API_TOKEN": "sprint_pat_..."
      }
    }
  }
}

게시 전에는 로컬 빌드 경로("command": "node", "args": ["<repo>/mcp/dist/index.js"])로도 등록할 수 있다.

개발

npm install
npm test        # vitest (config/client/format 순수 로직)
npm run build   # dist/ 로 컴파일

보안

  • 토큰은 앱 DB에 sha-256 해시로만 저장되고 원문은 저장되지 않는다.
  • 토큰은 발급 유저 스코프이며 언제든 폐기 가능하다.
  • 엔드포인트는 세션 쿠키가 아니라 Bearer 토큰으로만 인증한다.

Keywords