docs/agentic-tools/overview.mdx
Context7 provides tools and integrations that give your AI agents access to accurate, up-to-date library documentation. Instead of relying on potentially outdated training data, your agents can fetch real-time documentation to answer questions and generate code.
AI agents often struggle with:
Context7's agentic tools solve these problems by giving your agents direct access to current documentation during inference.
sequenceDiagram
participant User
participant Agent
participant Context7
participant Docs
User->>Agent: "How do I use React Server Components?"
Agent->>Context7: resolveLibraryId(query: "React Server Components", libraryName: "react")
Context7-->>Agent: Library ID: /reactjs/react.dev
Agent->>Context7: queryDocs(libraryId: "/reactjs/react.dev", query: "server components")
Context7->>Docs: Fetch latest documentation
Docs-->>Context7: Current docs with examples
Context7-->>Agent: Documentation content
Agent->>User: Answer with accurate, up-to-date code examples
```typescript
import { generateText, stepCountIs } from "ai";
import { openai } from "@ai-sdk/openai";
import { resolveLibraryId, queryDocs } from "@upstash/context7-tools-ai-sdk";
const { text } = await generateText({
model: openai("gpt-5.2"),
prompt: "How do I set up authentication in Next.js 15?",
tools: {
resolveLibraryId: resolveLibraryId(),
queryDocs: queryDocs(),
},
stopWhen: stepCountIs(5),
});
```
```typescript
import { Context7Agent } from "@upstash/context7-tools-ai-sdk";
import { anthropic } from "@ai-sdk/anthropic";
const agent = new Context7Agent({
model: anthropic("claude-sonnet-4-20250514"),
});
const { text } = await agent.generate({
prompt: "Generate a Supabase Edge Function that handles webhooks",
});
```
```typescript
import { generateText, stepCountIs } from "ai";
import { anthropic } from "@ai-sdk/anthropic";
import { resolveLibraryId, queryDocs } from "@upstash/context7-tools-ai-sdk";
const codeToReview = `
const { data } = await supabase
.from('users')
.select('*')
.eq('id', userId)
.single();
`;
const { text } = await generateText({
model: anthropic("claude-sonnet-4-20250514"),
prompt: `Review this Supabase code for correctness and best practices:
${codeToReview}
Check against the latest Supabase documentation.`,
tools: {
resolveLibraryId: resolveLibraryId(),
queryDocs: queryDocs(),
},
stopWhen: stepCountIs(5),
});
// Agent fetches current Supabase docs to verify:
// - Correct method signatures
// - Deprecated patterns
// - Security best practices
// - Error handling recommendations
```