Deepwiki

Obtiene contenido de deepwiki.com y lo convierte en markdown legible para LLM.

Documentación

Servidor MCP de Deepwiki

⚠️ AVISO IMPORTANTE: Este servidor actualmente no funciona, ya que DeepWiki ha bloqueado la posibilidad de hacer scraping. Recomendamos usar el servidor MCP oficial de DeepWiki en https://docs.devin.ai/work-with-devin/deepwiki-mcp por el momento.

Este es un Servidor MCP no oficial de Deepwiki

Toma una URL de Deepwiki a través de MCP, rastrea todas las páginas relevantes, las convierte a Markdown y devuelve un documento o una lista por página.

Características

  • 🔒 Seguridad de dominio: Solo procesa URLs de deepwiki.com
  • 🧹 Saneamiento de HTML: Elimina encabezados, pies de página, navegación, scripts y anuncios
  • 🔗 Reescritura de enlaces: Ajusta los enlaces para que funcionen en Markdown
  • 📄 Múltiples formatos de salida: Obtén un documento o páginas estructuradas
  • 🚀 Rendimiento: Rastreo rápido con concurrencia y profundidad ajustables
  • NLP: Sirve para buscar solo el nombre de la librería

Uso

Indicaciones que puedes usar:

deepwiki fetch how can i use gpt-image-1 with "vercel ai" sdk
deepwiki fetch how can i create new blocks in shadcn?
deepwiki fetch i want to understand how X works

Obtener documentación completa (por defecto)

use deepwiki https://deepwiki.com/shadcn-ui/ui
use deepwiki multiple pages https://deepwiki.com/shadcn-ui/ui

Página individual

use deepwiki fetch single page https://deepwiki.com/tailwindlabs/tailwindcss/2.2-theme-system

Obtener por forma abreviada

use deepwiki fetch tailwindlabs/tailwindcss
deepwiki fetch library

deepwiki fetch url
deepwiki fetch <name>/<repo>

deepwiki multiple pages ...
deepwiki single page url ...

Cursor

Añade esto al archivo .cursor/mcp.json.

{
  "mcpServers": {
    "mcp-deepwiki": {
      "command": "npx",
      "args": ["-y", "mcp-deepwiki@latest"]
    }
  }
}

Deepwiki Logo

Integración con herramientas MCP

El paquete registra una herramienta llamada deepwiki_fetch que puedes usar con cualquier cliente compatible con MCP:

{
  "action": "deepwiki_fetch",
  "params": {
    "url": "https://deepwiki.com/user/repo",
    "mode": "aggregate",
    "maxDepth": "1"
  }
}

Parámetros

  • url (obligatorio): La URL inicial del repositorio de Deepwiki
  • mode (opcional): Modo de salida, ya sea "aggregate" para un solo documento Markdown (por defecto) o "pages" para datos de página estructurados
  • maxDepth (opcional): Profundidad máxima de páginas a rastrear (por defecto: 10)

Formato de respuesta

Respuesta de éxito (modo agregado)

{
  "status": "ok",
  "data": "# Page Title\n\nPage content...\n\n---\n\n# Another Page\n\nMore content...",
  "totalPages": 5,
  "totalBytes": 25000,
  "elapsedMs": 1200
}

Respuesta de éxito (modo páginas)

{
  "status": "ok",
  "data": [
    {
      "path": "index",
      "markdown": "# Home Page\n\nWelcome to the repository."
    },
    {
      "path": "section/page1",
      "markdown": "# First Page\n\nThis is the first page content."
    }
  ],
  "totalPages": 2,
  "totalBytes": 12000,
  "elapsedMs": 800
}

Respuesta de error

{
  "status": "error",
  "code": "DOMAIN_NOT_ALLOWED",
  "message": "Only deepwiki.com domains are allowed"
}

Respuesta de éxito parcial

{
  "status": "partial",
  "data": "# Page Title\n\nPage content...",
  "errors": [
    {
      "url": "https://deepwiki.com/user/repo/page2",
      "reason": "HTTP error: 404"
    }
  ],
  "totalPages": 1,
  "totalBytes": 5000,
  "elapsedMs": 950
}

Eventos de progreso

Al usar la herramienta, recibirás eventos de progreso durante el rastreo:

Fetched https://deepwiki.com/user/repo: 12500 bytes in 450ms (status: 200)
Fetched https://deepwiki.com/user/repo/page1: 8750 bytes in 320ms (status: 200)
Fetched https://deepwiki.com/user/repo/page2: 6200 bytes in 280ms (status: 200)

Desarrollo local - Instalación

Uso local

{
  "mcpServers": {
    "mcp-deepwiki": {
      "command": "node",
      "args": ["./bin/cli.mjs"]
    }
  }
}

Desde el código fuente

# Clone the repository
git clone https://github.com/regenrek/deepwiki-mcp.git
cd deepwiki-mcp

# Install dependencies
npm install

# Build the package
npm run build

Llamadas directas a la API

Para transporte HTTP, puedes hacer llamadas directas a la API:

curl -X POST http://localhost:3000/mcp \
  -H "Content-Type: application/json" \
  -d '{
    "id": "req-1",
    "action": "deepwiki_fetch",
    "params": {
      "url": "https://deepwiki.com/user/repo",
      "mode": "aggregate"
    }
  }'

Configuración

Variables de entorno

  • DEEPWIKI_MAX_CONCURRENCY: Máximo de solicitudes concurrentes (por defecto: 5)
  • DEEPWIKI_REQUEST_TIMEOUT: Tiempo de espera de solicitud en milisegundos (por defecto: 30000)
  • DEEPWIKI_MAX_RETRIES: Máximo de intentos de reintento para solicitudes fallidas (por defecto: 3)
  • DEEPWIKI_RETRY_DELAY: Retraso base para la retroalimentación de reintentos en milisegundos (por defecto: 250)

Para configurarlas, crea un archivo .env en la raíz del proyecto:

DEEPWIKI_MAX_CONCURRENCY=10
DEEPWIKI_REQUEST_TIMEOUT=60000
DEEPWIKI_MAX_RETRIES=5
DEEPWIKI_RETRY_DELAY=500

Implementación con Docker (sin probar)

Compila y ejecuta la imagen de Docker:

# Build the image
docker build -t mcp-deepwiki .

# Run with stdio transport (for development)
docker run -it --rm mcp-deepwiki

# Run with HTTP transport (for production)
docker run -d -p 3000:3000 mcp-deepwiki --http --port 3000

# Run with environment variables
docker run -d -p 3000:3000 \
  -e DEEPWIKI_MAX_CONCURRENCY=10 \
  -e DEEPWIKI_REQUEST_TIMEOUT=60000 \
  mcp-deepwiki --http --port 3000

Desarrollo

# Install dependencies
pnpm install

# Run in development mode with stdio
pnpm run dev-stdio

# Run tests
pnpm test

# Run linter
pnpm run lint

# Build the package
pnpm run build

Solución de problemas

Problemas comunes

  1. Permiso denegado: Si recibes errores EACCES al ejecutar la CLI, asegúrate de que el binario sea ejecutable:

    chmod +x ./node_modules/.bin/mcp-deepwiki
    
  2. Conexión rechazada: Asegúrate de que el puerto esté disponible y no esté bloqueado por un firewall:

    # Check if port is in use
    lsof -i :3000
    
  3. Errores de tiempo de espera: Para repositorios grandes, considera aumentar el tiempo de espera y la concurrencia:

    DEEPWIKI_REQUEST_TIMEOUT=60000 DEEPWIKI_MAX_CONCURRENCY=10 npx mcp-deepwiki
    

Contribuciones

¡Agradecemos las contribuciones! Consulta CONTRIBUTING.md para más detalles.

Licencia

MIT

Enlaces

Cursos

Consulta mis otros proyectos:

  • AI Prompts - Prompts de IA seleccionados para Cursor AI, Cline, Windsurf y Github Copilot
  • codefetch - Convierte código en Markdown para LLMs con un simple comando de terminal
  • aidex Una herramienta CLI que proporciona información detallada sobre modelos de lenguaje de IA, ayudando a los desarrolladores a elegir el modelo adecuado para sus necesidades.# tool-starter