Configuración de servidores MCP en Claude Code y casos de uso prácticos
Guía completa sobre las capacidades de servidores MCP en Claude Code. Aprende a conectar herramientas externas, configurar servidores y explora ejemplos de integración reales.
¿Qué es MCP?
MCP (Model Context Protocol) es un protocolo abierto para conectar asistentes de IA con herramientas externas y fuentes de datos. Claude Code actúa como cliente MCP, lo que le permite interactuar con bases de datos, APIs y diversos servicios a través de servidores MCP.
Configuración de servidores MCP
La configuración de servidores MCP se coloca en .claude/settings.json o ~/.claude/settings.json:
{
"mcpServers": {
"server-name": {
"command": "executable-command",
"args": ["arg1", "arg2"],
"env": {
"ENV_VAR": "value"
}
}
}
}
También puedes agregar servidores mediante la CLI:
claude mcp add server-name -- command arg1 arg2
Ejemplo 1: Integración con bases de datos
Configura un servidor MCP para ejecutar consultas directamente contra PostgreSQL:
claude mcp add postgres-server -- npx -y @modelcontextprotocol/server-postgres postgresql://user:pass@localhost:5432/mydb
Una vez configurado, puedes consultar tu base de datos desde una sesión de Claude Code:
> Cuenta los nuevos registros de usuarios de la última semana en la tabla users
> Muestra la tendencia diaria en formato de tabla
Claude Code genera y ejecuta automáticamente las consultas SQL, y luego formatea los resultados para ti.
Ejemplo 2: Integración con GitHub
El servidor MCP de GitHub te permite gestionar issues y PRs directamente desde Claude Code:
claude mcp add github -- npx -y @modelcontextprotocol/server-github
Configura el token mediante variables de entorno:
{
"mcpServers": {
"github": {
"command": "npx",
"args": ["-y", "@modelcontextprotocol/server-github"],
"env": {
"GITHUB_PERSONAL_ACCESS_TOKEN": "ghp_xxxxxxxxxxxx"
}
}
}
}
Esto es lo que puedes hacer:
> Lista todos los issues abiertos del repositorio
> Revisa el Issue #42, crea una rama de corrección e implementa la solución
> Una vez terminada la corrección, crea un PR
Ejemplo 3: Extensión del sistema de archivos
Un servidor MCP que proporciona acceso seguro a un directorio específico:
claude mcp add filesystem -- npx -y @modelcontextprotocol/server-filesystem /path/to/allowed/directory
Ejemplo 4: Web scraping
El servidor MCP de Puppeteer permite obtener páginas web e interactuar con ellas:
claude mcp add puppeteer -- npx -y @modelcontextprotocol/server-puppeteer
> Lee la documentación de la API en https://example.com/api/docs
> y crea una librería cliente para esa API
Ejemplo 5: Integración con Slack
El servidor MCP de Slack te permite leer mensajes de canales y enviar notificaciones:
{
"mcpServers": {
"slack": {
"command": "npx",
"args": ["-y", "@modelcontextprotocol/server-slack"],
"env": {
"SLACK_BOT_TOKEN": "xoxb-xxxxxxxxxxxx"
}
}
}
}
> Revisa los últimos mensajes en #dev
> Publica la actualización de progreso de hoy en #daily-report
Gestión de servidores MCP
Listar servidores registrados
claude mcp list
Eliminar un servidor
claude mcp remove server-name
Configurar el alcance
Puedes especificar el alcance de configuración para los servidores MCP:
# Local al proyecto (por defecto)
claude mcp add --scope project db-server -- command
# Global del usuario
claude mcp add --scope user db-server -- command
Crear un servidor MCP personalizado
También puedes crear herramientas específicas para tu proyecto como servidores MCP personalizados:
// my-mcp-server.ts
import { McpServer } from "@modelcontextprotocol/sdk/server/mcp.js";
import { StdioServerTransport } from "@modelcontextprotocol/sdk/server/stdio.js";
import { z } from "zod";
const server = new McpServer({
name: "my-project-tools",
version: "1.0.0",
});
// Definir una herramienta personalizada
server.tool(
"deploy-staging",
"Desplegar en el entorno de staging",
{ branch: z.string().describe("Nombre de la rama a desplegar") },
async ({ branch }) => {
// Lógica de despliegue
return {
content: [{ type: "text", text: `Se desplegó ${branch} en staging` }],
};
}
);
const transport = new StdioServerTransport();
await server.connect(transport);
Regístralo así:
claude mcp add my-tools -- npx tsx my-mcp-server.ts
Consideraciones de seguridad
1. Gestión de credenciales
Los tokens y contraseñas en las configuraciones de servidores MCP deben gestionarse mediante variables de entorno o archivos .env. Nunca los incluyas en commits de Git.
2. Limitar el alcance de acceso
Sigue el principio de mínimo privilegio: por ejemplo, usa un usuario de base de datos de solo lectura para tu servidor MCP de base de datos.
3. Usar configuraciones locales
Almacena las configuraciones que contienen credenciales en .claude/settings.local.json y agrégalo a .gitignore.
Conclusión
Los servidores MCP te permiten extender las capacidades de Claude Code a todo el ecosistema de tu proyecto. Desde consultas a bases de datos hasta flujos de trabajo de GitHub y notificaciones de Slack, puedes usar Claude Code como el centro de tu flujo de trabajo de desarrollo. Comienza con los servidores MCP oficiales y luego crea los personalizados según los necesites.