/ 디렉터리 / 플레이그라운드 / Context7
● 공식 upstash ⚡ 바로 사용

Context7

제작: upstash · upstash/context7

Context7은 30,000개 이상의 라이브러리에 대한 최신 버전별 문서를 코딩 에이전트에 주입하여 존재하지 않는 환각 API를 중지합니다.

Context7은 Upstash의 docs-for-LLMs 플랫폼입니다. MCP 서버는 라이브러리 이름을 안정된 ID로 확인한 다음 에이전트가 필요로 하는 정확한 문서를 가져옵니다. 잠금 파일의 버전에 고정됩니다. 무료 등급은 즉시 사용할 수 있습니다. 무료 API 키를 사용하면 요금 제한이 높아집니다. 단일 npx 명령에서 설치되며, 2개 이상의 라이브러리에 걸쳐 있는 모든 코딩 워크플로우에 대해 가장 높은 ROI MCP 중 하나입니다.

왜 쓰나요

핵심 기능

라이브 데모

실제 사용 모습

context7.replay ▶ 준비됨
0/0

설치

클라이언트 선택

~/Library/Application Support/Claude/claude_desktop_config.json  · Windows: %APPDATA%\Claude\claude_desktop_config.json
{
  "mcpServers": {
    "context7": {
      "command": "npx",
      "args": [
        "-y",
        "@upstash/context7-mcp@latest"
      ]
    }
  }
}

Claude Desktop → Settings → Developer → Edit Config 열기. 저장 후 앱 재시작.

~/.cursor/mcp.json · .cursor/mcp.json
{
  "mcpServers": {
    "context7": {
      "command": "npx",
      "args": [
        "-y",
        "@upstash/context7-mcp@latest"
      ]
    }
  }
}

Cursor는 Claude Desktop과 동일한 mcpServers 스키마 사용. 프로젝트 설정이 전역보다 우선.

VS Code → Cline → MCP Servers → Edit
{
  "mcpServers": {
    "context7": {
      "command": "npx",
      "args": [
        "-y",
        "@upstash/context7-mcp@latest"
      ]
    }
  }
}

Cline 사이드바의 MCP Servers 아이콘 클릭 후 "Edit Configuration" 선택.

~/.codeium/windsurf/mcp_config.json
{
  "mcpServers": {
    "context7": {
      "command": "npx",
      "args": [
        "-y",
        "@upstash/context7-mcp@latest"
      ]
    }
  }
}

Claude Desktop과 같은 형식. Windsurf 재시작 후 적용.

~/.continue/config.json
{
  "mcpServers": [
    {
      "name": "context7",
      "command": "npx",
      "args": [
        "-y",
        "@upstash/context7-mcp@latest"
      ]
    }
  ]
}

Continue는 맵이 아닌 서버 오브젝트 배열 사용.

~/.config/zed/settings.json
{
  "context_servers": {
    "context7": {
      "command": {
        "path": "npx",
        "args": [
          "-y",
          "@upstash/context7-mcp@latest"
        ]
      }
    }
  }
}

context_servers에 추가. 저장 시 Zed가 핫 리로드.

claude mcp add context7 -- npx -y @upstash/context7-mcp@latest

한 줄 명령. claude mcp list로 확인, claude mcp remove로 제거.

사용 사례

실전 활용법: Context7

상담원이 존재하지 않는 환각 기능을 하지 못하게 하세요.

👤 모델 컷오프보다 새로운 라이브러리가 있는 AI 코딩 도우미를 사용하는 모든 사람 ⏱ ~5 min beginner

언제 쓸까: Next.js 15, Prisma 5, Drizzle, LangChain 0.3 또는 빠르게 움직이는 라이브러리로 작업하고 있으며 에이전트가 존재하지 않는 함수를 계속 발명합니다.

사전 조건
  • 노드 18 + — node -v
  • Context7 MCP 설치됨 — 위의 구성 블록을 Claude Desktop/Cursor/Windsurf 설정에 붙여넣습니다.
흐름
  1. 라이브러리 이름을 명시적으로 지정
    Context7을 사용하여 prisma에 대한 최신 문서를 가져오고 중첩된 관계 쓰기로 트랜잭션을 수행하는 올바른 방법을 보여줍니다.✓ 복사됨
    → 상담원은 resolve-library-id를 호출한 다음 Wikipedia 스타일의 요약이 아닌 관련 쿼리가 있는 query-docs를 호출합니다.
  2. 중요한 경우 버전에 고정
    다음 @ 15.0.3입니다. Context7을 사용하여 해당 버전에 대한 앱 라우터 스트리밍 문서를 가져옵니다.✓ 복사됨
    → 인용에는 버전이 포함됩니다. 코드는 getServerSideProps가 아닌 파일 기반 규칙을 사용합니다.
  3. 자체 코드 교차 확인
    Src/lib/db.ts에서 가져오기를 읽은 다음 Context7을 사용하여 내가 가져온 모든 함수가 실제로 drizzle-orm 0.30.x에 있는지 확인합니다.✓ 복사됨
    → 문서 링크가 있는 가져오기✓/✗보고서당

결과: 에이전트 출력은 그럴듯하게 보이는 발명된 API 대신 실제 현재 API (첫 번째 시도) 를 사용합니다.

함정
  • 상담원이 두 번째 턴에 Context7에 전화하는 것을 잊음 — 시스템 프롬프트 또는 CLAUDE.md에 '라이브러리 질문에 항상 Context7 사용' 을 입력하십시오.
  • 라이브러리 이름이 모호함 (예: 'supabase') — Resolve-library-id 반환 일치; 특정 패키지 선택 (supabase-js vs @ supabase/ssr)
함께 쓰기: filesystem · github

현재의 관용적 패턴을 사용하여 새로운 기능을 스캐폴드

👤 익숙하지 않거나 최신 버전의 프레임워크에서 기능을 시작하는 엔지니어 ⏱ ~15 min intermediate

언제 쓸까: Next.js 15 앱에 인증을 추가해야 하며 오래된 블로그 게시물을 건너뛰고 싶습니다.

사전 조건
  • 목표 프레임워크 확인됨 — package.json 또는 pyproject.toml은 이미 그것을 나열합니다
흐름
  1. 현재 숙어 요청
    Context7을 사용하여 NextAuth v5 문서를 가져오고 자격 증명 공급자 설정을 비계로 만듭니다. v4가 아닌 현재 베타를 원합니다.✓ 복사됨
    → 코드는 v4 getServerSession이 아닌 v5의 auth () 함수와 Edge 호환 구성을 사용합니다.
  2. 마이그레이션 메모 확인
    NextAuth 문서의 'v4에서 업그레이드' 섹션을 가져와 현재 코드에서 변경해야 할 사항을 나열합니다.✓ 복사됨
    → 변경 사항 브레이킹의 Diff 스타일 목록

결과: 첫 번째 커밋에서 v5 코드 작동 — 절반 마이그레이션된 하이브리드가 아님.

함정
  • 서류가 엣지 케이스를 가리지 않음 — Context7은 문서 전용입니다. 릴리스되지 않은 동작의 경우 GitHub MCP를 통해 소스로 돌아갑니다.
함께 쓰기: github · filesystem

진동이 아닌 실제 문서 서지정보로 PR 검토

👤 증거로 댓글을 백업하려는 검토자 ⏱ ~20 min intermediate

언제 쓸까: 라이브러리 API를 사용하는 PR을 검토하는 것은 100% 확실하지 않습니다.

흐름
  1. 차이점 읽기
    PR # 482에서 차이를 당깁니다. 모든 라이브러리 호출에 대해 Context7을 사용하여 서명을 확인하고 꺼져 보이는 모든 항목에 플래그를 지정합니다.✓ 복사됨
    → 문서 링크 및 버전이 포함된 통화당 평결
  2. 인용 가능한 의견 작성
    신고된 통화마다 Context7을 통해 공식 문서를 연결하는 리뷰 댓글 초안을 작성합니다.✓ 복사됨
    → 의견은 'v15 문서에 따라 X는 Y여야 <link>합니다' 와 같이 읽습니다.

결과: 의견이 아닌 인용으로 의견을 검토하십시오.

함께 쓰기: github

코드베이스를 새로운 주요 버전의 라이브러리로 마이그레이션

👤 주요 업그레이드를 수행하는 엔지니어 (React 18→ 19, Tailwind 3→ 4 등) ⏱ ~90 min advanced

언제 쓸까: 주 버전이 충돌하고 있으며 업그레이드 가이드는 '상황에 따라 다름' 40페이지입니다.

사전 조건
  • 목표 버전 선택됨 — 정확한 버전을 선택하세요. 전공에 '최신' 을 적용하지 마세요.
흐름
  1. 마이그레이션 가이드를 당깁니다.
    Context7을 사용하여 Tailwind v3→ v4 마이그레이션 문서를 가져옵니다. 체크리스트로 요약합니다.✓ 복사됨
    → 변경 사항 위반에 대한 순서가 있는 체크리스트
  2. 각 문제에 대해 저장소를 스캔합니다.
    해당 체크리스트의 모든 항목에 대해 파일 시스템 MCP를 사용하여 src/에서 일치하는 패턴을 찾으십시오. 파일당 보고서를 제공해 주세요.✓ 복사됨
    → 패턴 → 영향을 받는 파일 목록
  3. 작은 커밋의 패치
    문서 섹션을 참조하는 메시지와 함께 각 마이그레이션 항목을 별도의 커밋으로 만듭니다.✓ 복사됨
    → 항목별로 항목을 되돌릴 수 있는 깨끗한 커밋 로그

결과: 마이그레이션 PR을 실제로 검토할 수 있으며, 각 변경 사항은 문서 섹션과 다시 연결됩니다.

함정
  • 한 번의 커밋으로 너무 많은 항목 처리 — 하나의 브레이킹 변경 → 하나의 커밋; 무언가가 깨지면 이등분하기 쉽습니다
함께 쓰기: filesystem · git · github

조합

다른 MCP와 조합해 10배 효율

context7 + filesystem

Package.json을 읽고 정확한 버전을 선택한 다음 Context7을 쿼리하여 일치하는 문서를 찾습니다.

Package.json을 읽고 다음 버전을 찾은 다음 Context7 for Server Actions에서 일치하는 문서를 가져옵니다.✓ 복사됨
context7 + github

라이브러리 API를 다루는 PR의 경우, 문서 서지정보로 리뷰에 주석을 달아주세요.

PR # 482의 모든 API 호출에 대해 Context7 문서를 인용한 검토 의견을 추가합니다.✓ 복사됨

코드를 터치하기 전에 단계별 마이그레이션 계획

순차적 사고를 사용하여 Prisma v4→ v5 마이그레이션을 계획하고 각 단계에서 Context7에서 문서 증거를 가져옵니다.✓ 복사됨

도구

이 MCP가 노출하는 것

도구입력언제 호출비용
resolve-library-id libraryName: str 첫 번째 호출 — 관심 있는 라이브러리 이름을 명확히 합니다. 1 free request
query-docs libraryId: str, query: str, version?: str Resolve-library-id 후 — 실제 질문하기 1 free request (higher rate limit with API key)

비용 및 제한

운영 비용

API 쿼터
무료 등급은 관대합니다. 무료 API 키 (context7.com/dashboard) 는 요금 한도를 높입니다.
호출당 토큰
문서 길이에 따라 쿼리당 최대 200-2000개
금액
비점유
범위 쿼리 — 'X 사용 방법' 이 'X에 대한 모든 것을 알려주십시오' 보다 저렴합니다. 서버는 이미 집중된 스니펫을 반환합니다.

보안

권한, 시크릿, 파급범위

자격 증명 저장: 더 높은 요금 한도를 위한 옵션 CONTEXT7_API_KEY env var
데이터 외부 송신: 쿼리는 api.context7.com으로 이동합니다. 코드 송신 없음 — 라이브러리 이름과 쿼리만 전송됩니다.

문제 해결

자주 발생하는 오류와 해결

Resolve-library-id에서 라이브러리를 찾을 수 없음

대체 이름 시도 (예: 'nextjs' vs 'next.js' vs '@ vercel/next'); 공통 별칭에 의한 Context7 인덱스 (모든 포크는 아님)

확인: Check context7.com/browse for the official slug
서류가 오래되어 보임

명시적인 버전 인수를 포함합니다. 인수가 없으면 라이브러리의 최신 인덱싱된 문서를 얻을 수 있으며, 이 문서는 몇 시간씩 릴리스가 지연될 수 있습니다.

확인: Compare the returned snippet URL to the official docs site
익명 사용에 대한 요율 제한 적중

Context7.com/dashboard에서 무료 API 키를 받고 MCP 구성의 env 블록에서 CONTEXT7_API_KEY를 설정하십시오

확인: Re-run the same query and check it succeeds

대안

Context7 다른 것과 비교

대안언제 쓰나단점/장점
GitHub MCP (docs folder)소스 수준의 진실 또는 미공개 행동이 필요합니다파일당 지연 시간이 높습니다. 수동으로 저장소를 탐색해야 합니다.
Ref Tools고유한 색인을 가진 다른 문서 제공자를 원합니다다양한 라이브러리 커버리지
Direct web fetch문서가 인덱스에 없습니다 — URL이 있습니다버전 확인 없음. URL 작업 수행

더 보기

리소스

📖 GitHub에서 공식 README 읽기

🐙 열린 이슈 보기

🔍 400+ MCP 서버 및 Skills 전체 보기