Inicio/Servidores MCP

Servidores MCP

El Model Context Protocol (MCP) permite conectar Claude Code con herramientas externas: bases de datos, APIs, navegadores, servicios en la nube y mucho más.

¿Qué es MCP?

MCP (Model Context Protocol) es un estándar abierto creado por Anthropic que define cómo los modelos de IA se comunican con herramientas externas. Es como un "USB para IA": un conector universal que cualquier herramienta puede implementar.

Con MCP, Claude Code puede acceder a recursos que van más allá de tu sistema de archivos local: bases de datos PostgreSQL, APIs REST, el navegador web, Slack, GitHub, Jira, y cualquier servicio que tenga un servidor MCP.

MCP en Claude Code 2026: Claude Code ahora soporta MCP nativo sin necesidad de configuración manual. Muchos servidores se activan automáticamente según el contexto del proyecto.

Cómo funciona

Un servidor MCP es un proceso (local o remoto) que expone:

  • Herramientas (tools): funciones que Claude puede llamar (ej: ejecutar SQL, buscar en Slack).
  • Recursos (resources): datos que Claude puede leer (ej: esquema de la DB, documentación).
  • Prompts: instrucciones especializadas para tareas concretas.

Añadir un servidor MCP

Los servidores MCP se configuran en .claude/settings.json:

{
  "mcpServers": {
    "postgres": {
      "command": "npx",
      "args": ["-y", "@modelcontextprotocol/server-postgres",
               "postgresql://localhost/midb"],
      "env": {}
    },
    "github": {
      "command": "npx",
      "args": ["-y", "@modelcontextprotocol/server-github"],
      "env": {
        "GITHUB_PERSONAL_ACCESS_TOKEN": "ghp_xxxxxxxx"
      }
    }
  }
}

O añade servidores directamente desde la CLI:

claude mcp add <nombre> -- <comando> [args...]

# Ejemplo: servidor de PostgreSQL
claude mcp add postgres -- npx -y @modelcontextprotocol/server-postgres \
  "postgresql://localhost/midb"

# Ejemplo: servidor de filesystem (solo lectura)
claude mcp add files -- npx -y @modelcontextprotocol/server-filesystem \
  /ruta/al/directorio

Servidores MCP populares

ServidorPaquete npmPara qué sirve
PostgreSQL@modelcontextprotocol/server-postgresConsultas SQL directas a tu base de datos
SQLite@modelcontextprotocol/server-sqliteBase de datos SQLite local
GitHub@modelcontextprotocol/server-githubIssues, PRs, repos de GitHub
Brave Search@modelcontextprotocol/server-brave-searchBúsquedas web en tiempo real
Puppeteer@modelcontextprotocol/server-puppeteerControl de navegador web
Slack@modelcontextprotocol/server-slackLeer/enviar mensajes de Slack
Google Drive@modelcontextprotocol/server-gdriveAcceso a archivos de Google Drive
Filesystem@modelcontextprotocol/server-filesystemAcceso controlado al sistema de archivos
Memory@modelcontextprotocol/server-memoryMemoria persistente entre sesiones
Sentry@modelcontextprotocol/server-sentryErrores y performance de Sentry

Gestionar servidores MCP

# Listar servidores configurados
claude mcp list

# Ver detalles de un servidor
claude mcp get postgres

# Eliminar un servidor
claude mcp remove postgres

# Dentro de Claude Code, ver servidores activos:
/mcp

Ámbito de los servidores MCP

Los servidores MCP tienen tres ámbitos posibles:

  • Local (por defecto): disponible solo en el proyecto actual. Se guarda en .claude/settings.json.
  • Usuario: disponible en todos tus proyectos. Se guarda en ~/.claude/settings.json. Añade --scope user al comando.
  • Proyecto: compartido con el equipo via control de versiones.
# Añadir servidor a nivel de usuario (global)
claude mcp add --scope user github -- npx -y @modelcontextprotocol/server-github

Crear tu propio servidor MCP

Cualquier script que implemente el protocolo MCP puede ser un servidor. Anthropic proporciona SDKs para Python y TypeScript:

# TypeScript
npm install @modelcontextprotocol/sdk

# Python
pip install mcp

Ejemplo mínimo en TypeScript

import { Server } from "@modelcontextprotocol/sdk/server/index.js";
import { StdioServerTransport } from "@modelcontextprotocol/sdk/server/stdio.js";

const server = new Server({ name: "mi-servidor", version: "1.0.0" }, {
  capabilities: { tools: {} }
});

server.setRequestHandler("tools/list", async () => ({
  tools: [{
    name: "saludar",
    description: "Saluda al usuario",
    inputSchema: {
      type: "object",
      properties: { nombre: { type: "string" } },
      required: ["nombre"]
    }
  }]
}));

server.setRequestHandler("tools/call", async (request) => {
  if (request.params.name === "saludar") {
    return { content: [{ type: "text", text: `Hola, ${request.params.arguments.nombre}!` }] };
  }
});

const transport = new StdioServerTransport();
await server.connect(transport);

MCP en la nube vs local

Los servidores MCP pueden ejecutarse localmente (como proceso en tu máquina) o en la nube (conectados via HTTP/SSE). Claude Code soporta ambos:

# Servidor local (stdio)
{
  "command": "node",
  "args": ["./mi-servidor-mcp.js"]
}

# Servidor remoto (HTTP/SSE)
{
  "url": "https://mi-servidor.com/mcp",
  "headers": { "Authorization": "Bearer TOKEN" }
}