문서 조회 (Context7)은(는) 무엇을 하나요?
사용자가 라이브러리, 프레임워크 또는 API에 대해 물을 때 훈련 데이터에 의존하는 대신 Context7 MCP(도구 resolve-library-id 및 query-docs)를 통해 최신 문서를 가져옵니다.
핵심 개념
- Context7: 라이브러리 및 API에 대해 훈련 데이터 대신 사용할 수 있는 실시간 문서를 제공하는 MCP 서버입니다.
- resolve-library-id: 라이브러리 이름과 질의로부터 Context7 호환 라이브러리 ID(예:
/vercel/next.js)를 반환합니다. - query-docs: 주어진 라이브러리 ID와 질문에 대한 문서 및 코드 스니펫을 가져옵니다. 유효한 라이브러리 ID를 얻기 위해 항상 resolve-library-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이 최고).
- 소스 평판: 가능할 경우 높음 또는 중간 평판을 선호합니다.
- 버전: 사용자가 버전을 지정한 경우 (예: "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: "Next.js 미들웨어를 어떻게 설정하나요?"와 함께 호출합니다. - 결과에서 이름과 벤치마크 점수로 최상의 일치 항목(예:
/vercel/next.js)을 선택합니다. - query-docs를
libraryId: "/vercel/next.js",query: "Next.js 미들웨어를 어떻게 설정하나요?"와 함께 호출합니다. - 반환된 스니펫과 텍스트를 사용하여 답변합니다. 관련이 있을 경우 문서에서 최소한의
middleware.ts예제를 포함합니다.
예제: Prisma 쿼리
- resolve-library-id를
libraryName: "Prisma",query: "관계와 함께 쿼리하는 방법은?"와 함께 호출합니다. - 공식 Prisma 라이브러리 ID(예:
/prisma/prisma)를 선택합니다. - 해당
libraryId와 쿼리로 query-docs를 호출합니다. - 문서에서 가져온 짧은 코드 스니펫과 함께 Prisma Client 패턴(예:
include또는select)을 반환합니다.
예제: Supabase 인증 메서드
- resolve-library-id를
libraryName: "Supabase",query: "인증 메서드는 무엇인가요?"와 함께 호출합니다. - Supabase 문서 라이브러리 ID를 선택합니다.
- query-docs를 호출합니다. 인증 메서드를 요약하고 가져온 문서에서 최소한의 예제를 보여줍니다.
모범 사례
- 구체적으로 작성하세요: 더 나은 관련성을 위해 가능하면 사용자의 전체 질문을 쿼리로 사용하세요.
- 버전 인식: 사용자가 버전을 언급할 경우, 확인 단계에서 버전별 라이브러리 ID를 사용 가능하면 사용하세요.
- 공식 소스 선호: 여러 일치 항목이 있을 경우, 커뮤니티 포크보다 공식 또는 기본 패키지를 선호하세요.
- 민감한 데이터 없음: Context7에 보내는 모든 쿼리에서 API 키, 비밀번호, 토큰 및 기타 비밀을 제거하세요. resolve-library-id 또는 query-docs에 전달하기 전에 사용자 질문에 비밀이 포함될 수 있다고 간주하세요.