Model Context Protocol para Programadores de C#

Una serie de sesiones prácticas totalmente gratuita donde construiremos desde cero clientes y servidores MCP, dominando llamadas HTTP, tool calling y JSON-RPC.

Quinta sesión


Miércoles 7 de enero de 2026. 17 horas UTC-6 tiempo del centro de México.

Para registrarte (opcionalmente), envía un correo a mmunoz@devscommunity.net para agregarte al equipo del entrenamiento en Microsoft Teams y tener acceso a las sesiones grabadas y recursos adicionales.

Enlace de la sesión (con registro o sin registro)

Videos de las sesiones grabadas en Youtube


Descripción General

Esta serie de sesiones prácticas está diseñada para programadores de C# con conocimientos básicos que quieren entender y dominar el Model Context Protocol (MCP) desde sus fundamentos hasta la implementación completa.

A través de codificación en vivo en sesiones interactivas, construiremos todo desde cero, sin usar SDKs ni abstracciones, para comprender exactamente cómo funciona cada componente del ecosistema MCP. Comenzaremos con conceptos básicos como hacer llamadas HTTP a LLMs, progresaremos hacia tool calling (la capacidad de que los LLMs invoquen funciones), y culminaremos construyendo tanto servidores como clientes MCP completamente funcionales.

Al finalizar las cinco sesiones principales, habremos construido un sistema completo que puede conectar LLMs con herramientas externas usando el estándar MCP, y comprenderemos por qué los SDKs son útiles (pero ya no serán magia negra para nosotros).

Requisitos

Formato

Sesiones en vivo vía Microsoft Teams donde los participantes pueden interactuar, hacer preguntas y resolver dudas en tiempo real. Las sesiones quedan grabadas para referencia posterior.

Inversión

¡Totalmente GRATUITO! Esta serie es una contribución a la comunidad de desarrolladores .NET. Solo necesitas tu entusiasmo por aprender y tu computadora lista para codificar.

Contenido de las Sesiones

Sesión 1: Conversando con un LLM desde C#

En esta sesión haremos nuestra primera llamada a un LLM usando únicamente HttpClient y JSON. Construiremos desde cero una aplicación de consola que envía mensajes y recibe respuestas, entendiendo exactamente qué viaja por HTTP. Obtendremos nuestro API key y veremos el ciclo completo request/response.

Objetivos:

Sesión 2: Tool Calling - Extendiendo las Capacidades del LLM

Los LLMs no pueden acceder a datos externos o ejecutar código por sí mismos. En esta sesión aprenderemos cómo definir "herramientas" (tools) que el LLM puede invocar. Construiremos el JSON de definición de tools, detectaremos cuándo el LLM quiere usar una, ejecutaremos la función en C# y regresaremos el resultado al LLM. Todo manualmente, sin SDKs.

Objetivos:

Sesión 3: Model Context Protocol - El Protocolo al Desnudo

Ahora que entendemos LLMs y tool calling, surge el problema: ¿cómo estandarizar la manera en que múltiples herramientas se exponen y se consumen? Aquí entra MCP. Analizaremos el protocolo JSON-RPC que define MCP, sus mensajes fundamentales (initialize, tools/list, tools/call), y los diferentes transportes (stdio, HTTP, SSE). Veremos el problema que resuelve y su arquitectura cliente-servidor.

Objetivos:

Sesión 4: Construyendo un Servidor MCP en C#

Manos a la obra: construiremos un servidor MCP completo desde cero usando solo librerías base de .NET. Implementaremos el protocolo JSON-RPC, manejaremos la comunicación por stdio, registraremos herramientas y responderemos a las peticiones del cliente. Al final tendremos un servidor funcional que expone tools reales que cualquier cliente MCP puede consumir.

Objetivos:

Sesión 5: Construyendo un Cliente MCP en C#

Completamos el círculo construyendo un cliente MCP que puede descubrir y consumir herramientas de cualquier servidor MCP. Implementaremos la inicialización del protocolo, listaremos tools disponibles, las invocaremos, e integraremos todo con llamadas a un LLM para crear un flujo completo: usuario → cliente → LLM → servidor MCP → respuesta.

Objetivos:

Sesión Bonus: Del Código Crudo a los SDKs

Ahora que entendemos exactamente cómo funciona todo tras bambalinas, mostraremos cómo los SDKs oficiales simplifican el trabajo. Compararemos nuestro código manual con las abstracciones que ofrecen las librerías, discutiremos cuándo usar uno u otro enfoque, y los participantes apreciarán el valor real de los SDKs sin depender ciegamente de ellos.

Objetivos: