Context7 MCP
Context7 provides intelligent documentation search and context for any library, powered by LLMs.
Setup
Copy
.env.exampleto.envand add your Context7 API key:cp .env.example .envAdd your API key to
.env:CONTEXT7_API_KEY=your-api-key-hereGet your key from context7.com/dashboard
Install dependencies:
npm install
Usage
Context7 provides two main commands:
Search Command
Search for libraries by name with intelligent LLM-powered ranking:
npx tsx query.ts search <library_name> <query>
# Examples:
npx tsx query.ts search "nextjs" "setup ssr"
npx tsx query.ts search "react" "useEffect cleanup"
npx tsx query.ts search "better-auth" "authentication flow"
This calls the Context7 Search API:
GET https://context7.com/api/v2/libs/search?libraryName=<name>&query=<query>
Response includes:
- id: Library ID (e.g.,
/vercel/next.js) - name: Display name
- trustScore: Source reputation (0-100)
- benchmarkScore: Quality indicator (0-100)
- versions: Available version tags
Context Command
Retrieve intelligent, LLM-reranked documentation context:
npx tsx query.ts context <owner/repo> <query>
# Examples:
npx tsx query.ts context "vercel/next.js" "setup ssr"
npx tsx query.ts context "facebook/react" "useState hook"
This calls the Context7 Context API:
GET https://context7.com/api/v2/context?libraryId=<repo>&query=<query>&type=txt
Response includes:
- title: Documentation section title
- content: Documentation text/snippet
- source: URL to source page
Quick Reference
# Search for documentation
npx tsx query.ts search "library-name" "your search query"
# Get context from a specific repo
npx tsx query.ts context "owner/repo" "your question"
Best Practices
Get the most out of the Context7 API with these best practices:
Optimize Search Relevance
When using the /libs/search endpoint, always include the user's original question in the query parameter. This allows the API to use LLM-powered ranking to find the most relevant library for the specific task, rather than relying on a simple name match.
Example: If a user asks about SSR in Next.js, search with:
libraryName=nextjsquery=setup+ssr
This ensures the best ranking for the specific task.
Use Specific Library IDs
For the fastest and most accurate results with the /context endpoint, provide the full libraryId (e.g., /vercel/next.js). If you already know the library the user is asking about, skipping the search step and calling the context endpoint directly reduces latency.
Leverage Versioning
To ensure documentation accuracy for older or specific project requirements, include the version in the libraryId using the /owner/repo/version format. You can find available version tags in the response from the search endpoint.
Choose the Right Response Type
Tailor the /context response to your needs using the type parameter:
- Use
type=jsonwhen you need to programmatically handle titles, content snippets, and source URLs (ideal for UI display). - Use
type=txtwhen you want to pipe the documentation directly into an LLM prompt as plain text.
Filter by Quality Scores
When programmatically selecting a library from search results, use the trustScore and benchmarkScore to prioritize high-quality, reputable documentation sources for your users.
Find Navigation Pages
Find navigation and other pages in this documentation by fetching the llms.txt file at:
https://context7.com/docs/llms.txt
API Reference
Context7 REST API
Search Endpoint:
GET https://context7.com/api/v2/libs/search
?libraryName=<library_name>
&query=<user_query>
Context Endpoint:
GET https://context7.com/api/v2/context
?libraryId=<owner/repo>
&query=<user_query>
&type=txt|json
Troubleshooting
No results found?
- Check your API key is valid
- Verify the library name is correct (e.g., 'react' not 'React')
Authentication errors?
- Ensure CONTEXT7_API_KEY is set in
.env - Check your key hasn't expired at context7.com/dashboard
License
MIT