Plugins de Claude Code: Cómo las herramientas MCP Extienden Claude Code con Capacidades Externas

Plugins de Claude Code: Cómo las herramientas MCP Extienden Claude Code con Capacidades Externas

Claude Code no tiene un sistema de plugins tradicional con un mercado e instalaciones con un solo clic. Utiliza el Protocolo de Contexto de Modelo (MCP), un estándar abierto de Anthropic para adjuntar herramientas externas a una sesión de Claude Code. Los servidores MCP funcionan como plugins: exponen herramientas invocables, Claude decide cuándo usarlas y el resultado se retroalimenta en la conversación. Esta guía explica el modelo de extensión; para configuraciones CLI y JSON copiables, utiliza la guía de configuración de Claude MCP.

Qué significa realmente “plugins de Claude Code”

Cuando los desarrolladores buscan “plugins de Claude Code”, normalmente quieren una de tres cosas: una forma de darle a Claude Code acceso a un servicio externo (GitHub, una base de datos, un navegador web), una forma de instalar extensiones de herramientas creadas por la comunidad, o documentación sobre cómo funciona el mecanismo de extensión.

Los tres caminos llevan a MCP. Anthropic diseñó Claude Code en torno al Protocolo de Contexto de Modelo en lugar de un formato de plugin propietario. Esto significa:

  • Sin mercado separado: las herramientas se distribuyen como servidores MCP, no a través de un registro específico de la plataforma
  • Sin bloqueo a nivel de API: cualquier desarrollador puede construir un servidor y compartirlo
  • Misma superficie de integración: Claude Code, Claude Desktop y otros hosts de Claude utilizan el mismo protocolo

El efecto práctico es que el catálogo de plugins de Claude Code es el ecosistema MCP — cualquier servidor construido según la especificación MCP funciona con Claude Code, y ya existen miles para bases de datos, APIs, navegadores, ejecutores de código, sistemas de archivos y más.

No existe un comando claude plugin install. El equivalente es claude mcp add.

Cómo funcionan los servidores MCP como plugins

Cada servidor MCP es un proceso que expone un conjunto de herramientas a través del protocolo MCP. Claude Code inicia o se conecta a los servidores registrados cuando inicias una sesión, los consulta por sus listas de herramientas y luego utiliza esas herramientas cuando la conversación lo requiere.

Tres elementos componen la interfaz de un servidor MCP:

Objeto Qué es Ejemplo
Herramienta Una función invocable con entradas y salidas definidas run_python, search_docs, create_issue
Recurso Datos de solo lectura que el servidor expone como contexto El contenido de un archivo, una fila de base de datos, un fixture de prueba
Prompt Plantillas de instrucciones preconstruidas incluidas con el servidor Una lista de verificación de revisión de código, una plantilla de tarea

Para la mayoría de los flujos de trabajo de Claude Code, las herramientas son lo que importa. Los recursos y prompts entran en juego cuando estás construyendo pipelines agentivos más estructurados.

La secuencia clave del protocolo:

  1. Claude Code se inicia, lee su configuración e inicia los servidores registrados
  2. Cada servidor responde a una consulta tools/list con nombres y definiciones de JSON Schema
  3. Durante una sesión, Claude utiliza esas definiciones para decidir cuándo y cómo llamar a cada herramienta
  4. Claude Code envía la llamada, el servidor ejecuta y devuelve el resultado, Claude incorpora el resultado y continúa

El servidor maneja la ejecución. Claude maneja el razonamiento sobre cuándo es necesaria la ejecución.

Instalando tu primer plugin con claude mcp add

claude mcp add es el comando que registra un servidor MCP con Claude Code. Ejecútalo una vez; el servidor estará disponible en cada sesión posterior.

# Forma básica para servidores stdio
claude mcp add <nombre-del-servidor> -- <comando> [args...]

# Forma básica para servidores HTTP
claude mcp add --transport http <nombre-del-servidor> <url>

Requisitos previos antes de ejecutar cualquier comando claude mcp add:

  • Claude Code instalado y en tu PATH (claude --version debería funcionar)
  • Node.js 18 o posterior para servidores basados en npm
  • Python 3.10 o posterior para servidores basados en Python

Agregando el plugin de navegador Playwright

El servidor MCP de Playwright le da a Claude un navegador real — puede navegar por URLs, hacer clic en elementos, extraer texto y devolver capturas de pantalla. Este es uno de los primeros plugins más útiles para agregar porque no requiere clave API y demuestra inmediatamente lo que el protocolo puede hacer.

claude mcp add playwright -- npx -y @playwright/mcp@latest

Verifica que se registró:

claude mcp list

Luego abre una sesión:

Usa playwright para abrir https://example.com y dime el título de la página y el encabezado principal

Claude lanzará un navegador, navegará a la URL, leerá el DOM y devolverá la respuesta — sin necesidad de scripting de tu parte.

Agregando un plugin de base de datos

El servidor MCP oficial de SQLite permite a Claude consultar e inspeccionar una base de datos SQLite local directamente desde la conversación:

claude mcp add sqlite -- uvx mcp-server-sqlite --db-path /ruta/a/tu/base-de-datos.db

Después de eso, puedes pedirle a Claude que escriba consultas, explique el esquema o explore datos directamente sin tener que copiar y pegar definiciones de esquema en cada prompt.

Pasando variables de entorno

La mayoría de los servidores respaldados por API necesitan claves. Usa --env para pasarlas en el momento del registro sin incrustarlas en el comando:

claude mcp add linear -- npx -y @linear/mcp-server \
  --env LINEAR_API_KEY=tu_clave_aqui

Los valores se almacenan en la configuración de Claude Code y se inyectan en el proceso del servidor al inicio.

Ámbitos: local, proyecto y usuario

Por defecto, claude mcp add registra un servidor en el ámbito local — está activo solo cuando Claude Code se inicia desde el directorio actual. Tres opciones de ámbito ofrecen diferentes modelos de uso compartido:

Ámbito Activo en Archivo de configuración Cuándo usarlo
local (predeterminado) Solo el directorio actual ~/.claude.json Servidor de desarrollo personal para un proyecto
project Cualquier sesión dentro de este repositorio .mcp.json en la raíz del proyecto Herramienta de equipo — se incluye junto con el código
user Cada sesión de Claude Code ~/.claude.json bajo el ámbito de usuario Herramientas globales que siempre quieres disponibles

Agrega --scope project para incluir la definición del servidor con tu repositorio:

claude mcp add sqlite --scope project -- uvx mcp-server-sqlite --db-path ./dev.db

Esto crea .mcp.json en la raíz del proyecto con la definición del servidor. Los compañeros de equipo que ejecuten Claude Code en el mismo repositorio obtendrán la misma herramienta disponible automáticamente — sin necesidad de configuración por desarrollador más allá de tener los requisitos previos instalados.

Para herramientas de ámbito de usuario que tienen sentido en todas partes:

claude mcp add playwright --scope user -- npx -y @playwright/mcp@latest

Plugins MCP populares y qué hacen

El ecosistema MCP ha crecido sustancialmente desde que Anthropic publicó el protocolo. Algunas categorías con uso en el mundo real:

Herramientas de desarrollo

Servidor Qué añade
@playwright/mcp Automatización del navegador — navegar, hacer clic, extraer, capturar pantalla
@modelcontextprotocol/server-git Leer commits, diffs, ramas, blame de repositorios locales
@modelcontextprotocol/server-filesystem Acceso al sistema de archivos con ámbito — leer/escribir archivos en rutas definidas
mcp-server-sqlite Consultar e inspeccionar bases de datos SQLite

Servicios y APIs

Servidor Qué añade
@linear/mcp-server Crear, leer y actualizar issues de Linear
@sentry/mcp-server Consultar errores y trazas de Sentry
@modelcontextprotocol/server-github Repositorios, issues, PRs y búsqueda de código de GitHub
@notionhq/notion-mcp-server Leer y escribir páginas y bases de datos de Notion

IA y ejecución de código

Servidor Qué añade
Servidor MCP de Novita Sandbox Ejecución aislada de Python/Node en sandboxes en la nube
@modelcontextprotocol/server-memory Memoria persistente clave-valor entre sesiones

Estos se pueden instalar a través de claude mcp add con npx para paquetes basados en npm o uvx/pip para paquetes de Python.

Cómo Claude enruta las llamadas a herramientas en tiempo de ejecución

Claude no llama a las herramientas de forma aleatoria o exhaustiva. Razona sobre qué herramienta (si alguna) es apropiada para cada paso de una tarea, basándose completamente en la descripción de la herramienta.

La lógica de enrutamiento a alto nivel:

  1. Al inicio de la sesión, Claude consulta todos los servidores registrados y construye un catálogo de herramientas
  2. Para cada mensaje del usuario o paso de la tarea, Claude evalúa si alguna descripción de herramienta coincide con lo que se necesita
  3. Si una coincidencia parece prometedora, Claude construye una llamada con los argumentos apropiados basados en el JSON Schema de la herramienta
  4. Claude Code envía la llamada, espera el resultado y lo incorpora antes del siguiente paso

Una consecuencia: las descripciones de las herramientas son críticas. Una descripción vaga como "herramienta útil" resultará en que la herramienta nunca sea llamada. Una descripción que diga exactamente qué hace la herramienta, cuándo llamarla y cómo son sus entradas y salidas conduce a un uso preciso y confiable.

Si construyes tu propio servidor MCP y las herramientas no se llaman a pesar de estar registradas, la descripción es casi siempre el problema — no la implementación.

Claude también puede encadenar llamadas a herramientas dentro de un solo turno: leer un archivo para entender el contexto, buscar una dependencia, ejecutar una prueba, verificar el resultado y sugerir una corrección — cada paso usando una herramienta diferente de un servidor potencialmente diferente.

Ejecutando plugins en un sandbox

Cuando los plugins ejecutan código — scripts de Python, comandos del shell, automatización del navegador — ejecutarlos en tu máquina local conlleva riesgos. Una herramienta con acceso al sistema de archivos o capacidad de generar procesos tiene una superficie amplia si se comporta mal o recibe un prompt malformado.

Novita Agent Sandbox aborda esto proporcionando entornos de nube aislados para la ejecución de herramientas. En lugar de ejecutar tu servidor MCP localmente, lo despliegas dentro de una instancia de sandbox. El sandbox tiene su propio sistema de archivos, alcance de red y límites de recursos. La ejecución de la herramienta ocurre dentro de ese límite sin tocar la máquina host.

Desde la perspectiva de Claude, la integración es idéntica — la lista de herramientas se ve igual y las llamadas funcionan de la misma manera. La diferencia está enteramente en dónde se ejecuta.

Características clave de Novita Sandbox para la ejecución de herramientas MCP:

  • Inicio rápido: las instancias se lanzan en menos de ~200ms en promedio, manteniendo baja la latencia de ida y vuelta de las herramientas
  • Facturación por segundo: pagas solo por el tiempo de ejecución activo, no por la reserva inactiva
  • Sistema de archivos aislado: cada instancia de sandbox tiene un espacio de trabajo separado, evitando fugas entre sesiones
  • Alcance de red configurable: controla a qué servicios externos puede acceder la herramienta

Para usar el SDK de Novita Sandbox dentro de un manejador de herramientas MCP:

pip install novita-sandbox
from novita_sandbox.code_interpreter import Sandbox

def execute_code(code: str, api_key: str) -> dict:
    sandbox = Sandbox.create(
        template="code-interpreter-v1",
        api_key=api_key,
        domain="sandbox.novita.ai",
        timeout=300,
    )
    result = sandbox.run_code(code, language="python")
    sandbox.kill()
    return {
        "output": result.logs,
        "error": result.error,
    }

La plantilla code-interpreter-v1 viene con pandas, numpy, matplotlib y otros paquetes comunes preinstalados. Para una guía completa, consulta Construye un Servidor MCP de Ejecución de Código Remota con Novita Sandbox y la Biblioteca mcp-use.

Usando la API LLM de Novita para el razonamiento de uso de herramientas

Claude Code maneja el razonamiento de uso de herramientas utilizando el modelo que esté configurado como su backend. Si estás enrutando Claude Code a través de un proveedor alternativo — por costo, latencia o acceso a modelos — la capa de razonamiento para las llamadas a herramientas también se enruta a través de ese proveedor.

Novita LLM API proporciona un endpoint compatible con Anthropic en https://api.novita.ai/anthropic. Configúralo una vez con tres variables de entorno:

export ANTHROPIC_BASE_URL="https://api.novita.ai/anthropic"
export ANTHROPIC_AUTH_TOKEN="tu-clave-api-de-novita"
export ANTHROPIC_MODEL="qwen/qwen3-coder-480b-a35b-instruct"
export ANTHROPIC_SMALL_FAST_MODEL="deepseek/deepseek-v4-flash"

Con esta configuración, las llamadas a herramientas MCP de Claude Code continúan funcionando exactamente como antes. El enrutamiento afecta qué modelo hace el razonamiento — no el mecanismo de envío de herramientas, que permanece en la capa de Claude Code.

Elecciones de modelo para sesiones intensivas en herramientas:

  • Qwen3-Coder 480B — muy adecuado para tareas de largo horizonte donde Claude necesita leer muchos archivos, planificar una secuencia de múltiples pasos y llamar a herramientas en cada etapa. Su manejo de contexto largo mantiene accesibles los resultados de herramientas anteriores durante una sesión compleja.
  • MiniMax M2.7 — optimizado para la precisión en el uso de herramientas agentivas, diseñado específicamente para reducir invocaciones incorrectas de herramientas y manejar secuencias de múltiples turnos donde cada paso se basa en el resultado anterior.
  • DeepSeek V4 Flash — rápido y económico, una buena opción para ANTHROPIC_SMALL_FAST_MODEL. Claude Code utiliza este espacio para la summarización de sesiones y compresión de contexto, ninguna de las cuales requiere razonamiento profundo.

Si estás construyendo tu propio host MCP (en lugar de usar Claude Code), Novita LLM API también proporciona un endpoint compatible con OpenAI en https://api.novita.ai/v3/openai para modelos que soportan function calling:

import openai

client = openai.OpenAI(
    base_url="https://api.novita.ai/v3/openai",
    api_key="tu-clave-api-de-novita",
)

response = client.chat.completions.create(
    model="meta-llama/llama-3.3-70b-instruct",
    messages=[{"role": "user", "content": "Lista las herramientas disponibles y realiza una verificación rápida"}],
    tools=[
        {
            "type": "function",
            "function": {
                "name": "list_files",
                "description": "Lista los archivos en el directorio de trabajo actual.",
                "parameters": {
                    "type": "object",
                    "properties": {
                        "path": {
                            "type": "string",
                            "description": "Ruta del directorio a listar."
                        }
                    },
                    "required": ["path"]
                }
            }
        }
    ],
    tool_choice="auto",
)

Esto es particularmente útil para escenarios donde deseas que un modelo de peso abierto actúe como la capa de razonamiento en un pipeline MCP personalizado, con características de costo o latencia diferentes a las de los modelos cerrados.

Modelos de peso abierto como backbone alternativo

Una opción poco apreciada para flujos de trabajo de Claude Code con mucho uso de MCP es reemplazar el modelo Claude predeterminado por completo con una alternativa de peso abierto capaz. Modelos como Qwen3-Coder, MiniMax M2.7 y DeepSeek V3.1 han sido entrenados específicamente para la precisión en la llamada de herramientas y el razonamiento de múltiples pasos — en algunos benchmarks, estos igualan o superan a los modelos de código cerrado en tareas de function calling, a una fracción del costo.

Para equipos que ejecutan sesiones agentivas de alto volumen — pipelines de CI, revisión de código automatizada, refactorización por lotes — la diferencia de costo importa. Novita AI proporciona acceso a estos modelos a través del mismo endpoint compatible con Anthropic, por lo que el cambio es una modificación de configuración, no una reescritura de código.

Escribiendo descripciones de herramientas que funcionan

Si estás construyendo tu propio servidor MCP para Claude Code, la calidad de tus descripciones de herramientas determina si Claude usa tus herramientas de manera efectiva. Esto es lo que tiene mayor impacto que puedes hacer para un servidor personalizado.

Una descripción de herramienta que funciona responde tres preguntas:

  1. ¿Qué hace la herramienta? — concreto, no abstracto
  2. ¿Cuándo debería llamarse? — el escenario o condición desencadenante
  3. ¿Cuáles son las entradas y salidas? — suficiente para que Claude construya argumentos correctos

Compara estas dos descripciones para la misma herramienta search_codebase:

Deficiente: "Busca en la base de código."

Efectiva: "Busca archivos fuente en el repositorio actual por un símbolo, cadena o patrón de expresión regular. Llama a esto cuando necesites encontrar dónde está definida una función, localizar todos los usos de una variable o identificar qué archivos hacen referencia a un módulo en particular. Devuelve una lista de rutas de archivo con líneas coincidentes y números de línea."

La segunda descripción le dice a Claude cuándo llamar a la herramienta (no solo qué hace), lo que produce invocaciones mucho más precisas y oportunas.

Algunas prácticas adicionales:

  • Marca las herramientas mutantes claramente: Si una herramienta escribe en una base de datos o despliega código, dilo explícitamente. Claude será más cuidadoso al llamarla sin evidencia clara de que la acción es intencionada.
  • Explica las formas de retorno: Si la herramienta devuelve un objeto JSON con una estructura específica, describe los campos clave. Claude usa esto para extraer la información correcta para el siguiente paso.
  • Mantén los ámbitos estrechos: Una herramienta llamada "run_anything" que acepta comandos de shell arbitrarios es más difícil para Claude de razonar que "run_tests" que ejecuta la suite de pruebas del proyecto. Las herramientas estrechas con descripciones precisas funcionan mejor que las herramientas amplias con descripciones vagas.

Solución de problemas comunes de plugins

La herramienta no aparece después de claude mcp add

Verifica que el comando del servidor se ejecute sin errores en una terminal nueva. Claude Code puede suprimir el stderr del subproceso. Ejecuta claude mcp list — si el servidor muestra un tiempo de espera o error, el comando en sí está fallando, no la configuración.

Herramientas registradas pero nunca llamadas

Las descripciones de las herramientas son demasiado vagas. Reescríbelas para especificar cuándo Claude debe llamar a la herramienta y qué significan los argumentos.

npx se cuelga en la primera ejecución

Agrega la bandera -y para aceptar automáticamente el prompt de instalación: npx -y @package/mcp-server. Sin ella, npx espera la confirmación del usuario y Claude Code ve un tiempo de espera de conexión.

El servidor no está activo en un nuevo proyecto

Registraste en el ámbito local e iniciaste Claude Code desde un directorio diferente. Vuelve a agregar con --scope user para un servidor global o ejecuta el comando add desde la raíz del proyecto correcta.

Las llamadas a herramientas fallan con errores de validación de esquema

Claude construye argumentos basados en el JSON Schema de la herramienta. Si faltan campos obligatorios en el esquema o los tipos no coinciden, el servidor rechaza la llamada. Revisa tu definición de inputSchema — los esquemas incompletos conducen a argumentos de llamada incompletos.

Comando claude mcp add no encontrado

Instala Claude Code: npm install -g @anthropic-ai/claude-code, luego verifica con claude --version.

Preguntas Frecuentes

¿Tiene Claude Code un mercado de plugins?

No en el sentido tradicional. Claude Code utiliza el protocolo MCP en lugar de un mercado específico de la plataforma. Los servidores MCP creados por la comunidad se publican en npm, PyPI y GitHub. Algunos agregadores mantienen listas curadas, pero no hay un mercado oficial de Claude Code para explorar.

¿Cuál es la documentación de plugins de claude code?

La documentación oficial de Anthropic para la integración MCP de Claude Code se encuentra en docs.anthropic.com/claude-code. La especificación MCP en sí está en modelcontextprotocol.io. Estas son las dos fuentes de referencia para detalles autorizados del protocolo y la implementación.

¿En qué se diferencia un servidor MCP de un plugin de Claude Code?

Los términos se refieren a lo mismo en el contexto de Claude Code. Cuando los desarrolladores dicen “plugin de Claude Code”, generalmente se refieren a un servidor MCP conectado a Claude Code. La palabra “plugin” no es la terminología oficial de Anthropic, pero el concepto se mapea directamente: instalar una vez, usar en cada sesión, extiende las capacidades de Claude con nuevas herramientas.

¿Puedo usar el mismo servidor MCP en Claude Desktop y Claude Code?

Sí. El servidor es agnóstico al protocolo — no le importa qué host se conecta. Para servidores stdio, tanto Claude Code (a través de claude mcp add) como Claude Desktop (a través del archivo de configuración JSON) pueden lanzar el mismo comando. Para servidores HTTP, cualquier host que pueda alcanzar la URL puede conectarse.

¿Cuántos servidores MCP puedo registrar?

El protocolo MCP y Claude Code no imponen un límite estricto. En la práctica, tener muchos servidores con cientos de herramientas puede ralentizar el inicio de la sesión (el descubrimiento de herramientas se ejecuta al inicio) y agregar ruido a la selección de herramientas de Claude. Mantén el conjunto activo enfocado en lo que una sesión determinada realmente necesita.

¿Existen riesgos de seguridad al agregar plugins MCP?

Sí. Los servidores MCP se ejecutan como procesos con los permisos que necesitan para hacer su trabajo. Un servidor con acceso al sistema de archivos puede leer o escribir archivos; uno con ejecución de shell puede ejecutar comandos arbitrarios. Solo agrega servidores en los que confíes. Para entornos de producción o compartidos, considera ejecutar servidores en entornos aislados — consulta la sección de sandbox arriba.

¿Los modelos de peso abierto soportan la llamada a herramientas MCP?

Sí. Los modelos que implementan function calling en el formato de la API de mensajes de Anthropic funcionan con la capa MCP de Claude Code independientemente del proveedor. Qwen3-Coder, MiniMax M2.7 y DeepSeek V3.1 soportan la llamada a herramientas estructurada. El envío de herramientas es manejado por Claude Code; el modelo solo necesita devolver instrucciones de llamada a herramientas válidas en el formato esperado.


Artículos Recomendados