File size: 7,401 Bytes
f4bd24d | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 | ---
title: How-To Guides
---
Practical techniques for using Context7 effectively.
## Quick Wins
- [Auto-invoke Context7](#auto-invoke-context7) so you never forget to pull fresh docs
- [Target the exact library ID](#use-specific-library-ids) to skip search steps
- [Tune networking and proxies](#configure-https-proxy) for locked-down environments
- [Bring in private repositories](#work-with-private-repositories) for internal docs
## Auto-Invoke Context7
Stop adding `use context7` to every prompt by setting up an automatic rule.
### Add a Rule to Your MCP Client
<AccordionGroup>
<Accordion title="Cursor" icon="code">
1. Open `Cursor Settings` → `Rules`
2. Add this rule:
```txt
Always use context7 when I need code generation, setup steps, or library documentation.
Automatically use Context7 MCP tools without me having to ask.
```
</Accordion>
<Accordion title="Windsurf" icon="wind">
Create or edit `.windsurfrules` in your project root:
```txt
Use context7 for all code generation and API documentation questions.
```
</Accordion>
<Accordion title="Claude Code" icon="code">
Create or edit `CLAUDE.md` in your project root:
```txt
Automatically use context7 for code generation and library documentation.
```
</Accordion>
</AccordionGroup>
<Tip>
Customize the rule for your workflow. Examples: "Auto-invoke only for Next.js questions" or "Use
context7 when the prompt mentions 'API' or 'documentation'."
</Tip>
## Use Specific Library IDs
Skip the search step and get documentation instantly by specifying exact library IDs.
### How to Find Library IDs
1. Visit [context7.com](https://context7.com)
2. Search for your library
3. The ID is shown in the format `/owner/repository`
### Use in Your Prompts
```txt
Implement JWT auth with Supabase. use library /supabase/supabase
```
```txt
Build a rate limiter. use library /upstash/ratelimit
```
```txt
Set up Next.js middleware. use library /vercel/next.js/v15.1.0
```
<Note>You can even specify versions: `/owner/repo/v1.0.0`</Note>
### Benefits
- **Faster**: No library resolution needed
- **Precise**: Get docs for the exact library and version
- **Reliable**: No ambiguity about which library to use
## Configure HTTPS Proxy
If you're behind a corporate proxy, configure Context7 to route through it.
### Set Environment Variables
<AccordionGroup>
<Accordion title="Linux/macOS" icon="terminal">
```bash
export https_proxy=http://proxy.example.com:8080
export HTTPS_PROXY=http://proxy.example.com:8080
```
With authentication:
```bash
export https_proxy=http://username:password@proxy.example.com:8080
```
</Accordion>
<Accordion title="Windows (Command Prompt)" icon="windows">
```cmd
set https_proxy=http://proxy.example.com:8080
set HTTPS_PROXY=http://proxy.example.com:8080
```
With authentication:
```cmd
set https_proxy=http://username:password@proxy.example.com:8080
```
</Accordion>
<Accordion title="Windows (PowerShell)" icon="windows">
```powershell
$env:https_proxy = "http://proxy.example.com:8080"
$env:HTTPS_PROXY = "http://proxy.example.com:8080"
```
</Accordion>
</AccordionGroup>
### Or Configure in MCP Settings
Add proxy directly to your MCP configuration:
```json
{
"mcpServers": {
"context7": {
"command": "npx",
"args": ["-y", "@upstash/context7-mcp", "--api-key", "YOUR_API_KEY"],
"env": {
"https_proxy": "http://proxy.example.com:8080",
"HTTPS_PROXY": "http://proxy.example.com:8080"
}
}
}
}
```
Both lowercase and uppercase environment variables are supported.
<Tip>
After updating proxy settings, run `curl https://mcp.context7.com/mcp/ping` to confirm outbound
connectivity before restarting your IDE.
</Tip>
## Work with Private Repositories
Add your private GitHub, GitLab, or Bitbucket repositories to make internal documentation available through Context7. Requires a Pro or Enterprise plan.
For complete instructions on adding, refreshing, and managing private repositories, see the [Private Repositories](/dashboard/private-repositories) guide.
**Cost**: $15 per 1M tokens when parsing. See [Plans & Pricing](/plans-pricing) for details.
## Set Up Team Collaboration
Share Context7 access with your team. Create a team, invite members with different roles (Owner, Admin, Developer), and manage permissions from your dashboard.
For complete instructions on creating teams, inviting members, and managing roles, see the [Team Management](/dashboard/team) guide.
**Cost**: $7 per team member per month on Pro plan. See [Plans & Pricing](/plans-pricing) for details.
## Refresh Library Documentation
Keep your documentation up to date.
### Web Interface
1. Go to [context7.com/refresh-library](https://context7.com/refresh-library)
2. Enter library ID (e.g., `/vercel/next.js`)
3. Submit
### API
```bash
POST https://context7.com/api/v1/refresh
Content-Type: application/json
Authorization: Bearer YOUR_API_KEY
{
"docsRepoUrl": "https://github.com/vercel/next.js"
}
```
### When to Refresh
- After major version releases
- When documentation is updated
- When you notice outdated information
<Note>For private repos, you only pay for new/changed content during refresh.</Note>
## Monitor Usage
Track your API usage, parse tokens, and costs from the dashboard. View metrics for search requests, query tokens, parse tokens, and total monthly costs with detailed breakdowns.
For complete details on usage statistics and cost calculations, see the [Usage Statistics](/dashboard/usage) guide.
## Best Practices
### Security
- Never commit API keys to version control. Use `.env` files and add them to `.gitignore`.
- Use environment variables for keys, like: `export CONTEXT7_API_KEY=your_key_here`.
- Rotate keys regularly -- every 90 days or immediately if compromised.
- Grant only the permissions a team member needs. Use the "Developer" role for non-admins.
See [Security](/security) for comprehensive security guidelines.
### Performance
- Use specific library IDs such as `/vercel/next.js` instead of general phrases like "next.js docs" when possible.
- Focus results using topic filtering. Try adding specific topics like "authentication" or "routing".
- Use pagination when you need more context — the API supports up to 10 pages per topic. Check the `hasNext` field in responses to know when more pages are available.
- Cache frequently used documentation locally for 6-24 hours to reduce API calls.
### Library Management
- Keep the `context7.json` file in your repositories up to date. Update it when adding new docs or changing structure.
- Exclude unnecessary folders, such as tests and build artifacts: `excludeFolders: ["test", "dist", "node_modules"]`.
- Add helpful rules for AI agents, such as "Always validate user input" or "Use TypeScript strict mode".
- Maintain version tags for important releases. For example, keep v1.x docs available even after releasing v2.x.
See [Library Owners](/adding-libraries) for configuration details.
## Need Help?
- **Troubleshooting**: [Common issues and solutions](/troubleshooting)
- **API Reference**: [Complete API documentation](/api)
- **MCP Details**: [Technical MCP server info](/mcp)
- **Community**: [Join our Discord](https://upstash.com/discord)
|