Blog
Tutorials·10 min read

Dominar Claude Code Parte 7: Servidores MCP

Conecta Claude a bases de datos, APIs y servicios externos con el Model Context Protocol. Aprende a configurar servidores MCP, gestionarlos con comandos CLI y ampliar las capacidades de Claude más allá de tu sistema de archivos.

Jo Vinkenroye·January 15, 2026
Dominar Claude Code Parte 7: Servidores MCP

Estás depurando un problema y necesitas consultar la base de datos. Así que abres una terminal, te conectas a PostgreSQL, escribes una consulta, copias los resultados, los pegas en Claude, explicas el esquema... ¿No sería más fácil si Claude pudiera consultar la base de datos directamente?

Left exit 12 off ramp meme - choosing MCP over copy-paste workflow
Left exit 12 off ramp meme - choosing MCP over copy-paste workflow

Eso es exactamente lo que permiten los servidores MCP. Son puentes que conectan a Claude con servicios externos—bases de datos, GitHub, plataformas en la nube, fuentes de documentación—para que Claude pueda trabajar con todo tu ecosistema de desarrollo, no solo con tus archivos locales.

¿Qué es MCP?

Model Context Protocol (MCP) es un estándar abierto para integraciones de IA con herramientas. Piensa en ello como un adaptador universal que permite a Claude conectarse a cualquier servicio que hable el protocolo.

Claude Code ←→ MCP Server ←→ External Service
(Handles auth,
data formatting,
rate limiting)

El servidor MCP se encarga de toda la complejidad—autenticación, protocolos de API, transformación de datos—para que Claude pueda interactuar de forma natural. Pides "muéstrame los usuarios que se registraron la semana pasada" y Claude consulta tu base de datos directamente.

Por qué es importante:

  • Sin flujos de copiar y pegar — Claude accede a los datos en su origen
  • Información en tiempo real — Siempre actual, no contexto desactualizado
  • Seguro por diseño — Los servidores gestionan las credenciales, no Claude
  • Estándar abierto — Funciona con distintas herramientas, no solo Claude

Sobre la base de lo aprendido: Mientras que los comandos esenciales de la Parte 1 controlan el comportamiento de Claude dentro de tu proyecto local, los servidores MCP amplían lo que Claude puede acceder más allá de tu sistema de archivos—bases de datos, APIs, servicios externos y más.

La seguridad primero

Los servidores MCP ejecutan código en tu sistema. Antes de usar cualquier servidor:

  1. Revisa el código fuente — Comprueba qué permisos necesita
  2. Usa solo lectura cuando sea posible — Evita modificaciones accidentales
  3. Limita el acceso — Concede acceso a rutas/tablas específicas
  4. Confía en tus fuentes — Usa solo servidores bien mantenidos
  5. Protege las credenciales — Usa variables de entorno, nunca las escribas directamente en el código

Los servidores MCP de terceros no están verificados por Anthropic. Los servidores que obtienen contenido externo pueden exponerte a inyección de prompts. Ten cuidado.

Ubicaciones de configuración

Los servidores MCP se pueden configurar en diferentes ámbitos:

Ámbito de proyecto (recomendado para equipos):

.mcp.json # Bajo control de versiones, compartido con el equipo
.claude/settings.local.json # Anulaciones locales, en gitignore

Ámbito de usuario (herramientas personales):

~/.claude/settings.json # Todos tus proyectos
~/.claude/settings.local.json # Anulaciones personales

La configuración a nivel de proyecto (.mcp.json) es la opción más limpia—inclúyela en git y todos en tu equipo tendrán la misma configuración.

Estructura de configuración

{
"mcpServers": {
"server-name": {
"command": "npx",
"args": ["-y", "@package/mcp-server"],
"env": {
"API_KEY": "${MY_API_KEY}"
}
}
}
}

command — El ejecutable a correr (normalmente npx para servidores basados en Node)

args — Argumentos del comando, típicamente el nombre del paquete

env — Variables de entorno, usando la sintaxis ${VAR} para secretos

El comando /mcp

Gestiona los servidores MCP desde dentro de Claude Code:

# Check server status
/mcp
# Output:
# MCP Server Status
# • github: connected
# • postgres: connected
# • context7: failed (connection timeout)

Desde la terminal, usa comandos CLI:

# Add a server
Claude mcp add github --scope user
# List configured servers
Claude mcp list
# Inspect a server's config
Claude mcp get github
# Remove a server
Claude mcp remove github

Opciones de ámbito:

  • --scope local — Solo sesión, temporal
  • --scope user — Persistente en todos los proyectos
  • --scope project — Guardado en .mcp.json para compartir con el equipo

Servidores MCP esenciales

GitHub

Integración completa con repositorios—PRs, issues, revisión de código, releases.

{
"mcpServers": {
"github": {
"command": "npx",
"args": ["-y", "@modelcontextprotocol/server-github"],
"env": {
"GITHUB_PERSONAL_ACCESS_TOKEN": "${GITHUB_TOKEN}"
}
}
}
}

Lo que Claude puede hacer:

  • Crear y revisar pull requests
  • Gestionar issues y etiquetas
  • Buscar código en repositorios
  • Disparar workflows

Ejemplo:

"Revisa los PRs abiertos en nuestro repo y resume cuáles están listos para merge"

PostgreSQL

Acceso directo a la base de datos con conocimiento del esquema.

{
"mcpServers": {
"postgres": {
"command": "npx",
"args": ["-y", "@modelcontextprotocol/server-postgres"],
"env": {
"DATABASE_URL": "${DATABASE_URL}",
"READ_ONLY": "true"
}
}
}
}

Lo que Claude puede hacer:

  • Consultar tablas con lenguaje natural
  • Entender relaciones del esquema
  • Generar migraciones
  • Depurar problemas de datos

Ejemplo:

"Encuentra todos los usuarios que se registraron en enero pero no han hecho ninguna compra"

Context7

Documentación de librerías en tiempo real y específica por versión.

{
"mcpServers": {
"context7": {
"command": "npx",
"args": ["-y", "@context7/mcp-server"]
}
}
}

Lo que Claude puede hacer:

  • Obtener la documentación actual de cualquier paquete npm
  • Obtener detalles de API específicos por versión
  • Evitar APIs inventadas
  • Mantenerse al día con cambios en librerías

Ejemplo:

"usa context7 para buscar la API correcta del hook useInfiniteQuery de React Query"

Esto es especialmente valioso porque los datos de entrenamiento de Claude tienen una fecha de corte—Context7 le da acceso a documentación publicada después del entrenamiento.

Surprised Pikachu meme - Claude confidently using deprecated API from 2023
Surprised Pikachu meme - Claude confidently using deprecated API from 2023

Filesystem

Accede a archivos más allá de tu proyecto actual.

{
"mcpServers": {
"filesystem": {
"command": "npx",
"args": ["-y", "@modelcontextprotocol/server-filesystem", "/Users/me/projects"]
}
}
}

Lo que Claude puede hacer:

  • Leer archivos de otros directorios
  • Acceder a configuración compartida
  • Trabajar en múltiples proyectos

Ejemplo:

"Revisa mi repo de dotfiles para ver cómo configuré ESLint"

Supabase

Integración completa con la plataforma Supabase.

{
"mcpServers": {
"supabase": {
"command": "npx",
"args": ["-y", "@supabase/mcp-server"],
"env": {
"SUPABASE_URL": "${SUPABASE_URL}",
"SUPABASE_SERVICE_KEY": "${SUPABASE_SERVICE_KEY}"
}
}
}
}

Lo que Claude puede hacer:

  • Consultar tablas de Supabase
  • Gestionar usuarios de autenticación
  • Trabajar con buckets de almacenamiento
  • Generar políticas RLS

Web Fetch

Obtén y procesa contenido web.

{
"mcpServers": {
"fetch": {
"command": "npx",
"args": ["-y", "@modelcontextprotocol/server-fetch"]
}
}
}

Lo que Claude puede hacer:

  • Obtener páginas web y APIs
  • Procesar sitios de documentación
  • Verificar el estado de servicios
  • Investigar información actual

Playwright

Automatización del navegador para testing e interacción web.

{
"mcpServers": {
"playwright": {
"command": "npx",
"args": ["-y", "@anthropic/mcp-server-playwright"]
}
}
}

Lo que Claude puede hacer:

  • Navegar páginas web e interactuar con elementos
  • Tomar capturas de pantalla y capturar el estado de la página
  • Rellenar formularios y hacer clic en botones
  • Ejecutar escenarios de prueba end-to-end
  • Depurar problemas de UI viendo lo que hay en pantalla

Ejemplo:

"Usa Playwright para navegar a nuestro sitio de staging y comprobar si el formulario de login funciona"

Categorías de servidores

Bases de datos

PostgreSQL@modelcontextprotocol/server-postgres — Acceso SQL completo

MySQL@modelcontextprotocol/server-mysql — Integración con MySQL

SQLite@modelcontextprotocol/server-sqlite — Bases de datos locales

MongoDB — Servidores de la comunidad disponibles — Bases de datos de documentos

Cloud y DevOps

GitHub@modelcontextprotocol/server-github — API completa de GitHub

GitLab — Servidores de la comunidad — Integración con GitLab

Cloudflare@cloudflare/mcp-server-cloudflare — Workers, KV, D1, R2

AWS — Servidores de la comunidad — S3, Lambda, etc.

Testing y automatización

Playwright@anthropic/mcp-server-playwright — Automatización de navegador y pruebas E2E

Documentación e investigación

Context7@context7/mcp-server — Documentación de librerías en tiempo real

Perplexity — Servidores de la comunidad — Búsqueda potenciada por IA

Fetch@modelcontextprotocol/server-fetch — Contenido web

Varios servidores juntos

La mayoría de los proyectos se benefician de varios servidores MCP trabajando juntos:

{
"mcpServers": {
"github": {
"command": "npx",
"args": ["-y", "@modelcontextprotocol/server-github"],
"env": {
"GITHUB_PERSONAL_ACCESS_TOKEN": "${GITHUB_TOKEN}"
}
},
"postgres": {
"command": "npx",
"args": ["-y", "@modelcontextprotocol/server-postgres"],
"env": {
"DATABASE_URL": "${DATABASE_URL}",
"READ_ONLY": "true"
}
},
"context7": {
"command": "npx",
"args": ["-y", "@context7/mcp-server"]
}
}
}

Claude usa automáticamente el servidor adecuado según tu solicitud. Si preguntas sobre el esquema de la base de datos, usa PostgreSQL. Si preguntas sobre un PR, usa GitHub.

Flujos de trabajo prácticos

Desarrollo orientado a base de datos

You: "Show me the schema for the orders table"
Claude: [Queries via postgres MCP]
The orders table has:
- id (uuid, primary key)
- user_id (uuid, foreign key → users)
- total_amount (decimal)
- status (enum: pending, paid, shipped, delivered)
- created_at (timestamp)
You: "Find orders over $500 that are still pending"
Claude: [Runs query]
Found 23 orders matching criteria. The oldest is from 3 days ago...

Automatización entre servicios

You: "Create a GitHub issue for the bug we discussed, assign it to me"
Claude: [Uses github MCP]
Created issue #234: "Fix race condition in order processing"
- Added label: bug, priority-high
- Assigned to: @yourusername
- Linked to recent commits mentioning the orders table

Programación con documentación actualizada

You: "Use context7 to check the correct way to handle optimistic updates in TanStack Query v5"
Claude: [Fetches current docs via context7]
In TanStack Query v5, optimistic updates use the onMutate callback...
[Provides accurate, version-specific guidance]

Solución de problemas

El servidor no conecta

  1. Verifica el estado: Ejecuta /mcp para ver el estado de la conexión
  2. Activa el modo depuración: claude --mcp-debug para logs detallados
  3. Verifica las credenciales: Asegúrate de que las variables de entorno estén configuradas
  4. Prueba manualmente: Ejecuta el comando del servidor directamente en la terminal

Problemas específicos de Windows

En Windows nativo (no WSL), npx requiere un wrapper:

{
"command": "cmd",
"args": ["/c", "npx", "-y", "@modelcontextprotocol/server-github"]
}

Sin cmd /c, obtendrás errores de "Connection closed".

Límites de tokens

Las salidas de MCP tienen límites para prevenir desbordamiento de contexto:

  • Umbral de advertencia: 10.000 tokens
  • Máximo por defecto: 25.000 tokens

Ajústalo con la variable de entorno MAX_MCP_OUTPUT_TOKENS si es necesario.

El servidor no responde

Algunos servidores necesitan tiempo para inicializarse. Si un servidor muestra "failed" inmediatamente después de arrancar, espera un momento y ejecuta /mcp de nuevo.

Mejores prácticas

1. Principio de mínimo privilegio

Solicita solo los permisos necesarios:

{
"env": {
"READ_ONLY": "true",
"ALLOWED_PATHS": "/specific/directory"
}
}

2. Variables de entorno para secretos

Nunca escribas tokens directamente en el código:

{
"env": {
"GITHUB_TOKEN": "${GITHUB_TOKEN}"
}
}

Configura las variables en tu perfil de shell o archivo .env.

3. Ámbito de proyecto vs usuario

  • Ámbito de proyecto (.mcp.json): Conexiones a bases de datos, herramientas específicas del proyecto
  • Ámbito de usuario (~/.claude/settings.json): GitHub, utilidades personales

4. Revisa el código del servidor

Antes de instalar cualquier servidor MCP, verifica:

  • Qué comandos puede ejecutar
  • Qué acceso a red necesita
  • Quién lo mantiene
  • Actividad reciente e issues

Encontrar servidores MCP

Servidores oficiales:

Directorios de la comunidad:

Busca en GitHub:

  • Topic: mcp-server
  • Busca: "@modelcontextprotocol" en package.json

Qué viene después

Los servidores MCP amplían el alcance de Claude a servicios externos. Combinados con todo lo que hemos cubierto—comandos, skills y subagentes—ahora tienes un potente conjunto de herramientas para el desarrollo asistido por IA.

En la Parte 8: Flujos de trabajo en producción, uniremos todas las piezas con patrones del mundo real: integración CI/CD, colaboración en equipo y flujos de trabajo que escalan desde un proyecto personal hasta un sistema en producción.

Quick Reference

Comandos CLI

claude mcp add [name] --scope [user|project|local]

claude mcp list

claude mcp get [name]

claude mcp remove [name]

En sesión/mcp (verificar estado)

Depuraciónclaude --mcp-debug

Ubicaciones de archivos

.mcp.json — Proyecto (bajo control de versiones)

.claude/settings.local.json — Proyecto (en gitignore)

~/.claude/settings.json — Usuario (todos los proyectos)

Stay Updated

Get notified about new posts on automation, productivity tips, indie hacking, and web3.

No spam, ever. Unsubscribe anytime.

Comments

Related Posts