MCP (Model Context Protocol): Guía Completa para Desarrolladores

Qué es MCP, cómo funciona, los mejores MCP servers y cómo crear el tuyo. Guía técnica completa del Model Context Protocol de Anthropic en español.

MCP (Model Context Protocol): Guía Completa para Desarrolladores

MCP (Model Context Protocol): Guía Completa para Desarrolladores (2026)

El Model Context Protocol (MCP) es el estándar abierto de Anthropic para conectar modelos de IA con fuentes de datos y herramientas externas. Si Claude Code es el agente que ejecuta, MCP es el sistema de enchufes que le permite conectarse a cualquier servicio: bases de datos, APIs, sistemas de archivos, herramientas de monitoreo.

La analogía más usada: MCP es el «USB-C para herramientas de IA». Un conector estándar, universal, que funciona con cualquier herramienta y cualquier modelo que lo adopte.


TL;DR

MCP es el protocolo abierto de Anthropic para conectar IAs con herramientas externas (bases de datos, GitHub, Slack…). Es como un USB-C universal para agentes de IA. Añade servidores con claude mcp add y Claude Code los usa automáticamente.

Qué es MCP y por qué importa

Antes de MCP, cada integración entre un modelo de IA y una herramienta externa requería código personalizado. Querías que Claude leyera tu base de datos PostgreSQL: escribías código específico. Querías acceso a GitHub: más código específico. No había estándar.

MCP resuelve esto con un protocolo común:

  • Servidores MCP: exponen herramientas, recursos y prompts de un servicio (PostgreSQL, GitHub, Slack, etc.)
  • Clientes MCP: aplicaciones que consumen esos servidores (Claude Code, Claude Desktop, Cursor)
  • Transporte: el canal de comunicación entre cliente y servidor (stdio, HTTP/SSE)

Anthropic lanzó MCP en noviembre de 2024 como protocolo abierto, y en 2026 ya tiene cientos de servidores mantenidos por la comunidad y empresas como Cloudflare, Stripe, GitHub y Atlassian.


Arquitectura MCP: cómo funciona por dentro

Los tres conceptos clave

Tools (herramientas): acciones que el modelo puede ejecutar. Ejemplos: ejecutar una query SQL, crear un issue en GitHub, enviar un mensaje de Slack. Son el equivalente a las funciones en las APIs tradicionales.

Resources (recursos): datos a los que el modelo puede acceder como contexto. Ejemplos: un archivo de configuración, el esquema de la base de datos, la documentación de una API. No ejecutan código — proveen información.

Prompts: plantillas de prompts predefinidas que el servidor expone para tareas comunes. Permiten que el servidor guíe cómo el modelo debe interactuar con el servicio.

Flujo de comunicación

Usuario → Claude Code → MCP Client → MCP Server → Servicio externo
                                         ↑
                              (PostgreSQL, GitHub, Slack...)

Cuando le dices a Claude Code «consulta la tabla users y dame los últimos 10 registros», el agente detecta que tiene un MCP server de PostgreSQL configurado, llama a la herramienta query con el SQL correspondiente, recibe el resultado y lo procesa como parte de la conversación.


Cómo usar MCP servers con Claude Code

Añadir un servidor MCP

# Añadir server oficial de GitHub (user scope — disponible en todos los proyectos)
claude mcp add github-server -s user -- npx @modelcontextprotocol/server-github

# Añadir server de PostgreSQL (project scope — solo este proyecto)
claude mcp add postgres -s project -- \
  node /path/to/postgres-mcp \
  --connection-string "postgresql://user:pass@localhost/mydb"

# Añadir server de Filesystem (acceso a un directorio específico)
claude mcp add files -- npx @modelcontextprotocol/server-filesystem /path/to/directory

Ver servidores configurados

claude mcp list

Usar MCP en una sesión

Una vez configurado, Claude Code usa los MCP servers automáticamente cuando la tarea lo requiere. No necesitas hacer nada especial — el agente detecta qué herramientas están disponibles y las usa cuando son relevantes.

claude
> Consulta la base de datos y dime cuántos usuarios se registraron esta semana
> Crea un issue en GitHub con el resumen de los bugs que encontraste
> Revisa los últimos logs de error en el servidor

Los mejores MCP servers en 2026

Servidores oficiales de Anthropic

ServidorFunciónInstalación
filesystemAcceso a archivos localesnpx @modelcontextprotocol/server-filesystem
githubRepos, issues, PRs, commitsnpx @modelcontextprotocol/server-github
postgresQueries a PostgreSQLnpx @modelcontextprotocol/server-postgres
brave-searchBúsqueda web vía Bravenpx @modelcontextprotocol/server-brave-search
fetchFetch de URLsnpx @modelcontextprotocol/server-fetch
memoryMemoria persistente entre sesionesnpx @modelcontextprotocol/server-memory

Servidores de terceros destacados

ServidorEmpresaFunción
Cloudflare MCPCloudflareGestión de Workers, KV, D1, R2
Stripe MCPStripePagos, clientes, productos
Linear MCPLinearGestión de issues y proyectos
Slack MCPSlackMensajes, canales, usuarios
Sentry MCPSentryErrores, eventos, releases
Vercel MCPVercelDeployments, proyectos, dominios

MCP vs function calling vs plugins

ConceptoDescripciónDiferencia con MCP
Function callingEl modelo invoca funciones definidas en la appAcoplado a la app; no reutilizable
ChatGPT pluginsExtensiones propietarias de OpenAISolo funciona con ChatGPT; no es estándar
MCPProtocolo abierto, cliente-servidorFunciona con cualquier cliente MCP; reutilizable

La ventaja clave de MCP es la portabilidad: un servidor MCP de PostgreSQL funciona con Claude Code, Claude Desktop, Cursor y cualquier otro cliente que adopte el protocolo.


Cómo crear tu propio MCP server

Crear un MCP server es más simple de lo que parece. El SDK de TypeScript/Python abstrae todo el protocolo:

npm install @modelcontextprotocol/sdk
// mi-mcp-server.ts
import { Server } from "@modelcontextprotocol/sdk/server/index.js";
import { StdioServerTransport } from "@modelcontextprotocol/sdk/server/stdio.js";
import { ListToolsRequestSchema, CallToolRequestSchema } from "@modelcontextprotocol/sdk/types.js";

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

// Definir herramientas disponibles
server.setRequestHandler(ListToolsRequestSchema, async () => ({
  tools: [{
    name: "obtener_tiempo",
    description: "Obtiene el tiempo actual en una ciudad",
    inputSchema: {
      type: "object",
      properties: {
        ciudad: { type: "string", description: "Nombre de la ciudad" }
      },
      required: ["ciudad"]
    }
  }]
}));

// Implementar las herramientas
server.setRequestHandler(CallToolRequestSchema, async (request) => {
  if (request.params.name === "obtener_tiempo") {
    const ciudad = request.params.arguments?.ciudad;
    // Tu lógica aquí — llamar API del tiempo, etc.
    return {
      content: [{ type: "text", text: `El tiempo en ${ciudad}: 22°C, soleado` }]
    };
  }
  throw new Error("Tool not found");
});

// Iniciar el servidor
const transport = new StdioServerTransport();
await server.connect(transport);

Tutorial completo: Cómo crear un MCP server desde cero


Preguntas frecuentes sobre MCP

¿Qué es MCP exactamente?

Model Context Protocol es un protocolo abierto de comunicación entre modelos de IA y servicios externos. Define un formato estándar para que los modelos puedan llamar herramientas, acceder a recursos y recibir prompts de cualquier servicio compatible.

¿MCP es solo para Claude?

No. Aunque Anthropic lo creó, MCP es un protocolo abierto. En 2026, ya lo soportan Claude Code, Claude Desktop, Cursor, Zed, y varios otros clientes. Cualquier aplicación puede implementar el protocolo cliente.

¿Es gratis usar MCP?

El protocolo es gratuito y open source. Los servidores MCP oficiales de Anthropic son gratuitos. Algunos servidores de terceros pueden requerir sus propias API keys o tener costes asociados al servicio que integran.

¿MCP funciona con modelos locales?

Sí. Herramientas como Ollama y LM Studio están añadiendo soporte MCP, lo que permite usar servidores MCP con modelos ejecutados localmente.


Guía completa de Claude Code

Tutorial: Crear tu primer MCP server

DevAI — newsletter semanal para desarrolladores sobre MCP, Claude Code y herramientas de IA. Suscríbete gratis.