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 marketplace 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 una configuración CLI y JSON copiable, usa la guía de configuración de Claude MCP.

Qué significan realmente los “plugins de Claude Code”

Cuando los desarrolladores buscan “plugins de Claude Code”, generalmente 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.

Las tres 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 marketplace 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 servidores registrados cuando inicias una sesión, consulta sus listas de herramientas y luego las usa 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 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 los prompts entran en juego cuando estás construyendo tuberías agénticas más estructuradas.

La secuencia clave del protocolo:

  1. Claude Code se inicia, lee su configuracón y lanza los servidores registrados
  2. Cada servidor responde a una consulta tools/list con nombres y definiciones de esquema JSON
  3. Durante una sesión, Claude usa esas definiciones para decidir cuándo y cómo llamar a cada herramienta
  4. Claude Code despacha 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.

Instalar tu primer plugin con claude mcp add

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

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

# Forma báica 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 debe funcionar)
  • Node.js 18 o posterior para servidores basados en npm
  • Python 3.10 o posterior para servidores basados en Python

Agregar el plugin de navegador Playwright

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

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

Verifica que se haya registrado:

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 por tu parte.

Agregar 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.

Pasar 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_aquí

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

Ámbitos: local, proyecto y usuario

Por defeto, 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 compartir:

Ámbito Activo en Archivo de configuracón Cuándo usarlo
local (defeto) Solo el direcorio actual ~/.claude.json Servidor de desarrollo personal para un proyecto
project Cualquier sesión dentro de este repo .mcp.json en la raíz del proyecto Herramienta de equipo: se confirma 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 confirmar 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 tengan 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é agrega
@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é agrega
@linear/mcp-server Crear, leer y actualizar issues de Linear
@sentry/mcp-server Consultar errores y trazas de Sentry
@modelcontextprotocol/server-github Repositorios de GitHub, issues, PRs y búsqueda de código
@notionhq/notion-mcp-server Leer y escribir páginas y bases de datos de Notion

IA y ejecución de código

Servidor Qué agrega
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 enruta Claude 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 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 esquema JSON de la herramienta
  4. Claude Code despacha la llamada, espera el resultado y lo incorpora antes del siguiente paso

Una consecuencia: las descripciones de las herramientas son cruciales. Una descripción vaga como "herramienta útil" dará como resultado 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 lleva 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 casi siempre es 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 la salida y sugerir una corrección, cada paso usando una herramienta diferente de un servidor potencialmente diferente.

Ejecutar plugins en un entorno aislado

Cuando los plugins ejecutan código (scripts de Python, comandos de 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 mal formado.

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 obtiene 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 es completamente 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 la herramienta
  • 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 ejecutar_codigo(codigo: str, api_key: str) -> dict:
    sandbox = Sandbox.create(
        template="code-interpreter-v1",
        api_key=api_key,
        domain="sandbox.novita.ai",
        timeout=300,
    )
    resultado = sandbox.run_code(codigo, language="python")
    sandbox.kill()
    return {
        "output": resultado.logs,
        "error": resultado.error,
    }

La plantilla code-interpreter-v1 viene con pandas, numpy, matplotlib y otros paquetes comunes preinstalados. Para una guía completa, consulta Build a Remote Code Execution MCP Server with Novita Sandbox and mcp-use Library.

Usar la API de 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 modelo— la capa de razonamiento para llamadas a herramientas se enruta a travé de ese proveedor también.

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_FAS_MODEL="deepssek/deepssek-v4-flash"

Con esta configuracó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 despacho de herramientas, que permanece en la capa de Claude Code.

Elecciones de modelo para sesiones con muchas herramientas:

  • Qwen3-Coder 480B — muy adecuado para tareas de largo alcance donde Claude necesita leer muchos archivos, planificar una secuencia de varios pasos y llamar herramientas en cada etapa. Su manejo de contexto largo mantiene los resultados de herramientas anteriores accesibles a lo largo de una sesión compleja.
  • MiniMax M2.7 — optimizado para la precisión del uso de herramientas agénticas, 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 barato, una buena opción para ANTHROPIC_SMALL_FAST_MODEL. Claude Code usa este espacio para el resumen de sesiones y la 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), la API de LLM de Novita también proporciona un endpoint compatible con OpenAI en https://api.novita.ai/v3/openai para modelos que admiten llamadas a funciones:

import openai

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

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

Esto es particularmente útil para escenarios donde quieres que un modelo de peso abieto 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 backbond alternativo

Una opción pocas veces apreciada para los flujos de trabajo de Claude Code con mucho 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 llamadas a herramientas y razonamiento de múltiples pasos; en algunos benchmarks, igualan o superan a los modelos de código cerrado en tareas de llamadas a funciones, a una fracción del costo.

Para equipos que ejecutan sesiones de agente de alto volumen (tuberías 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 un cambio de configuración, no una reescritura de código.

Escribir descripciones de herramientas que funcionen

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

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

  1. ¿Qué hace la herramienta? — concreto, no abstracto
  2. ¿Cuándo debe ser llamada? — el escenario o la 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:

Mala: "Busca en el código base."

Efectiva: "Busca en los archivos fuente del repositorio actual un símbolo, cadena o patrón regex. 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 mutadoras 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 "ejecutar_cualquier_cosa" que acepta comandos de shell arbitrarios es más difícil de razonar para Claude que "ejecutar_pruebas" que ejecuta la suite de pruebas del proyecto. Las herramientas estrechas con descripciones precias funcionan mejor que las herramientas amplias con descripciones vagas.

Solucionar problemas comunes con 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 debe llamar Claude a la herramienta y qué significan los argumentos.

npx se cuelga en la primera ejecución

Añade la bandera -y para aceptar automáticamente el mensaje 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.

Servidor no 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 del esquema

Claude construye argumentos basados en el esquema JSON 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 llevan 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.

FAQ

¿Claude Code tiene un marketplace de plugins?

No en el sentido tradicional. Claude Code utiliza el protocolo MCP en lugar de un marketplace 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 marketplace 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 a consultar para obtener 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”, normalmente 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 conecte. 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 realmente necesita una sesión determinada.

¿Hay 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 anterior.

¿Los modelos de peso abierto admiten llamadas a herramientas MCP?

Sí. Los modelos que implementan llamadas a funciones 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 admiten llamadas a herramientas estructuradas. El despacho de herramientas lo maneja Claude Code; el modelo solo necesita devolver instrucciones de llamada a herramientas válidas en el formato esperado.


Artículos Recomendados