Context7 Documentation Lookup Skill
Fetch current library documentation, API references, and code examples without MCP context overhead.
Works on all platforms via REST API.
When to Use
Activate automatically when:
- •User asks about library APIs or framework patterns
- •User requests code generation using specific libraries/frameworks
- •Import statements suggest documentation needs:
import,require,from - •Questions about specific library versions or migration
- •Need for official documentation patterns vs generic solutions
- •Setting up or configuring third-party tools
- •"How do I use X library?", "What's the API for Y?"
Examples:
- •"Create Next.js middleware with authentication" → Use context7
- •"Set up Prisma with PostgreSQL" → Use context7
- •"Implement Supabase authentication" → Use context7
Workflow
Quick Start (If You Know the Library)
Skip the search when you already know the library:
scripts/context7.py docs "/vercel/next.js" "middleware authentication"
Common library IDs:
- •React:
/facebook/react - •Next.js:
/vercel/next.js - •Prisma:
/prisma/prisma - •Supabase:
/supabase/supabase - •Express:
/expressjs/express
Full Workflow
Step 1: Search for Library ID (if unknown)
Search first to get the correct library ID:
scripts/context7.py search "library-name"
Example output shows library IDs you can use:
ID: /facebook/react Name: React Snippets: 2135 | Score: 79.4
Step 2: Fetch Documentation
scripts/context7.py docs "<library-id>" "[topic]" "[mode]"
Parameters:
- •
library-id: From search results (e.g.,/facebook/react) or known library ID - •
topic: Optional focus area (e.g.,hooks,routing,authentication) - •
mode:code(default) for API/examples,infofor guides
Version-Specific Docs:
# Request specific version by adding it to the library ID scripts/context7.py docs "/vercel/next.js/14" "middleware" # Or mention in topic scripts/context7.py docs "/facebook/react" "hooks in React 18"
Examples:
# Get React hooks documentation scripts/context7.py docs "/facebook/react" "hooks" # Get Next.js routing docs scripts/context7.py docs "/vercel/next.js" "routing" # Get conceptual guide (info mode) scripts/context7.py docs "/vercel/next.js" "app router" info # Get version-specific docs scripts/context7.py docs "/vercel/next.js/14" "server components"
Step 3: Apply to User's Question
Use the returned documentation to:
- •Provide accurate, version-specific answers
- •Show official code patterns and examples
- •Reference correct API signatures
- •Include relevant caveats or deprecations
- •Cite the source URL when available
Script Reference
| Command | Purpose | Example |
|---|---|---|
search | Find library ID | scripts/context7.py search "prisma" |
docs | Fetch documentation | scripts/context7.py docs "/prisma/prisma" "queries" |
Requirements:
- •Python 3.6+ (built-in on most systems)
- •No external dependencies - uses Python standard library only
Documentation Modes
| Mode | Use For | Example |
|---|---|---|
code | API references, code examples, function signatures (default) | scripts/context7.py docs "/facebook/react" "useState" |
info | Conceptual guides, tutorials, architecture docs | scripts/context7.py docs "/vercel/next.js" "routing" info |
Example Workflow
# User asks: "How do I use React hooks?" # Option A: If you know the library ID, skip search scripts/context7.py docs "/facebook/react" "hooks" # Option B: If you don't know the library ID # Step 1: Search for React scripts/context7.py search "react" # Output shows: ID: /facebook/react # Step 2: Fetch hooks docs scripts/context7.py docs "/facebook/react" "hooks" # Step 3: Use the returned documentation to answer
Validation & Recovery
If results are unsatisfactory, follow this recovery workflow:
- •
Empty or irrelevant results?
- •Try a broader topic (e.g., "hooks" instead of "useEffect cleanup")
- •Switch mode: use
infoifcodereturns nothing, or vice versa - •Verify library ID is correct with a fresh search
- •
Library not found?
- •Search with alternative names (e.g., "nextjs" vs "next.js")
- •Try the organization name (e.g., "vercel next")
- •Check for typos in the library ID format (
/org/repo)
- •
Rate limited?
- •Inform user about CONTEXT7_API_KEY for higher limits
- •Provide cached/general knowledge as fallback
Always verify the documentation matches the user's version requirements before providing answers.
Common Use Cases
Use Case 1: Direct Library Lookup
When you know the exact library the user is asking about:
# User: "Create a Next.js API route with authentication" scripts/context7.py docs "/vercel/next.js" "api routes authentication"
Use Case 2: Version-Specific Documentation
When the user mentions or needs a specific version:
# User: "How do I use Next.js 14 server actions?" scripts/context7.py docs "/vercel/next.js/14" "server actions" # Or search for the version scripts/context7.py search "next.js 14"
Use Case 3: Conceptual Understanding
When the user needs to understand concepts, not just code:
# User: "Explain how Next.js app router works" scripts/context7.py docs "/vercel/next.js" "app router architecture" info
Use Case 4: Discovery Search
When you're unsure which library the user means:
# User: "I need a database ORM for Node.js" scripts/context7.py search "node.js ORM" # Review results, pick most relevant (e.g., /prisma/prisma) scripts/context7.py docs "/prisma/prisma" "getting started"
Error Handling
If the script fails:
- •Dependencies: Verify Python 3.6+ is installed (
python3 --version) - •Library ID format: Check the format is
/org/project(with leading slash) - •Topic too narrow: Try a broader topic or no topic filter
- •Wrong mode: Try
infomode ifcodereturns insufficient results - •Network issues: Check connectivity and firewall settings
- •Rate limiting: If using without API key, you may be rate-limited. Get a free key at context7.com/dashboard
Debug mode:
# Check Python version python3 --version # Test basic connectivity python3 scripts/context7.py search "react"
Notes
- •Script path: All
scripts/context7.pycommands are relative to this skill's directory - •No MCP overhead: Uses REST API directly, no tool schemas in context
- •API key optional: Works without key, but rate-limited. Get free key at context7.com/dashboard
- •Topic filtering: Use specific topics for focused results
- •Search first (when needed): Search to find the correct library ID only if you don't know it
- •Skip search (when possible): Use known library IDs directly (e.g.,
/facebook/react,/vercel/next.js) - •Caching: Results are not cached; each call fetches fresh data
- •Version support: Append version to library ID (e.g.,
/vercel/next.js/14) or mention in topic - •Cross-platform: Python 3.6+ works on Windows, macOS, and Linux
- •No external dependencies: Uses only Python standard library
Performance Tips:
- •Keep known library IDs in memory (React =
/facebook/react, Next.js =/vercel/next.js, etc.) - •Skip search when you know the library
- •Use specific topics to get focused results faster
- •Use
codemode (default) for implementation details,infomode for concepts
Environment Variables:
# Set API key (all platforms) export CONTEXT7_API_KEY="your-api-key" # Windows Command Prompt set CONTEXT7_API_KEY=your-api-key # Windows PowerShell $env:CONTEXT7_API_KEY="your-api-key"
Related skills: Use with angular, typescript-docs when you need up-to-date library docs while coding.
License: MIT License Author: Arvind Menon Based on: Context7 REST API by Upstash