Skill Details
Back to Skills

/context7

by thesethrose

Context7 MCP - Intelligent documentation search and context for any library

View on GitHub

Context7 MCP

Context7 provides intelligent documentation search and context for any library, powered by LLMs.

Setup

  1. Copy .env.example to .env and add your Context7 API key:

    cp .env.example .env
    

    Add your API key to .env:

    CONTEXT7_API_KEY=your-api-key-here
    

    Get your key from context7.com/dashboard

  2. 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=nextjs
  • query=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=json when you need to programmatically handle titles, content snippets, and source URLs (ideal for UI display).
  • Use type=txt when 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