Publicidad
Patrocinador Verificado
Infraestructura Cloud, GPU Clusters y APIs de IA para Desarrolladores
Despliega pipelines de inferencia y trading con latencia ultra baja. Explora planes.
Conocer Más →

Guía Completa del Model Context Protocol (MCP): Conectando LLMs a Herramientas

Por Dr. Erik Vandeberg • Avanzado • 16 min de lectura • Actualizado 2026-11-02

Respuesta rápida

MCP es un protocolo abierto que permite que un asistente de IA use herramientas y datos externos (bases de datos, APIs, archivos) a través de servidores MCP, sin una integración a medida por cada herramienta. En esta guía lo construyes en Python y TypeScript, y la sección final explica cómo se aplica lo mismo en .NET con C#.

Lo Que Dominarás en Este Tutorial

  • Understand the MCP client-server protocol and JSON-RPC 2.0 transport.
  • Build a production MCP server in Python using FastMCP.
  • Expose secure database queries and file readers as agent tools.
  • Configure Cursor, Windsurf, and Claude Desktop to consume custom MCP servers.

Respuesta rápida

El Model Context Protocol (MCP) es un protocolo cliente-servidor que permite a un asistente de IA llamar herramientas, leer datos y usar prompts de servidores que tú defines, en lugar de adivinar. Un servidor solo expone lo que registras. Para construir uno en Python desde cero, sigue la guía paso a paso (en inglés): How to Build an MCP Server in Python from Scratch.

1. ¿Qué es el Model Context Protocol (MCP)?

Model Context Protocol (MCP) is an open standard introduced by Anthropic that standardizes how AI applications connect to external data sources, developer tools, and proprietary environments. Think of MCP as the USB-C port for AI agents.

PYTHON
from mcp.server.fastmcp import FastMCP

# Initialize MCP Server
mcp = FastMCP("PostgresTools")

@mcp.tool()
def run_read_only_query(query: str) -> str:
    """Execute a safe SELECT query against the staging database."""
    if not query.strip().lower().startswith("select"):
        raise ValueError("Only read-only SELECT queries are permitted.")
    # Execute query against database pool
    return "Query executed: 24 records returned."

if __name__ == "__main__":
    mcp.run(transport="stdio")
Nota: MCP servers can run locally over stdio or remotely over Server-Sent Events (SSE).
Publicidad
Patrocinador Verificado
Trading Cuantitativo y 30 Modelos de Negocio con IA
Genera ingresos predecibles con retainers mensuales y bots automatizados.
Ver Blueprints →

Evaluación Rápida: Pon a Prueba tus Conocimientos

1. What communication protocol does MCP utilize under the hood?

Preguntas Frecuentes

Can I use MCP with Cursor and VS Code?
Yes! Both Cursor, Windsurf, and modern VS Code extensions natively support configuring custom MCP servers in their settings JSON.

Profundizando: los servidores MCP en la práctica

Construir el servidor FastMCP de este tutorial es el primer paso; operarlo con seguridad es la práctica que sigue. La guardia de solo lectura del ejemplo (rechazar cualquier consulta que no empiece por SELECT) es el patrón a generalizar en todo lo que expongas: cada herramienta debería hacer una sola cosa, validar sus entradas como si el modelo fuera un llamador no confiable y devolver resultados acotados y con forma. El transporte sigue al despliegue. Un servidor por stdio encaja con herramientas locales que consumen Cursor, Windsurf o Claude Desktop en tu propia máquina, mientras un servidor remoto sobre SSE sirve a todo un equipo, y eleva en consecuencia el listón de la autenticación. Construye según el estándar, y un solo servidor servirá a todos los clientes MCP.

Errores comunes

Preguntas frecuentes

¿Qué estandariza exactamente MCP?

Cómo se conectan las aplicaciones de IA a fuentes de datos y herramientas externas: un protocolo cliente-servidor, presentado por Anthropic, que corre sobre JSON-RPC 2.0 por stdio o HTTP con SSE. La analogía del tutorial es acertada: MCP es el puerto USB-C de los agentes de IA, una sola forma de conector para muchos dispositivos.

¿En qué lenguaje de programación debería construir mi servidor MCP?

El tutorial usa Python con FastMCP, donde un decorador convierte una función ordinaria en una herramienta invocable por un agente. En la práctica, elige el SDK que encaje con los sistemas que expones: el protocolo es independiente del lenguaje, así que el servidor debería vivir cerca de los datos a los que sirve.

¿Mi servidor MCP debería correr en local o en remoto?

En local sobre stdio para herramientas personales de desarrollo: arranca con el cliente y hereda los permisos de tu máquina. En remoto sobre SSE cuando un equipo comparte un mismo servidor, pero añade antes autenticación y validación de entradas, porque un puerto escuchando en la red es una exposición muy distinta de un subproceso local.

MCP en .NET: lo mismo, en C#

Respuesta directa: sí, MCP también funciona en .NET. Existe un SDK oficial para .NET con el que se crean servidores y clientes MCP en C#, y la arquitectura no cambia respecto a lo que esta guía enseña en Python y TypeScript: un host ejecuta al asistente, un cliente MCP mantiene la conexión y un servidor MCP expone herramientas, recursos y prompts.

En la práctica, el trabajo es el mismo: defines qué herramientas expone tu servidor (por ejemplo, consultar una base de datos o leer un archivo), el cliente las descubre y el asistente decide cuándo llamarlas. Lo único que cambia es el SDK: en lugar de FastMCP en Python, usas las clases del SDK de .NET para registrar esas mismas herramientas en C#.

Dos reglas que aplican igual en .NET: el servidor solo expone lo que el desarrollador define explícitamente, y las operaciones sensibles (escrituras o consultas con efectos) deben ir detrás de permisos y validación, no abiertas por defecto.

Para seguir en C# dentro de este sitio: categoría C#, APIs mínimas en .NET y programación con IA.

Ejemplo mínimo en C#, con carácter ilustrativo: muestra la forma de una herramienta, no una configuración completa verificada. Revisa la documentación del SDK de .NET que instales, porque los nombres de tipos y métodos pueden cambiar entre versiones.

// Ejemplo ilustrativo en C# (adaptar al SDK de .NET instalado).
// Un servidor MCP expone herramientas con nombre, descripción y
// parámetros; el cliente las descubre y el asistente decide cuándo llamarlas.
public sealed class NotesTools
{
    // Herramienta: buscar notas que contengan una palabra clave.
    public string[] SearchNotes(string keyword)
    {
        // Aquí iría la lectura real (archivo, base de datos, API interna).
        return Array.Empty<string>();
    }
}

La idea es la misma que en Python: una función, una descripción clara y una validación de entrada, registradas como herramienta. Lo que cambia es el SDK, no la arquitectura.

MCP en Python para principiantes: un primer servidor en minutos

Si ya viste la teoría, este es el paso práctico más corto. Con FastMCP puedes exponer una sola herramienta sin escribir todo el protocolo a mano. Revisa siempre la documentación oficial de la versión que instales, porque la API puede cambiar entre versiones.

from mcp.server.fastmcp import FastMCP

mcp = FastMCP("demo")

@mcp.tool()
def saludar(nombre: str) -> str:
    return f"Hola, {nombre}"

if __name__ == "__main__":
    mcp.run()

Este ejemplo expone una herramienta, saludar, que recibe un nombre y devuelve un saludo. A partir de aquí, el siguiente paso es añadir una segunda herramienta con datos reales, por ejemplo buscar archivos, y probarla con un prompt real en tu cliente antes de añadir más.

Para seguir: revisa la chuleta de servidores MCP, la guía de Claude Code y la guía paso a paso de MCP.

Preguntas frecuentes

¿Qué hacen los MCP?

Los MCP permiten que una aplicación de IA se conecte a herramientas y datos externos siguiendo un protocolo común. En lugar de una integración distinta por cada herramienta, el cliente y el servidor hablan el mismo idioma.

¿Cuál es la diferencia entre una API y un MCP?

Una API es la interfaz concreta de un servicio, con sus propios endpoints. MCP es un protocolo que estandariza cómo se describen, se listan y se llaman las herramientas, para que un cliente pueda trabajar con muchos servidores sin aprender una interfaz nueva cada vez.

¿Puedes darme un ejemplo de MCP?

Un servidor de búsqueda de archivos es un ejemplo sencillo: expone una herramienta que recibe una consulta y devuelve los archivos que coinciden. El cliente la llama cuando el usuario pide buscar un archivo, en lugar de que el modelo adivine nombres.

Construye tu propio servidor, desde cero

Esta guía explica el protocolo. Para una implementación completa y copiable en Python, lee How to Build an MCP Server in Python from Scratch (en inglés): un servidor de notas con tres herramientas, cómo probarlo con el MCP Inspector, cómo funcionan los servidores remotos y los errores que conviene revisar primero. También útil: la chuleta de servidores MCP.

Más preguntas, respondidas

¿Qué es un ejemplo de servidor MCP en Python?

Un programa pequeño que expone funciones como herramientas que un asistente puede llamar. El servidor de notas de la guía paso a paso es un ejemplo completo: tres herramientas, add_note, list_notes y search_notes, definidas con decoradores y puestas en marcha con una sola llamada.

¿Cómo construyo un servidor MCP en Python desde cero?

Crea una carpeta de proyecto, instala un SDK de MCP para Python como FastMCP, define una herramienta a la vez con nombre, descripción y tipos claros, ejecuta el servidor en local y pruébalo con el MCP Inspector antes de conectarlo a un cliente asistente.

¿Qué es un servidor MCP remoto?

Un servidor MCP que funciona por HTTP para que clientes de otras máquinas puedan alcanzarlo. Expone las mismas herramientas que uno local, pero necesita autenticación, validación de entradas, registro de llamadas y límites de permisos, porque es un servicio de red.

Recibe 1 plan de agente IA cada semana

Únete al boletín gratuito de PVT: un agente de IA o automatización práctica que puedes construir y vender, cada semana. Sin spam.