Claude Code MCP: qué es, cómo configurarlo y conectar herramientas externas
Model Context Protocol (MCP) permite conectar Claude Code con herramientas, bases de datos, APIs, GitHub, navegadores, sistemas internos y servicios externos. En lugar de copiar información manualmente dentro del chat, Claude puede consultar y utilizar directamente las herramientas expuestas por un servidor MCP.
¿Qué es MCP en Claude Code?
MCP es un estándar abierto que permite
conectar Claude Code con herramientas
y fuentes de datos externas.
Un servidor MCP puede exponer herramientas,
recursos y prompts para que Claude
pueda consultar GitHub,
bases de datos, sistemas internos,
documentación, navegadores
u otras APIs.
Para servidores remotos,
Claude Code recomienda actualmente
utilizar transporte HTTP.
Para herramientas que se ejecutan
en tu propio equipo,
normalmente se utiliza
stdio.
Qué puede hacer Claude Code mediante MCP
MCP permite que Claude deje de trabajar únicamente con información local del repositorio.
GitHub
Leer issues, revisar pull requests, consultar repositorios y trabajar con GitHub.
Bases de datos
Consultar PostgreSQL, MySQL u otras fuentes de datos.
Navegadores
Automatizar navegación, testing e interacción web mediante servidores compatibles.
APIs
Conectar servicios propios o plataformas de terceros.
Documentación
Consultar recursos externos sin copiarlos manualmente al chat.
Workflows
Combinar varias herramientas dentro de una misma tarea agentic.
Claude → MCP → herramienta externa
MCP actúa como una capa estandarizada entre Claude Code y los sistemas que quieres integrar.
Descubre herramientas
Claude conoce las capacidades disponibles en los servidores MCP.
Ejecuta una herramienta
Claude selecciona la integración necesaria según la tarea.
Utiliza el resultado
La respuesta del servidor vuelve a Claude para continuar el workflow.
MCP vs Skills vs Subagents
Son extensiones diferentes del ecosistema de Claude Code.
| Herramienta | Función principal |
|---|---|
| CLAUDE.md | Reglas persistentes del proyecto |
| Skills | Procedimientos y conocimiento reutilizable |
| Subagents | Delegar tareas a contextos especializados |
| MCP | Conectar herramientas y sistemas externos |
| Hooks | Automatizar acciones alrededor de eventos |
HTTP, stdio, SSE y WebSocket
El transporte determina cómo Claude Code se comunica con el servidor MCP.
| Transporte | Uso | Estado |
|---|---|---|
http |
Servidores remotos y cloud | Recomendado |
stdio |
Procesos que se ejecutan localmente | Recomendado local |
sse |
Servidores antiguos basados en Server-Sent Events | Deprecado cuando hay HTTP |
ws |
Conexiones WebSocket bidireccionales | Disponible vía configuración JSON |
Para un servicio alojado en Internet, empieza por HTTP. Para un script o programa que se ejecuta en tu computador, utiliza stdio.
Cómo añadir un servidor MCP remoto
HTTP es actualmente la opción recomendada para servidores MCP remotos.
Agregar servidor HTTP
claude mcp add --transport http nombre https://mcp.example.com/mcp
Conectar Notion
claude mcp add --transport http notion https://mcp.notion.com/mcp
Añadir un servidor con Bearer Token
claude mcp add --transport http secure-api https://api.example.com/mcp \
--header "Authorization: Bearer YOUR_TOKEN"
Para configuraciones
compartidas,
utiliza variables
de entorno
en lugar
de introducir secretos
directamente
dentro de
.mcp.json.
Agregar un servidor MCP local
Los servidores stdio funcionan como procesos que Claude Code inicia directamente en tu computador.
claude mcp add --transport stdio my-server -- npx -y my-mcp-server
Todo lo situado
después de
--
se entrega
directamente
al proceso
que ejecutará
el servidor MCP.
Las opciones
anteriores a
--
pertenecen a Claude Code.
Las opciones posteriores
pertenecen al servidor MCP.
Pasar variables de entorno a un servidor local
claude mcp add \
--env API_KEY=YOUR_KEY \
--transport stdio \
my-server \
-- npx -y my-mcp-server
CLAUDE_PROJECT_DIR dentro de servidores stdio
Claude Code proporciona automáticamente la ruta raíz del proyecto al proceso MCP local.
Variable disponible
CLAUDE_PROJECT_DIR
Tu servidor puede utilizar esa variable para encontrar archivos del proyecto sin asumir cuál es el working directory.
Local, project y user
El scope determina dónde queda guardado el servidor y quién puede utilizarlo.
| Scope | Disponible en | Compartido | Ubicación |
|---|---|---|---|
local |
Proyecto actual | No | ~/.claude.json |
project |
Proyecto actual | Sí | .mcp.json |
user |
Todos tus proyectos | No | ~/.claude.json |
Si no especificas
--scope,
Claude Code
guarda normalmente
el servidor
como configuración local
para ese proyecto.
Compartir servidores mediante .mcp.json
Project scope permite versionar la configuración MCP junto al repositorio.
claude mcp add \
--transport http \
--scope project \
docs \
https://mcp.example.com/mcp
{
"mcpServers": {
"docs": {
"type": "http",
"url": "https://mcp.example.com/mcp"
}
}
}
Los servidores compartidos requieren aprobación
Un repositorio que acabas de clonar no debería poder ejecutar automáticamente cualquier servidor MCP.
Claude Code pide aprobación
Cuando existe
un servidor dentro
de .mcp.json,
Claude Code
puede mostrarlo
como pendiente
hasta que confíes
explícitamente
en el workspace
y en la configuración.
claude mcp reset-project-choices
Especialmente cuando el repositorio procede de terceros.
Qué ocurre si el mismo servidor existe en varios scopes
Local
Mayor precedencia entre los scopes normales.
Project
Configuración compartida mediante .mcp.json.
User
Configuración personal para todos los proyectos.
Plugins y Connectors
Se utilizan cuando no existe una definición con mayor precedencia.
Cuando el mismo nombre aparece en varios scopes, Claude utiliza la definición completa de mayor precedencia, no una combinación de sus campos.
Variables de entorno dentro de .mcp.json
Puedes compartir la configuración sin guardar claves privadas directamente en Git.
{
"mcpServers": {
"internal-api": {
"type": "http",
"url": "${API_BASE_URL:-https://api.example.com}/mcp",
"headers": {
"Authorization": "Bearer ${API_KEY}"
}
}
}
}
La sintaxis
${VAR:-default}
utiliza el valor
de la variable
cuando existe
y el fallback
cuando no.
Comandos para administrar servidores MCP
| Acción | Comando |
|---|---|
| Listar servidores | claude mcp list |
| Ver un servidor | claude mcp get nombre |
| Eliminar servidor | claude mcp remove nombre |
| Panel dentro de Claude | /mcp |
| Login OAuth | claude mcp login nombre |
| Logout OAuth | claude mcp logout nombre |
Cómo saber si un servidor MCP funciona
claude mcp list
| Estado | Significado |
|---|---|
| Connected | Servidor disponible |
| Needs authentication | Debes completar autenticación |
| Failed to connect | Error de conexión o configuración |
| Pending approval | Servidor del proyecto pendiente de aprobación |
| Disabled | Desactivado para el proyecto |
Autenticar servidores MCP remotos
Claude Code soporta OAuth 2.0 para servicios que requieren autorización del usuario.
Desde Claude Code
/mcp
Autenticar desde terminal
claude mcp login sentry
Cuando el servidor soporta OAuth correctamente, Claude Code guarda la autenticación y puede renovar el access token cuando corresponda.
Autenticar MCP cuando no tienes navegador local
claude mcp login sentry --no-browser
Puedes abrirla en otro navegador y después pegar la URL completa de redirección en la terminal.
Ejemplo: conectar Claude Code con GitHub
El ejemplo oficial utiliza el servidor remoto de GitHub y un token de acceso.
claude mcp add \
--transport http \
github \
https://api.githubcopilot.com/mcp/ \
--header "Authorization: Bearer YOUR_GITHUB_PAT"
Concede únicamente acceso a los repositorios y operaciones que realmente necesites.
Revisa el PR #456.
Busca:
- bugs
- problemas de seguridad
- regresiones
- falta de tests
No publiques comentarios todavía.
Primero muéstrame el informe.
Ejemplo: consultar PostgreSQL con MCP
Claude puede consultar una base de datos relacional mediante un servidor MCP apropiado.
claude mcp add \
--transport stdio \
db \
-- npx -y @bytebase/dbhub \
--dsn "postgresql://readonly:password@db.example.com:5432/analytics"
La propia documentación de Anthropic recomienda utilizar credenciales de solo lectura cuando Claude necesita consultar datos pero no modificarlos.
Muéstrame el esquema de la tabla orders.
Después calcula:
- número de órdenes
- ticket promedio
- ingresos del mes
No realices ninguna modificación.
Referenciar recursos MCP con @
MCP no expone únicamente herramientas. Los servidores también pueden proporcionar recursos.
Autocompletado de recursos
Escribe
@
en el prompt
para ver
recursos disponibles
junto a archivos
locales.
Analiza @github:issue://123
y propón cómo solucionarlo.
Compara @postgres:schema://users
con @docs:file://database/user-model
Tool Search evita cargar todas las herramientas MCP
Un servidor puede exponer muchas herramientas, pero Claude Code no necesita cargar todas sus definiciones desde el comienzo.
Descubrimiento bajo demanda
Claude Code mantiene únicamente información suficiente para descubrir las herramientas y carga sus definiciones cuando realmente resultan relevantes.
Esto permite tener múltiples servidores MCP sin consumir automáticamente una gran parte de la ventana de contexto.
Qué ocurre cuando una herramienta MCP devuelve demasiado contenido
| Valor | Comportamiento |
|---|---|
| 10.000 tokens | Claude Code muestra una advertencia |
| 25.000 tokens | Límite predeterminado habitual |
| Resultado excesivo | Puede guardarse en archivo y referenciarse desde el chat |
export MAX_MCP_OUTPUT_TOKENS=50000
claude
Siempre que sea posible, pagina respuestas, filtra datos y devuelve únicamente la información que Claude necesita.
Combinar MCP con Claude Code Subagents
No todos los servidores MCP tienen que estar disponibles en la conversación principal.
---
name: database-analyst
description: Analiza datos mediante el servidor MCP de base de datos
model: sonnet
mcpServers:
- db
---
Utiliza el servidor de base de datos
para responder consultas analíticas.
No modifiques datos.
Puedes entregar el servidor MCP únicamente al subagente especializado que realmente necesita utilizarlo.
Claude Code Subagents →Combinar Skills y MCP
MCP aporta las herramientas. Skills pueden explicar cómo utilizarlas.
Skill de análisis de ventas
Un Skill podría definir métricas, reglas de negocio y formato del informe, mientras el servidor MCP proporciona acceso a PostgreSQL.
MCP:
capacidad técnica.
Skill:
procedimiento
y conocimiento.
MCP amplía lo que Claude puede hacer
Por eso cada servidor debe considerarse una extensión de la superficie de acceso de Claude Code.
Instala servidores únicamente de fuentes en las que confíes.
Utiliza credenciales con mínimo privilegio.
Prefiere usuarios de base de datos read-only para análisis.
No almacenes API keys directamente en repositorios.
Revisa
.mcp.json
antes de aprobar
un proyecto clonado.
Limita OAuth scopes a las capacidades necesarias.
Evita conectar sistemas productivos con permisos de escritura sin controles.
Un servidor MCP puede introducir contenido externo
Esto es importante cuando el servidor obtiene información de Internet, documentos, issues o mensajes controlados por terceros.
Un issue, página web o documento puede contener texto diseñado para manipular el comportamiento de un agente.
Anthropic recomienda confiar únicamente en servidores MCP y fuentes cuyo comportamiento comprendas.
Limitar los permisos solicitados por OAuth
{
"mcpServers": {
"slack": {
"type": "http",
"url": "https://mcp.slack.com/mcp",
"oauth": {
"scopes": "channels:read chat:write search:read"
}
}
}
}
Si solo necesitas leer información, no solicites permisos administrativos o de escritura innecesarios.
Tokens dinámicos con headersHelper
Para SSO, Kerberos o credenciales de corta duración, Claude Code puede generar headers al momento de conectarse.
{
"mcpServers": {
"internal-api": {
"type": "http",
"url": "https://mcp.internal.example.com",
"headersHelper": "/opt/bin/get-mcp-auth-headers.sh"
}
}
}
Servidor MCP no conecta
Ejecuta
claude mcp list
y revisa
el estado.
Ejecuta
claude mcp get nombre
para obtener
detalles.
Si necesita OAuth,
utiliza
/mcp
o
claude mcp login.
Comprueba URL, transport y credenciales.
Revisa variables de entorno ausentes.
Elimina espacios ocultos al principio o final de tokens y URLs.
Si es stdio, prueba manualmente el comando que inicia el servidor.
Si es
.mcp.json,
comprueba
que el servidor
haya sido aprobado.
Una URL dentro de .mcp.json necesita type
{
"url": "https://mcp.example.com/mcp"
}
{
"type": "http",
"url": "https://mcp.example.com/mcp"
}
Añade siempre el transporte cuando configures manualmente una URL.
Claude Code también puede funcionar como servidor MCP
Otras aplicaciones compatibles con MCP pueden utilizar las herramientas de Claude Code.
claude mcp serve
El comando queda esperando comunicación mediante stdin y stdout.
Antes de conectar un servidor MCP
Verifica quién mantiene el servidor.
Revisa qué herramientas expone.
Comprueba qué datos podrá leer.
Comprueba qué acciones podrá ejecutar.
Utiliza credenciales limitadas.
Evita secretos dentro de archivos versionados.
Prueba primero en desarrollo o staging.
Confirma
la conexión
mediante
/mcp.
Cuándo merece la pena utilizar MCP
Documentación oficial de MCP para Claude Code
MCP cambia rápidamente, especialmente en transportes, OAuth, tool search y seguridad.
Claude Code MCP
Servidores, HTTP, stdio, OAuth, scopes, recursos y Tool Search.
Ver documentación oficial →Model Context Protocol
Especificación y documentación del estándar MCP.
Ver Model Context Protocol →Subagents
Cómo proporcionar servidores MCP únicamente a agentes especializados.
Ver Subagents →Guías relacionadas
FAQ sobre Claude Code MCP
Respuestas sobre servidores, transportes, scopes, autenticación, recursos y seguridad.
Model Context Protocol es un estándar abierto que permite conectar Claude Code con herramientas, APIs, bases de datos y fuentes externas de información.
Puedes utilizar
claude mcp add.
Para un servidor
remoto HTTP,
por ejemplo:
claude mcp add --transport http nombre URL.
HTTP es actualmente la opción recomendada para servidores remotos. Para procesos que se ejecutan localmente, normalmente se utiliza stdio. SSE está deprecado cuando existe una alternativa HTTP.
Es el archivo utilizado para almacenar servidores MCP con scope de proyecto. Puede versionarse para que todo el equipo utilice la misma configuración.
Local se aplica únicamente al proyecto y permanece privado para tu usuario. Project se guarda en .mcp.json y puede compartirse mediante Git. User está disponible para todos tus proyectos en esa máquina.
Sí.
Claude Code
soporta OAuth 2.0
para servidores
MCP remotos.
Puedes autenticarte
desde
/mcp
o mediante
claude mcp login nombre.
Sí. GitHub dispone de integración MCP que permite consultar issues, pull requests y otras operaciones, dependiendo de los permisos otorgados.
Sí. Puedes utilizar un servidor MCP que exponga PostgreSQL, MySQL u otra base de datos. Para análisis es recomendable utilizar credenciales de solo lectura.
Son contenidos expuestos por un servidor MCP. Claude Code puede mostrarlos junto a archivos cuando escribes @ y permite referenciarlos directamente desde el prompt.
Depende del servidor y de los permisos otorgados. Debes utilizar servidores confiables, limitar credenciales, revisar configuraciones compartidas y considerar riesgos como prompt injection desde contenido externo.
Extiende Claude Code con Plugins
Ya sabes cómo conectar Claude Code con herramientas externas mediante MCP. El siguiente paso es aprender a empaquetar Skills, Subagents, Hooks y servidores MCP dentro de Plugins reutilizables y distribuibles.
Claude Code Plugins →