Scheda Tecnica del Server Context7 MCP¶
Would you like me to continue with the translation of the Overview section and the other parts? Please confirm and provide the remaining text details.```bash
Install globally¶
npm install -g @upstash/context7
Install locally in project¶
npm install @upstash/context7
Verify installation¶
npx @upstash/context7 --version
### Docker Installation
```bash
# Pull Docker image
docker pull mcp/context7
# Run Context7 server
docker run -p 3000:3000 mcp/context7
# Run with custom configuration
docker run -p 3000:3000 -v $(pwd)/config:/app/config mcp/context7
From Source¶
# Clone repository
git clone https://github.com/upstash/context7.git
cd context7
# Install dependencies
npm install
# Build and run
npm run build
npm start
MCP Configuration¶
Cursor IDE¶
// Add to Cursor MCP settings
\\\\{
"mcpServers": \\\\{
"context7": \\\\{
"command": "npx",
"args": ["@upstash/context7"],
"env": \\\\{
"CONTEXT7_API_KEY": "your-api-key"
\\\\}
\\\\}
\\\\}
\\\\}
Claude Desktop¶
// ~/.claude/claude_desktop_config.json
\\\\{
"mcpServers": \\\\{
"context7": \\\\{
"command": "npx",
"args": ["@upstash/context7"],
"env": \\\\{
"CONTEXT7_API_KEY": "your-api-key"
\\\\}
\\\\}
\\\\}
\\\\}
Windsurf IDE¶
// Add to Windsurf MCP configuration
\\\\{
"mcpServers": \\\\{
"context7": \\\\{
"command": "npx",
"args": ["@upstash/context7", "--port", "3000"],
"env": \\\\{
"CONTEXT7_API_KEY": "your-api-key"
\\\\}
\\\\}
\\\\}
\\\\}
VS Code with Continue.dev¶
// .continue/config.json
\\\\{
"mcpServers": [
\\\\{
"name": "context7",
"command": "npx",
"args": ["@upstash/context7"],
"env": \\\\{
"CONTEXT7_API_KEY": "your-api-key"
\\\\}
\\\\}
]
\\\\}
Available Tools¶
resolve-library-id¶
# Resolve library name to Context7 ID
# Input: General library name
# Output: Context7-compatible library ID
# Example usage in AI chat:
"Find the Context7 ID for React"
# Returns: /facebook/react
get-library-docs¶
# Fetch documentation for specific library
# Parameters:
# - context7CompatibleLibraryID (required)
# - topic (optional)
# - tokens (optional, default: 10000)
# Example usage in AI chat:
"Get React documentation for hooks"
# Uses: /facebook/react with topic "hooks"
Supported Libraries¶
Frontend Frameworks¶
# React ecosystem
/facebook/react
/vercel/next.js
/gatsbyjs/gatsby
/vuejs/vue
/nuxt/nuxt
/angular/angular
# State management
/reduxjs/redux
/pmndrs/zustand
/mobxjs/mobx
/vuejs/pinia
Backend Frameworks¶
# Node.js frameworks
/expressjs/express
/fastify/fastify
/nestjs/nest
/koajs/koa
# Python frameworks
/django/django
/pallets/flask
/fastapi/fastapi
/tornadoweb/tornado
# Other languages
/spring-projects/spring-boot
/rails/rails
/laravel/laravel
Databases¶
# SQL databases
/mongodb/docs
/prisma/prisma
/typeorm/typeorm
/sequelize/sequelize
# NoSQL databases
/redis/redis
/elastic/elasticsearch
/apache/cassandra
Cloud Services¶
# AWS services
/aws/aws-sdk-js
/aws/aws-cdk
/aws/aws-cli
# Google Cloud
/googleapis/google-cloud-node
/firebase/firebase-js-sdk
# Azure
/azure/azure-sdk-for-js
/azure/azure-cli
Usage Examples¶
Basic Documentation Lookup¶
// In AI chat with Context7 enabled:
"Show me the latest React useState documentation"
// Context7 automatically:
// 1. Resolves "React" to /facebook/react
// 2. Fetches current useState documentation
// 3. Provides up-to-date examples and API reference
Version-Specific Documentation¶
// Get specific version documentation
"Get Next.js 14 documentation for app router"
// Context7 provides:
// - Version 14 specific features
// - App router implementation details
// - Migration guides from pages router
Topic-Focused Queries¶
// Focus on specific topics
"Get MongoDB documentation for aggregation pipelines"
// Context7 returns:
// - Aggregation framework documentation
// - Pipeline stage references
// - Performance optimization tips
Multi-Library Comparisons¶
// Compare similar libraries
"Compare Prisma and TypeORM query builders"
// Context7 fetches:
// - Current Prisma query documentation
// - Current TypeORM query documentation
// - Enables accurate comparison
Configuration Options¶
Environment Variables¶
# API configuration
export CONTEXT7_API_KEY="your-api-key"
export CONTEXT7_PORT=3000
export CONTEXT7_HOST="localhost"
# Cache settings
export CONTEXT7_CACHE_TTL=3600
export CONTEXT7_CACHE_SIZE=1000
# Rate limiting
export CONTEXT7_RATE_LIMIT=100
export CONTEXT7_RATE_WINDOW=60
Configuration File¶
json
// context7.config.json
\\\\{
"server": \\\\{
"port": 3000,
"host": "localhost"
\\\\},
"cache": \\\\{
"ttl": 3600,
"maxSize": 1000,
"enabled": true
\\\\},
"rateLimit": \\\\{
"requests": 100,
"window": 60
\\\\},
"libraries": \\\\{
"autoUpdate": true,
"updateInterval": 86400
\\\\}
\\\\}### Sorgenti Libreria Personalizzate
json
// Add custom documentation sources
\\\\{
"customSources": [
\\\\{
"id": "/company/internal-lib",
"name": "Internal Library",
"url": "https://docs.company.com/internal-lib",
"type": "markdown"
\\\\}
]
\\\\}## Utilizzo Avanzato
```javascript
// Use Context7 programmatically
const \\{ Context7Client \\} = require('@upstash/context7');
const client = new Context7Client(\\{ apiKey: process.env.CONTEXT7_API_KEY \\});
// Resolve library ID const libraryId = await client.resolveLibraryId('React'); console.log(libraryId); // /facebook/react
// Get documentation
const docs = await client.getLibraryDocs(\\{
libraryId: '/facebook/react',
topic: 'hooks',
tokens: 5000
\\});
### Accesso Programmaticojavascript
// Create custom MCP server with Context7
const \\{ MCPServer \\} = require('@modelcontextprotocol/sdk');
const \\{ Context7Client \\} = require('@upstash/context7');
const server = new MCPServer(\\{ name: 'custom-context7', version: '1.0.0' \\});
const context7 = new Context7Client();
server.addTool(\\{ name: 'get-docs', description: 'Get documentation with custom processing', inputSchema: \\{ type: 'object', properties: \\{ library: \\{ type: 'string' \\}, topic: \\{ type: 'string' \\} \\} \\}, handler: async (\\{ library, topic \\}) => \\{ const libraryId = await context7.resolveLibraryId(library); const docs = await context7.getLibraryDocs(\\{ libraryId, topic, tokens: 8000 \\});
// Custom processing
return processDocumentation(docs);
\\}
\\});
### Server MCP Personalizzatojavascript
// Webpack plugin for Context7
class Context7WebpackPlugin \\{
apply(compiler) \\{
compiler.hooks.beforeCompile.tapAsync('Context7Plugin', async (params, callback) => \\{
// Update documentation cache before build
await updateContext7Cache();
callback();
\\});
\\}
\\}
// Vite plugin
export function context7Plugin() \\{
return \\{
name: 'context7',
buildStart() \\{
// Initialize Context7 for development
initializeContext7();
\\}
\\};
\\}
### Integrazione con Strumenti di Buildbash
Check server status¶
curl http://localhost:3000/health
Check library availability¶
curl http://localhost:3000/libraries
Test library resolution¶
curl -X POST http://localhost:3000/resolve \
-H "Content-Type: application/json" \
-d '\\{"libraryName": "React"\\}'
## Monitoraggio e Debugjson
\\{
"logging": \\{
"level": "info",
"format": "json",
"outputs": ["console", "file"],
"file": \\{
"path": "./logs/context7.log",
"maxSize": "10MB",
"maxFiles": 5
\\}
\\}
\\}
### Controlli di Salutejavascript
// Monitor Context7 performance
const \\{ Context7Monitor \\} = require('@upstash/context7/monitor');
const monitor = new Context7Monitor(\\{ metricsInterval: 60000, alertThresholds: \\{ responseTime: 5000, errorRate: 0.05 \\} \\});
monitor.on('alert', (alert) => \\{
console.log('Context7 Alert:', alert);
// Send to monitoring system
\\});
### Configurazione Loggingbash
Server not starting¶
Check port availability¶
netstat -an|grep 3000
Check configuration¶
npx @upstash/context7 --validate-config
Library not found¶
Update library index¶
npx @upstash/context7 --update-libraries
Slow responses¶
Check cache status¶
curl http://localhost:3000/cache/stats
### Monitoraggio delle Prestazionibash
Enable debug logging¶
export CONTEXT7_DEBUG=true npx @upstash/context7
Verbose output¶
npx @upstash/context7 --verbose
Test specific library¶
npx @upstash/context7 --test-library /facebook/react
## Risoluzione dei Problemibash
Clear cache¶
curl -X DELETE http://localhost:3000/cache
Warm cache for popular libraries¶
curl -X POST http://localhost:3000/cache/warm
Cache statistics¶
curl http://localhost:3000/cache/stats
### Problemi Comunibash
Use environment variables¶
export CONTEXT7_API_KEY="$(cat ~/.context7/api-key)"
Rotate API keys regularly¶
npx @upstash/context7 --rotate-key
Restrict API access¶
export CONTEXT7_ALLOWED_ORIGINS="https://your-domain.com"
### Modalità Debugjson
\\{
"security": \\{
"cors": \\{
"enabled": true,
"origins": ["https://trusted-domain.com"]
\\},
"rateLimit": \\{
"enabled": true,
"requests": 100,
"window": 60
\\},
"authentication": \\{
"required": true,
"methods": ["apiKey", "jwt"]
\\}
\\}
\\}
### Gestione Cachejson
\\{
"cache": \\{
"strategy": "lru",
"maxSize": 1000,
"ttl": 3600,
"compression": true,
"persistence": \\{
"enabled": true,
"path": "./cache"
\\}
\\}
\\}
## Considerazioni sulla Sicurezzajavascript
// Batch requests for better performance
const batchRequests = [
\\{ library: 'React', topic: 'hooks' \\},
\\{ library: 'Next.js', topic: 'routing' \\},
\\{ library: 'TypeScript', topic: 'interfaces' \\}
];
const results = await context7.batchGetDocs(batchRequests); ```### Gestione Chiavi API https://github.com/upstash/context7##
Sicurezza di Rete¶
https://modelcontextprotocol.io#
Ottimizzazione delle Prestazioni¶
Strategie di Caching¶
https://docs.anthropic.com/claude/docs/mcp##