126 lines
3.5 KiB
Plaintext
126 lines
3.5 KiB
Plaintext
---
|
|
title: Cursor
|
|
description: Using Context7 with Cursor
|
|
---
|
|
|
|
Context7 brings up-to-date library documentation directly into Cursor. Instead of getting outdated code examples from training data, you get current documentation from source repositories.
|
|
|
|
## Installation
|
|
|
|
Run the setup command to configure Context7 for Cursor:
|
|
|
|
```bash
|
|
npx ctx7 setup --cursor
|
|
```
|
|
|
|
Authenticates via OAuth, generates an API key, and installs the appropriate skill. You can choose between CLI or MCP mode.
|
|
|
|
For manual MCP installation or other configuration options, see [All MCP Clients](/resources/all-clients).
|
|
|
|
---
|
|
|
|
## Setting Up Rules
|
|
|
|
With `ctx7 setup`, a skill is installed that triggers Context7 automatically. If you prefer to use a rule instead, add one in Cursor.
|
|
|
|
<Tabs>
|
|
<Tab title="Cursor Settings" icon="settings">
|
|
<Steps>
|
|
<Step title="Open Settings">
|
|
Go to `Cursor` → `Settings...` → `Cursor Settings` → `Rules and Commands`. You can also press `Cmd+Shift+P` (or `Ctrl+Shift+P` on Windows/Linux) and type "Cursor Settings".
|
|
|
|
<Frame>
|
|
<img src="/images/clients/cursor/rules.png" alt="Cursor Rules and Commands" />
|
|
</Frame>
|
|
</Step>
|
|
<Step title="Add the Rule">
|
|
```
|
|
Always use Context7 MCP when I ask about library documentation,
|
|
API references, or need code examples from external packages.
|
|
```
|
|
</Step>
|
|
</Steps>
|
|
</Tab>
|
|
<Tab title=".cursorrules File" icon="file">
|
|
Create a `.cursorrules` file in your project root:
|
|
|
|
```
|
|
# Context7 Integration
|
|
|
|
When the user asks about:
|
|
- Library APIs or documentation
|
|
- Framework setup or configuration
|
|
- Code examples for external packages
|
|
- How to use a specific library feature
|
|
|
|
Automatically use Context7 MCP to fetch current documentation. Don't rely on training data for library-specific code.
|
|
```
|
|
|
|
This makes Context7 part of your project's standard workflow and can be version-controlled.
|
|
|
|
</Tab>
|
|
</Tabs>
|
|
|
|
---
|
|
|
|
## Using Context7
|
|
|
|
Add "use context7" to your prompts to fetch current documentation:
|
|
|
|
```
|
|
use context7 to show me how to set up middleware in Next.js 15
|
|
use context7 for Prisma query examples with relations
|
|
use context7 for the Supabase syntax for row-level security
|
|
```
|
|
|
|
If you know the library ID, use it directly to skip resolution:
|
|
|
|
```
|
|
use context7 with /supabase/supabase for authentication docs
|
|
use context7 with /vercel/next.js for app router setup
|
|
```
|
|
|
|
---
|
|
|
|
## Tips
|
|
|
|
<AccordionGroup>
|
|
<Accordion title="Project vs Global Config">
|
|
Use **global config** (`~/.cursor/mcp.json`) when:
|
|
- You want Context7 available in all projects
|
|
- You're using a personal API key
|
|
|
|
Use **project config** (`.cursor/mcp.json`) when:
|
|
|
|
- The project has specific Context7 requirements
|
|
- You want to share the setup with teammates
|
|
- Different projects need different API keys
|
|
</Accordion>
|
|
|
|
<Accordion title="Combining with Cursor Composer">
|
|
Context7 works well with Cursor's Composer feature. When you're building something that involves external libraries:
|
|
|
|
1. Start with a prompt that mentions the libraries you need
|
|
2. Context7 fetches the relevant docs
|
|
3. Composer uses those docs to generate accurate code
|
|
|
|
This is especially useful for newer library versions that might not be in Cursor's training data.
|
|
|
|
</Accordion>
|
|
|
|
<Accordion title="Getting Better Results">
|
|
- Be specific about what you're trying to do, not just which library
|
|
- Mention versions when they matter
|
|
- If the first result isn't right, ask for a different part of the docs
|
|
|
|
```
|
|
# Good
|
|
How do I handle file uploads with the Supabase Storage API?
|
|
|
|
# Less specific
|
|
How does Supabase storage work?
|
|
```
|
|
|
|
</Accordion>
|
|
</AccordionGroup>
|