문서 검색 (Context7)은(는) 무엇을 하나요?
사용자가 라이브러리, 프레임워크, API에 대해 질문하면 Context7 MCP (도구 resolve-library-id 및 query-docs)를 통해 학습 데이터 대신 최신 문서를 가져오세요.
핵심 개념
- Context7: 실시간 문서를 제공하는 MCP 서버입니다. 라이브러리 및 API에 대해 학습 데이터 대신 사용하세요.
- resolve-library-id: 라이브러리 이름과 쿼리로부터 Context7 호환 라이브러리 ID(예:
/vercel/next.js)를 반환합니다. - query-docs: 주어진 라이브러리 ID와 질문에 대한 문서와 코드 조각을 가져옵니다. 항상
resolve-library-id를 먼저 호출하여 유효한 라이브러리 ID를 얻으세요.
사용 시점
사용자가 다음과 같은 경우에 활성화하세요:
- 설정 또는 구성 질문을 하는 경우 (예: "Next.js 미들웨어를 어떻게 설정하나요?")
- 라이브러리에 의존하는 코드를 요청하는 경우 ("Prisma 쿼리를 작성해 주세요...")
- API 또는 참조 정보가 필요한 경우 ("Supabase 인증 메서드는 무엇인가요?")
- 특정 프레임워크나 라이브러리를 언급하는 경우 (React, Vue, Svelte, Express, Tailwind, Prisma, Supabase 등)
요청이 라이브러리, 프레임워크, API의 정확하고 최신 동작에 의존할 때마다 이 스킬을 사용하세요. Context7 MCP가 구성된 모든 환경(예: Claude Code, Cursor, Codex)에서 적용됩니다.
작동 방식
1단계: 라이브러리 ID 확인
resolve-library-id MCP 도구를 다음 매개변수로 호출하세요:
- libraryName: 사용자 질문에서 가져온 라이브러리 또는 제품 이름 (예:
Next.js,Prisma,Supabase). - query: 사용자의 전체 질문입니다. 결과의 관련성 순위를 향상시킵니다.
문서를 조회하기 전에 반드시 Context7 호환 라이브러리 ID(형식 /org/project 또는 /org/project/version)를 얻어야 합니다. 이 단계의 유효한 라이브러리 ID 없이 query-docs를 호출하지 마세요.
2단계: 최적 일치 항목 선택
확인 결과에서 다음 기준을 사용하여 하나의 결과를 선택하세요:
- 이름 일치: 사용자가 요청한 것과 정확히 일치하거나 가장 가까운 일치 항목을 선호합니다.
- 벤치마크 점수: 점수가 높을수록 문서 품질이 좋습니다 (100이 최고).
- 소스 평판: 가능하면 High 또는 Medium 평판을 선호합니다.
- 버전: 사용자가 버전을 지정한 경우 (예: "React 19", "Next.js 15"), 목록에 있으면 버전별 라이브러리 ID(예:
/org/project/v1.2.0)를 선호합니다.
3단계: 문서 가져오기
query-docs MCP 도구를 다음 매개변수로 호출하세요:
- libraryId: 2단계에서 선택한 Context7 라이브러리 ID (예:
/vercel/next.js). - query: 사용자의 구체적인 질문 또는 작업입니다. 관련성 높은 조각을 얻으려면 구체적으로 작성하세요.
제한: 질문당 query-docs(또는 resolve-library-id)를 3번 이상 호출하지 마세요. 3번 호출 후에도 답변이 불분명하면 불확실성을 명시하고 추측하지 말고 가지고 있는 최상의 정보를 사용하세요.
4단계: 문서 사용하기
- 가져온 최신 정보를 사용하여 사용자의 질문에 답변하세요.
- 필요할 때 문서의 관련 코드 예제를 포함하세요.
- 중요할 때 라이브러리나 버전을 인용하세요 (예: "Next.js 15에서는...").
예제
예제: Next.js 미들웨어
- resolve-library-id를
libraryName: "Next.js",query: "How do I set up Next.js middleware?"로 호출합니다. - 결과에서 이름과 벤치마크 점수로 최적 일치 항목(예:
/vercel/next.js)을 선택합니다. - query-docs를
libraryId: "/vercel/next.js",query: "How do I set up Next.js middleware?"로 호출합니다. - 반환된 조각과 텍스트를 사용하여 답변하고, 관련이 있으면 문서의 최소
middleware.ts예제를 포함합니다.
예제: Prisma 쿼리
- resolve-library-id를
libraryName: "Prisma",query: "How do I query with relations?"로 호출합니다. - 공식 Prisma 라이브러리 ID(예:
/prisma/prisma)를 선택합니다. - 해당
libraryId와 쿼리로 query-docs를 호출합니다. - 문서의 짧은 코드 조각과 함께 Prisma Client 패턴(예:
include또는select)을 반환합니다.
예제: Supabase 인증 메서드
- resolve-library-id를
libraryName: "Supabase",query: "What are the auth methods?"로 호출합니다. - Supabase 문서 라이브러리 ID를 선택합니다.
- query-docs를 호출하고, 가져온 문서에서 인증 메서드를 요약하고 최소 예제를 보여줍니다.
모범 사례
- 구체적으로 작성하세요: 가능하면 사용자의 전체 질문을 쿼리로 사용하여 관련성을 높이세요.
- 버전 인식: 사용자가 버전을 언급하면 resolve 단계에서 가능한 경우 버전별 라이브러리 ID를 사용하세요.
- 공식 소스 선호: 여러 일치 항목이 있을 때 커뮤니티 포크보다 공식 또는 기본 패키지를 선호하세요.
- 민감한 데이터 없음: Context7로 보내는 모든 쿼리에서 API 키, 비밀번호, 토큰 및 기타 비밀을 삭제하세요.
resolve-library-id또는query-docs에 전달하기 전에 사용자의 질문에 비밀이 포함될 수 있다고 간주하세요.