Loading video player...
Hola a todos, gracias por acompañar
nuestra sesión de hoy. Me llamo Larisa,
soy coordinadora de Mentos en Reactor y
les saludo desde presente. Antes de
comenzar tengo información rápida que
compartir. Por favor, tómase un momento
para leer nuestro código de conducta.
Buscamos promover un ambiente respetuoso
tanto para nuestra audiencia como para
los presentadores.
Le pedimos que sea cuidadoso con sus
comentarios, que se mantenga profesional
y centrada en el tema. Estén atentos al
chat, les compartiremos enlaces útiles y
revisaremos las preguntas. La sesión se
está grabando y estará disponible para
verla en 48 horas en el canal de YouTube
de Microsoft Reactor. Ahora le cedo la
palabra a nuestra presentadora de hoy y
entonces vamos a dar la bienvenida a
Gen.
Hola, hola gente, como siempre
puntuales, ¿no? ¿Qué tal? ¿Cómo estamos?
Saludos. Estamos aquí
en nuestra última clase
de esta serie de Python
más ai, ¿verdad?
Un un gran saludo a los que han estado
en todas las clases.
Me imagino que ustedes han aprendido
muchísimo. Yo sé de mi parte, preparando
todo el contenido,
teniendo
charlas con Pamela para organizar todo.
también he aprendido muchísimo
y más que nada ya tengo proyectos en
mente, muchas ganas de de seguir y todo
eso ¿no?
Pero pero sí, qué genial para el para el
día de hoy. Bueno, recuerden que todos
los recursos lo pueden encontrar en este
enlace de aquí.
Y para el día de hoy tenemos
Model Context Protocol, que es
una de las
cosas que han salido este campo de la
inteligencia artificial generativa más
populares, diría yo. Yo creo que esto es
debido a que
se dice mucho de este protocolo
de que va a ser como que un estándar
de aquí en adelante.
Eso no es 100% seguro, pero
en todo caso es importante saber un poco
de de esto, ¿no?
Y bueno, saludos. Mi nombre es Guan Peña
Siguenza. Me pueden decir buen trabajó
aquí en Microsoft en el equipo de ah
developer relations advocacy como se
conoce en nuestro equipo de Python y mis
enlaces si quieren conectarse conmigo
especialmente que ya no vamos a tener
estas clases en LinkedIn, en YouTube, a
lo mejor si vieron ya el pequeño curso
que tengo de MCP en mi YouTube que
si es que se vieron tienen unos
fundamentos buenos para la clase de hoy
y siempre vamos a tener el Discord
también, entonces me pueden me pueden
hacer preguntas ahí.
Bueno empecemos gente.
Eso es lo que vamos a revisar el día de
hoy, algunos temas aquí.
Y tenemos otro repositorio, creo que
total vamos con cinco o seis
repositorios
y este es específico
para
nuestros demos de MCP. Okay, entonces lo
pueden acceder acá
en este link y
ayer nos topamos, no, hoy de mañana
[risas]
nos topamos con algunos problemas
trabajando con con cosas de MCP y con el
codpace, pero lo arreglamos todo justo a
tiempo para el stream de Pamela y bueno,
todo está funcionando para esto. Y lo
que yo voy a hacer es, yo creo que lo
tengo aquí,
voy a darle clic en codpaces y aquí
create codespace on main
y voy a dejar que se esté configurando
acá atrás, ¿no? Lo dejo ahí. Eso es todo
lo que tienen que hacer ustedes también.
Ah, otra cosa que les iba a indicar acá,
¿ven? Aquí, bueno, está muy pequeña,
déjame hacerlo.
Aquí está la clave y por eso es que yo
les digo que
ahora
van aprendiendo, ¿no es cierto? van van
usando los los repositorios y todo eso.
Y yo les recomiendo que le den le den
clic en la estrella, obviamente, para
que lo tengan guardado y eso, pero
cuando abren el codespace por primera
vez y mientras estén aprendiendo, viendo
el material,
lo usan en nuest bajo nuestro nuestro
perfil, se podría decir, ¿no? Así hacen
así como estamos haciendo nosotros. Les
clic en el botón de code y create code
space main porque por esta clave de aquí
que dice que todo el uso de estos code
spaces lo pagamos nosotros.
Okay. Cuando estén listos, listos para
ir y hacer cambios que quieren que sean
permanentes o lo que sea, pueden darle
clic en fork y de ahí cuando usan los
code spaces debajo de su propia cuenta
les cuesta.
Pero yo creo que la mayoría de uso que
van a ser después de el uso inicial
llegaría a estar debajo de los límites
mensuales que se les da los codpace,
porque hay un límite gratuito, un free
tier que se les da a todos los usuarios
de GitHub. Bueno, y por eso les cuento
que recomendamos que usen bajo nuestro
ah
bajo nuestro perfil, ¿no? Y bueno, aquí
en el codespace
no tenemos ejemplos en español porque
el enfoque más es en la configuración,
pero podemos hacer unos cambios durante
la sesión el día de hoy. Lo que si tengo
es una carpeta que dice Spanish y acá
las instrucciones
para, bueno, acerca de todo el
repositorio, ¿no? Y si es que quieren
trabajar con el repositorio de manera
local, también hay instrucciones ahí,
¿cierto? Los ejemplos están aquí. Ah,
son lo mismo para inglés y para español.
Okay. Bueno, vámonos. Listos. Todos
tenemos el repositorio. ¿Qué es MCP?
antes, y es una locura decir antes,
porque este campo de de generative AI,
el inteligencia artificial generativa,
no tiene quizás que 4 años por ahí, ¿no?
Pero bueno, antes de MCP,
cada integración, cada cosa que
necesitabas que tu aplicación
tenga
acceso a, bien sea una base de datos,
otra API o acceso a alguna información,
ustedes como los developers tenían que
encargarse de hacer esas integraciones
de manera manual y con los estándares de
cada uno de esos proveedores, ¿no es
cierto? Entonces, a lo mejor Slack te
dice que tienes que implementarlo así,
GeHub te dice que tienes que
implementarlo así, ah, Postcash que
estás utilizando para tu base de datos
te dice que tienes que usarlo así, ¿no
es cierto? Y se imaginan que esto se
está volviendo una locura, ¿no?
Entonces,
Antropic, que es una componía muy
grande, ¿verdad? Y muy importante en
este espacio
se puso las pilas y dijo, "Tenemos que
hacer algo aquí. Chut, está está
complicada esta situación."
y van y crean un protocolo abierto. Eso
es importante porque con eso, bueno,
obviamente
ellos se dan la ventaja de ser los que
crearon el protocolo, pero también
ayudan a la comunidad
aportar, utilizarlo para sus casos de
uso y todo eso, ¿no? crean este
protocolo que con la meta de crear un
estándar
para la interacción y la integración de
sus aplicaciones que están trabajando
con los modelos y las herramientas y las
fuentes y las aplicaciones externas que
necesitan
acceso, ¿no? ¿Verdad?
Y esto es MCP. Entonces, de aquí en
adelante,
MCP llega a ser lo que está aquí en el
medio, ¿no es cierto? Tengo aún mi
aplicación, ¿verdad? Eso no cambia y
tengo todas las integraciones que quiero
utilizar, pero ahora esas integraciones
tienen un estándar, entonces es mucho
más fácil establecer cómo trabajar con
ellos a través de nuestra aplicación.
Entonces, eso es todo. De la manera que
cosas como Arrest API y eso crearon
estándares para cuando ustedes están
creando sus APIs, MCP quiere quiere
tratar de hacer lo mismo, ¿no?
Ahora MCP
lo le llamamos un protocolo porque
obviamente eso es lo que es, pero eso
quiere decir que tiene algunos
componentes ¿verdad?
En MCP tenemos los el concepto de un un
host, ¿verdad?, que llegar llegaría a
ser la aplicación, ¿no? Tenemos un
cliente también y tenemos un servidor,
¿verdad?
En el ejemplo de hoy voy a voy a
indicarles, este es el host, este es el
cliente, este es el servidor, ¿no es
cierto?
La mayoría de veces cuando la gente
habla de crear aplicaciones MCP se
refieren a crear estos servidores.
Porque en cuanto a exponer las
herramientas, los recursos y los
prompts, eso viene desde el MCP Server,
que se consume a través de los MCP
clients, ¿okay? Y los MCP clients viven
dentro de un host. Ya lo vamos a ver.
Pero sí está muy buena la documentación
oficial del protocolo. Lo pueden revisar
acá abajo.
Y hay muchos clients, muchísimos. Esto
es solo la primera parte de esta tabla
que lo encuentran acá abajo.
Por ejemplo, aquí uno muy popular sería,
a ver, AMP, AMP conozco, Amazon Q
conozco. Ah, por ahí ustedes a lo mejor
reconocen uno de esos, ¿no?
Y ven que también esta lista les dice
qué características de MCP tienen.
resources, promps, tool, discovery y
bueno, más. Y si es que el protocolo
implementa otra característica, pues
entonces en la tabla van a implementarlo
también.
Ahora, VS Code tiene el soporte 100% con
el esquema o con el protocolo de MCP.
Eso quiere decir que VS Code llegaría a
ser un host y el client dentro de VS
Code para consumir los servidores va a
ser copilot, ¿verdad? Como se instala
cualquier otra extensión que tienen
ustedes,
también se puede hacer eso para los
servidores MCP. Solo se tiene que hacer
@mcp y todas las opciones que tiene el
marketplace de VS Code también lo
encuentran ahí y lo consumimos a través
de Ghubil.
Ya lo vamos a ver. Solo quiero darles
más contexto, ¿no? Okay. Bueno, hablamos
ya de los host de los clientes. De aquí
en adelante nos enfocamos en los
servidores, ¿okay? los servidores que
exponen las herramientas, los recursos y
los proms, ¿verdad? Tools, resources,
promps, tools, como vimos ayer, ¿no es
cierto? Y como vimos el día anterior,
eso de que son funciones, son bloques de
código que que que hacen algo, que
tienen una tarea, ¿no es cierto?
Tools son funciones que tu modelo puede
llamar y decide cuándo usarla según lo
que pida el usuario, ¿verdad? Por
ejemplo, si tenemos una herramienta que
dice
comprar
comida y yo le mando un mensaje al
modelo y digo, "¿Sabes que tengo hambre?
pídeme algo.
El modelo tiene que entender, okay, me
toca ir a utilizar la herramienta
comprar comida y realizar la el código
que tiene que tiene ahí y devolvérselo
la respuesta o lo que sea. Como ejemplos
tenemos buscar vuelo, enviar mensajes,
crear eventos del calendario, muchas
cosas así, ¿no? ¿Quién lo controla? El
modelo. ¿Quién está haciendo la llamada?
¿Quién va a ir a ejecutar el modelo,
¿cierto?
Ahí tenemos recursos o resources y esto
nos da que el posibilidad que el modelo
tenga acceso a información.
A lo mejor tienen una base de datos y
quieren que un modelo tiene tenga algún
acceso a para leer información que esté
en la base de datos.
Esto se haría a través de un resource,
un recurso, ¿no? Fuentes de datos
pasivas con acceso de solo lectura para
dar contexto.
Recuerden esta cosa de contexto es muy
importante. Entonces, a lo mejor si es
que el modelo tiene que ir a realizar
alguna tarea, pero necesita más
información, puede también utilizar un
recurso para obtener ese contexto.
Como ejemplos, recuperar documentos.
leer calendarios y eso controla la
aplicación.
Genial. Y en promps, que nada diferente
a los promps a las consultas que hemos
estado mandando, ¿cierto? Cuando
mandamos ahí me escribes un highiku
acerca de un gato hambriento que quiere
atú, eso es un prompt y es lo mismo que
tenemos aquí en este componente, ¿no?
Son plantillas de instrucciones
preconstruidas
que, bueno, eso es una plantilla, ¿no?
Que le dicen al modelo cómo trabajar con
tools y resources específicos. Por
ejemplo, un promp que tiene planear unas
vacaciones o resumir algo, redactar un
email y les da una plantilla, ¿no es
cierto? Que ahí pueden tener variables y
todo eso y eso lo controla el usuario,
lo utiliza el usuario, ¿no?
Bueno,
ahora nos enfocamos en lo bonito, ¿no?
Cómo crear un MCP server con Python.
Vamos.
En este caso realmente existen,
bueno, han de existir más opciones, pero
las las opción que realmente vale la
pena son, bueno, las opciones son estas
dos,
el SDK oficial de MCP, bueno, se conoce
aquí como Python SDK, ¿no? Es el oficial
del protocolo, ¿no?
Y obviamente les permite implementar
todas las los features oficiales del
protocolo, ¿no es cierto?
Pero de ahí existe una cosa que se llama
Fast MCP.
crearon salió MCP, crearon el SDK
oficial y una persona dijo, "No, pues yo
puedo crear una versión que implementa
todo del SDK oficial y más y de una
manera más ah lo dicen pythonic, ¿no?
Fue tan popular que la primera versión
de Fast de Fast MCP,
los de la del STK oficial se lo
discutieron, dijeron, "No, pues está muy
bueno, esto, lo vamos a incluir todo
esto, la primera versión en el SDK, ¿no?
Más les cuento eso para que tengan un
poco de historia acerca de esto, pero
aún existen como cosas diferentes, ¿no?
Porque Fast CP de ahí hizo una versión
2.0
y siguen implementando cosas encima del
SK oficial y es lo que por lo general se
recomienda utilizar.
¿Okay? Y pues algunas de las razones de
por qué utilizar Fast MCP, si es que a
lo mejor ustedes ya desarrollan con
Python, estas funciones tienen mucho
sentido para ustedes, ¿no? Cosas como
decorators, ¿verdad? O typins, muy
importante,
¿verdad? los annotations y también tiene
opciones de varios transportes. Aquí ya
lo veremos adelante también.
Okay, ahora vamos a ir a ver esto en el
ah codpace que tenemos. Voy a hacerlo
aquí. Y lo primero es que cuando estamos
dentro de VS Code y queremos
prender, encender, utilizar algún algún
MCP que tenemos ya, obviamente lo
necesitas instalar primero. Por ejemplo,
acá yo puedo buscar @mcp
y bueno, tengo que lo voy a enable ahí y
bueno, me sale aquí algunas opciones,
¿no? Pero también lo que puedes hacer es
irte por Command Palet MCP
Add Server. Aquí también te da un wizard
aquí paso en paso como configurarlo,
¿verdad? Nosotros tenemos aquí un
mcp.jonjon
que también nos da un espacio donde
podemos configurar
nuestros MCP servers, ¿verdad? Y ustedes
como van a desarrollar sus servidores, a
lo mejor esta es la manera diría yo, ya
cuando tienen un poco más de confianza
con esto de cómo configurarlo, ¿no?
Voy hacerle uno más grande
para nuestro ejemplo en la cual vamos a
trabajar hoy. Tenemos
es el mismo MCP, es este que está dentro
de basic MCP HTTP y basic MCP STDIO,
pero porque queremos mostrarle unas
cosas diferentes, tenemos algunas
opciones aquí, pero todos son todos son
los mismos. Aquí Expenses MCP, expenses
MCP HTTP y expenses MCP debug. Igual ya
la vamos a ver, ¿no? Y cómo trabaja
esto. Bueno, lo que voy a hacer es
darle a darle play. Le voy a ejecutar
ahí una cosita que dice start, ¿no?
Y bueno, pero darle restart ahí porque
no sale acá terminal aquí con la salida
que eh se ha encendido el servidor y
tiene una herramienta ese servidor. Lo
que de aquí tengo que hacer es irme acá
a Ghubil. Recuerden, VS Code es el host
MCP host, ¿no es cierto? Y acá en
Gearhub Copile, si quiero interactuar,
si quiero consumir lo que tiene el
servidor, lo tengo que hacer a través de
un cliente, ¿no? Entonces acá tengo que
estar dentro del modo de agente porque
solo los agentes pueden ejecutar cosas
con MCP, ¿no?
Y voy a cambiarle estas cinco, ¿ya? Y
acá selecciono esta icono aquí que dice
configure tools. Parece una
una llave. ¿Y cuál es el otro ahí?
Ay, screwdriver. ¿Cómo se dice
screwdriver en español? Bueno, le das
clic a le das clic ahí en ese icono,
¿no? Y aquí te va a salir todas las
herramientas que tu agente en Ghub tiene
acceso, ¿verdad? Algunos vienen ya de
parte de BS Code destornillador. Exacto.
Muchas gracias, ¿verdad? Por ejemplo,
hacer cambios en un o hacer cambios en
un archivo, ah, tener más información
acerca de las extensiones, correr test,
bueno, muchas cosas ahí, ¿no?
También tengo acá extensions Ghub
request. Bueno, mucho ahí no, pero lo
que a mí me importa aquí es asegurarme
de que tengo aquí seleccionado el MCP
que lo acabo de correr, que en este caso
se llama expenses MCP y sí lo tengo
seleccionado aquí y tengo nuestra
herramienta acá. Perfecto. Con tal de
que esté un check ahí
significa que yo debería poder
utilizarlo aquí en BS Code y Gopa,
¿verdad?
Antes voy a hacerle todo esto y
simplemente voy a mostrarles qué es lo
que hace este servidor.
Lo que hace es que tenemos un archivo
que se llama expenses.cs
verdad y aquí nada más y nada menos que
que cosas que se ha comprado, ¿no es
cierto? Aquí para nuestro budget, ¿no es
cierto? fecha, cantidad, catagueroía,
descripción y ah método de pago, ¿no?
Y me permite agregar cosas que he
comprado ahí. Es más, he agregado esto
dos veces porque creo que estuve
probando antes, ¿no? Bueno, y aquí
recuerden para invocar una herramienta,
simplemente tengo que decirle al modelo
qué es lo que quiero hacer, ¿cierto? Y
yo puedo ah decir algo como que ayer
compré
un par de zapatos
con efectivo
total
55.
Total 55. A ver, pero lo voy a cerrar
este aquí. ¿Ven que no no está nada
aquí? Okay, no está nada aquí de
zapatos.
Voy a cerrar este de aquí y me aseguro
que está corriendo el servidor.
Perfecto. Y le mando esto acá. Esto
debería debería
ah debería el llamarle al al MCP.
Perfecto. Y ve, ¿vieron que pasó esto
aquí?
Aquí nos dice
run at expense, que es la herramienta
que tenemos, ¿no es cierto?, del
expenses MCP.
Y acá tenemos la fecha del 22. Porque,
¿qué es lo que puse? Puse ayer. Sí,
ayer. Y hoy día sí es 23, ¿no? Perfecto.
Okay. Obtuvo, obtuvo ahí la fecha
correcta.
Cantidad 55, categoría shopping.
Descripción par de zapatos. Payment
method cash, ¿verdad? Genial. Entonces,
aquí yo le puedo dar allow. Perfecto.
Vieron ahí que en mi output de los
servidores MCP que están corriendo salió
esto. Ah, acá me está respondiendo en
español. Mira, gasto registrado,
categoría, todo completado. Necesitas
agregar otro gasto. Ver el resumen. Ya,
chévere. Ahí, ¿no?
Y acá voy a mi expenses y vemos aquí que
ha
agregado esa línea de aquí, ¿no? Ahora,
hay mucho, muchas cosas interesantes que
está pasando aquí. Uno,
uno y justo me estás preguntando una
buena, una buena pregunta aquí para el
modelo. Es indiferente el idioma del
comando. Ahora, con mi experiencia
porque estos últimos dos meses he estado
tratando de entender
cómo los los modelos y los en
combinación con mucha funcionalidad de
los modelos, pero también con cosas como
MCP, cosas como trabajar con agentes.
qué tanto yo les puedo dar en español
y que logren entender en este caso,
porque yo diría es un
son oraciones, son ejemplos muy
sencillos, creo que logra entenderlo sin
problema,
pero a ver, podemos tratar de hacerlo
algo un poquito más como que abstracto.
Puedo decirle, ah, alguien, ¿saben?
¿Alguien me das, alguien me puede dar un
ejemplo de cómo dirías en español para
agregar un gasto, pero de una manera
medio oscura, ¿no?
¿Qué opinan? Podría ser algo como que,
déjame ver.
Ah.
Ah.
Anteayer,
anteayer
gasté.
Hm.
A ver,
le pongo número. No.
Ah, [risas] anteayer gasté.
Anteayer gasté, no gasté. Es muy muy
fácil. Ante ayer pagué muy fácil.
Me endeudé.
Ah 25.
Me endeudé. 25
porado
de 25 por qué. Hace dos días compré una
chaqueta, pero me ofrecieron el 10 de
no. Antesayer me endeudé 25 por una.
¿Cómo pongamos le chompa? A ver. Okay,
voy a cerrar todo aquí. A ver, lo dejo
abierto para para poder ver el logo.
A ver si es que entiende. Anteayer
llegaré a ser el 21. No me endeudé. A
ver qué qué tanto tampoco creo que sea
que sea tan tan
complicado, pero bueno, lo hizo bien. A
ver,
el 21. Correcto. 25 categor.
[risas]
Ayer estuve con mi madre y nos antojamos
de Wow. Okay, esperen, tratemos esto.
No, voy a voy a agregarle este. A ver.
Ayer estuve con mi madre y nos antojamos
de tres helados en promoción.
A ver, no lo voy a mandar. Puedes
crearlo. A ver, ayer estuve con mi madre
y nos de tres helados. Tres. Ver,
[risas]
a ver, a ver qué tal, qué tal le va el
modelo.
Outcome gasto añadido, te hará marcada
completo. A ver, ayer dos full tres
lados eh
no lo hice la multiplicación,
pero eso es a lo mejor
falla nuestra en agregar el esa
funcionalidad en la herramienta. Ya la
vamos a ver, ¿no? Pero bueno,
vayan y jueguen con esto.
Otra cosa más promales y hemos visto
agregar utilizar las herramientas, ¿no?
También en los componentes de los
servidores tenemos recursos y para
acceder a los recursos en copilot tienes
que darle clic aquí en este botón que es
de agregar contexto, ¿no? Y aquí te sale
la opción de MCP resources
y de todos los servidores que tú tienes
seleccionado te va a salir aquí, ¿no?
Pero, ¿por qué ha corrido esta de aquí?
No quiero que corra esta. Déjame ver
expenses de esta. Esta no quiero que
corra. Okay, perfecto. Y tamp Bueno, que
quede es ahí. A ver, vámonos acá.
MCP Resources. Este es el correcto. Y
ven que lo agrega acá, que lo agrega
aquí.
Y esto quiere decir que esa información
ahora lo puedo usar como contexto. Dame
un resumen de mis gastos
de la semana. A ver. Y ven que esa
información como como repasamos hacía
que los recursos son para dar
información de de datos o pero solo de
lectura, ¿no? Ah, resumen de gasto la
semana, lunes 20, el domingo 26.
Ah,
con corte hoy sin conar el registro
futuro del día 25, salvo que se indique.
[risas]
A ver, una laptop, una deuda de chompa,
par de zapatos y dos dólares en comida,
tres helados por misión con mamá. Pero
bueno, bien. Y vamos a repasar el código
también. Y aquí la última cosa que les
quiero mostrar es que tenemos los promps
y eso se accede utilizando ah diagonal
diagonal, ¿verdad? Y aquí van a ver el
nombre de los de estas plantillas de los
promps que tienen, ¿no es cierto? Para
mí tengo que seleccionar este de aquí.
Y ven que en en este caso de VS Code y
GitHub Cile me da la opción de de de
agregar todo aquí en cuanto a a las
variables que necesito. Entonces,
categoría puede ser aquí pongámosle
shopping,
¿ya? Y aquí no start date. Pongámosle
ayer y today.
Y acá la plantilla, ¿ven? Aquí nos dice
que nos analice los lo que hemos
gastado, ¿no? Y lo rellena con las los
valores que le hemos dado, ¿no es
cierto? categoría
desde hasta y más información y eso le
podemos mandar al modelo que nos crea.
En realidad es un poco difícil encontrar
en en mi experiencia encontrar usos
realmente especiales, esenciales de los
promps, pero bueno, para invocar como
workflow, algo así, yo creo que está
bueno. Okay. Bueno, ah, ya lo vamos a
revisar el código. quería más mostrarles
cómo cómo pasar de cómo utilizar todo
esto, ¿no? Bueno,
en cuanto a este habíamos hablado de los
los transports, ¿no es cierto? Porque se
puede utilizar STDIO, ¿verdad? Y HTTP,
¿verdad? Si es que van a crear algo que
solamente va a trabajar de manera local,
se les recomienda CDI, ¿no? Y obviamente
HTTP si es que lo necesitan montar en
una red, necesitan acceso para usuarios
de una manera pública, utilizarían eso,
¿no? De verdad, pero hay ventajas y
limitaciones, ¿no es cierto? Entonces,
en cuanto a SDIO es simple, no necesitan
red, ideal para hacer testing rápido, es
una herramienta que quieren mantener de
manera local. Por ejemplo, yo tengo un
MCP de manera local que me ayuda a hacer
mis
mi journaling, mi diario cada día.
Eso nunca lo tengo que montar en AR ni
nada de eso, así que me conviene
utilizarlo, ¿no? Y obviamente en HTTP
todas las todos los beneficios que
tienen tener esas aplicaciones en una
red, ¿no? Scaling,
también streaming, integración con otras
cosas en en las redes, todo eso, ¿no?
Imitaciones, un cliente por proceso sin
red, porque eso trabaja a través de STD
in y STD out, ¿cierto? Entonces uno y
obviamente con HTTP por lo que requiere
también quiere decir que es
cualquiera lo podría acceder. Obviamente
importa seguridad, configuración y todo
eso, pero es algo que tener en cuenta.
Bueno, si es que quieren utilizar HTTP
es muy sencillo. Es más, les voy a
mostrar en el código,
voy a cerrarlo hasta acá y vamos a
abrirlo. Estos dos ejemplos
son lo mismo. Y eso es lo bueno de que
utilizando un framework como fast mcp,
nos vamos acá abajo. Lo único que
cambia, ah, vámonos acá,
lo único que cambia es acá abajo. Vean,
aquí en el STDIO,
aquí dice MCP.run
y acá también dice MCP.run, pero le
cambiamos el transport a HTTP, mandamos
también entonces el host y el port,
¿verdad? Esto de ahí el código no cambia
nada. Eso me parece genial porque
empiezan con algo de manera local, hacen
todas sus pruebas, todo eso y después
cuando están listos o si si les conviene
lo despliegan a la a Az aure o lo que
sea, ¿no? Muy sencillo, ¿no? Okay. Y
depuración, que me contaron que el
debugging se dice depuración, así que
muchas gracias.
A lo mejor si han trabajado con MCP ya
han usado el MCP Inspector que es una
herramienta donde pueden consumir MCPs.
No, yo creo que tengo una manera de cómo
lanzar esto. Voy a tratarlo, cómo lanzar
esto dentro del code service, pero si es
que no puedo. Por eso hemos puesto aquí
que el MCP Inspector funciona mejor de
manera local.
Si que si es que ustedes van a
desarrollar un MCP server, yo les
recomiendo, claro, jueguen con nuestro
repositorio, aprendan y todo eso, pero
cuando ya lo van a tomar más en serio,
lo tienen que crear de manera local,
solo porque hay las limitaciones es el
cores y todo eso que es que utiliza el
Spector para acceder al a su MCP.
Okay. Pero bueno, lo que puedo tratar,
voy a tratar, no les prometo que va a
funcionar, pero voy a tratarlo. Voy a
dar stap en este.
Okay. Y queda corriendo este. Perfecto.
Me gusta eso. Y yo tengo aquí un punto
dev container launch inspector
y creo creo creo que funciona esto. Lo
pruebé antes, pero hicimos unos cambios,
así que no estoy 100% segura, pero lo
vamos a tratar. Si no, queda como tarea
jugar con Inspector de manera local. A
ver qué nos sale por aquí.
Starting the inspector.
Okay. Y sé que tengo que
abrir el proxy de aquí.
Eh, este lo tengo que hacer público.
Change
a public. Perfecto. Y ahora lo que puedo
hacer es abrir este es bueno lo que me
acaba de salir, pero lo lo debería poder
abrirle. Este de aquí. Genial.
Y me sale acá. No, ese no es. Es este.
Pero ese es el que Oh, no es este proxy.
No, yo creo que es este de acá. Este de
aquí. Opening browser. A ver. Okay. Es
ese de ahí. Perfecto. Y tengo que irme
acá y copiar este session token
configuración acá y también el proxy
address que es este de aquí. Perfecto.
Y ahora tengo que irme acá. Perfecto.
UV. UV. Y aquí debería ser run. Y se
llama, ¿cómo se llama este? Basic. BMCP
basic
BMCPI.pi,
¿verdad? Así se llama. Basic. Okay. Y
aquí le doy connect y vamos a ver si
funciona. Perfecto. Ha funcionado. Qué
qué belleza. Y bueno, aquí así como
logramos consumir el MCP a través de el
MCP server a través de
de GHub Cilot porque Ghub cliente MC el
VSC el host en este caso el host es la
aplicación web o lo que usaron para
crear esta este este MCP Inspector algo
con JavaScript me imagino, ¿no es
cierto?
Y el cliente también llegaría a ser la
aplicación, llegaría a ser el la
funcionalidad que que implementa el
cliente, ¿no? Y aquí tenemos cosas como
list resources, ¿verdad? Y nos da nos
muestra todos los resources que hay, los
templates o los promps que tenemos ahí.
Ah, también tiene los tools aquí los
tools nos ve aquí los tools. Podemos
agregar y jugar con esto ahí, pero en
realidad a mí me gusta más trabajar
entre vs code antes que esto, pero vayan
y jueguen con esto. Pueden agregar ahí
la fecha, la cantidad, categoría y todo
eso. Pero sí, en realidad yo recomiendo
si van a trabajar con esta herramienta,
lo hacen de manera local y no tienen que
hacer tanta configuración como les acabo
de mostrar, pero es chévere saber que sí
funciona. Bueno,
de aquí voy a acerar este de acá.
Perfecto. Y seguimos con el debugging,
¿verdad? Porque como estos servidores ya
ser nada más y nada menos que código
Python, ¿verdad? Voy a abrirle este.
Esto quiere decir que a lo mejor también
nos toque poder ver los break points,
entender por qué algo no funciona o qué
valores está pasando al modelo y y todo
eso. Entonces, lo que voy a hacer ahora
es seleccionar
ah un qué sé yo, aquí
en la fecha, pongámoslo en la fecha ahí.
Okay, ahora me voy a mcpit.jonjason. Voy
a darle stop a este y está corriendo, no
lo voy a correr a este. Ahora vean la
diferencia aquí. Cuando le corro sin
querer hacer el breakp debugging, uso
otros comandos a diferencia de lo que
hago aquí, porque acá porque lo que
estoy diciendo debug pi y quiero que
escuchen el puerto 56 78, tenemos que
mandarle otros comandos para ejecutar el
servidor ¿verdad?
Y entonces está eso. Y ahí nos toca
simplemente irnos acá al debug y
seleccionar el attach to MCP server. Y
eso lo que va a hacer es que el debugger
va y va a encontrar el proceso que está
corriendo del MCP Server y escuchar,
¿no? Entonces le sale esta barrita acá
de tomate, ¿no? Y acá nuevamente nos
vamos a otro
y voy a borrar todo lo que está aquí.
Y en este caso me voy a ir las
herramientas y selecciono el MCP server
que es de Dbug, este de aquí, ¿verdad?
Porque es el que está corriendo ahora. Y
ahora debería ir porque tengo el breakp,
¿no es cierto? Déjame ver si lo puse. No
es este. Es este. Aquí tengo el breakp.
Perfecto. Vámonos acá y tratemos de
agregar. Ah, ayer compré
Ah.
Pizza
para la clase
total.
¿Cuánto vale pizza? 100. 100 en mi
visada. Visada. Ponla ahí. A ver si es
que hice todo correcto.
Me responde en inglés. [risas]
Okay, perfecto. Entonces sabe que tiene
que llamar al eh No, no, no
creo que está corriendo el equivocado.
Déjame ver. Expenses Debug. Creo que
seleccionó porque aquí nos dice, no nos
dice el debug, aquí no está dando otro
nombre. Déjame ver porque
ha hecho ese expense o sí lo está
corriendo déjame a ver. Intentemos
allow.
No, no le hizo el breakp a lo mejor. A
ver, tiene que ir ir acá. Déjame ver por
qué no running. Pero si es que Ah, ahí
está, ahí está. No quiero que haga eso.
Y es más, lo que voy a hacer es no. Ah,
hay una
hay un sering aquí que no está
respetando por alguna razón. Esperen un
ratito. A ver, vámonos a settings.
Ah, ¿dónde está? Aquí. Busquémosle este.
Este le ponemos never.
lo la lo que hace por default
el
el BS code es que cuando tengas tienes
MCPs aquí va a tratar de siempre
tenerlos corriendo, que no es lo que
queremos en este caso, ¿no? Y entonces
ese está corriendo, este no está
corriendo. Perfecto. Okay, entonces
vámonos. Ahora de nuevo voy a cerarle
este. Tengo un breakpe. Y estoy casi
segura de que este attach es de estudio.
Sí, perfecto. Y lo correso. Ahí está
corriendo este. Okay. Y voy a abrirle
una vez más el mcp.jason. Asegurarme de
que ese no está corriendo. Este no está
corriendo. Este sí está corriendo. Okay.
Vámonos acá. Selecciono el correcto MCP
y es más, voy a asegurarme de que solo
esté seleccionado ese ahí y le mando el
mensaje de nuevo a ver si es que
funciona.
Sí, están corriendo los dos por eso.
Okay, ahora está correcto. Ahora vean
que el nombre que salió aquí es expenses
MCP- Debug, ¿verdad?
Esas pilas ahí con esa diferencia.
Entonces, si ahora le doy al lado,
vieron que nos hemos quedado aquí en
nuestro breakpoint y tienen acceso a ver
toda la información de lo típico cuando
están haciendo un debugging con
breakpints, ¿verdad? Me gusta mucho de
que les da aquí como que un color gris a
la la información. aquí la fecha, la
categoría pizza para la clase, mete todo
eso y con esto esto les ayuda a ver, por
ejemplo, si encuentran que el el MCP no
logra revisar
o entender entenderles bien, a lo mejor
van y revisan, a lo mejor está muy
genérico esto, no le han puesto un type
annotation, a lo mejor pueden darle más
descripciones
o hacer que las variables, nombre de
variables le sea más claro todo eso,
¿no? Y bueno, solo vay darle play.
Estamos con 44 minutos, no me quiero
quedar atrás. Bueno, y así es lo lo de
Breakpoint. Sí, es muy interesante, ¿no?
Okay. MCP con agents. ¿Qué es la
pregunta que todos a lo mejor quieren
saber? ¿Cómo trabajar? Y tenemos
ejemplos aquí de esto.
MCP con agents empecemos con ah la de
GitHub, ¿verdad? porque tenemos opciones
de trabajar con agentes, con MCPs que ya
existen, ¿verdad? Hemos seleccionado
aquí el de Gearhub porque el el de
Gearhub
tienen pueden utilizar
o saben qué, empecemos con este de
learn, este porque este es el que no
necesitan ah API key o no necesitan
ninguna manera de de autenticación,
simplemente lo llaman, lo llaman, ¿no? A
través de este URL aquí y eso les ayuda
para
ir a encontrar documentación, ¿no?
Y es más, acá en el el chat, el chat
agent, como habíamos visto ayer, tenemos
este ejemplo en agent framework,
¿verdad? Estamos mandándole acá en la
consulta las herramientas de aquí, ¿no
es cierto? Tú tienes acceso a las
herramientas que te da el MCP Server,
¿verdad? Y nuestro MCP server,
obviamente, es a través de
este URL, ¿verdad? Y más acá abajo, aquí
tenemos un MCP streamable tool, ¿verdad?
Y lo único que pasamos ahí es el URL. Es
más, ni siquiera necesitamos esto porque
no no hay no hay API aquí, no hay nada
de eso, no hay tokens y nada de eso.
Entonces, esto lo puedo correr a través
de UV run agent framework learn. Y la
consulta que les estoy mandando es how
to create an Azure storage account using
Azure CC alive, ¿verdad? Y vieron que
fue a buscar y me retornó esta
información aquí. Entonces ustedes se
imaginan, bueno, mi agente puede
utilizar esto de aquí, ¿qué otros
agentes pu pueden creer? A lo mejor usan
un flujo, como vimos ayer, de
un agente supervisor y subagentes. Ahora
tienen un agente que va y les busca la
documentación y de ahí pueden pasar a
uno que va y a lo mejor ah mira la
revisa la documentación y revisa lo que
es realmente importante en cuanto al
proyecto que tienen ustedes. A lo mejor
tienen pautas, tienen documentación de
su proyecto y ven, comparan los dos.
Okay, esto es lo que tenemos que
utilizar y ahí tienen otra gente que va
y lo implementa. Bueno, hay muchas
posibilidades aquí, ¿no? Pero aquí un
ejemplo de cómo hacerlo con un MCP que
está hosted en, me imagino que ha de ser
hosted esto en AS, ¿no? Pero nos dan
aquí un URL, así es como hacerlo a
través de Asian Frame, ¿verdad? Otro
ejemplo es cómo utilizar uno que
requiere de, a ver, ah, vámonos con
Lhain de este HTTP.
Este es como es un ejemplo de cómo usar
un un agent framework, un framework de
aquí. Ah, pero ah conectando al al
servidor que nosotros tenemos, ¿no es
cierto?
Entonces, lo que voy a hacer es abrir
nuestro de aquí y yo tengo que correrle
a este servidor, ¿no es cierto? UV run y
basic http. Solo se utiliza el mcp.json
Jason cuando lo quieren consumir a
través de Gearhop Copilot, si es que
quieren que esto corra, por ejemplo,
aquí está corriendo, ¿verdad? Les toca
correrlo por el terminal porque ahora
voy a abrirle este de aquí. Voy a irle
UV UV run. Ah. Ah, no, no es, ¿cómo es
este? Lengchain,
Lengchain http, ¿verdad? Lo corro ahí
también. Y nos vamos acá y más para
mostrarles qué es lo que estamos
haciendo. Okay, aquí es lo que nos
retorna y acá en el ah se llama Multiser
MCP client. Lo que le estamos pasando es
URL de nuestro servidor que está
corriendo en el puerto, ¿no? Creo que
esto está acá arriba, ¿no? Aquí está.
Sí, está corriendo nuestro, ¿no es
cierto? Acá está corriendo. Esto nos
puso aquí. Okay, estás corriendo aquí.
Perfecto. Entonces, eso quiere decir que
nuestra gente tiene acceso a eso a
través de ese URL, ¿verdad? Y acá abajo
lo que me has mandado es que ayer compré
una laptop por 10000 utilizando mi Visa
y pudo ir a ejecutar la herramienta.
Pero lo que sí le pasé aquí
es también darle que ah aquí para
preparar la consulta con un contexto. Si
es que yo le mando esto, por ejemplo,
aquí lo que estoy haciendo es
simplemente utilizando código Python
para obtener la fecha del día de hoy del
sistema, ¿no es cierto? Eso es lo que
hace aquí el daytime punto now, ¿verdad?
Y le mando, aquí tengo una consulta y le
mando como mensaje de sistema al modelo.
Hoy día esta es la fecha. Yo le estoy
como que ayudando, dándole ese contexto
porque los modelos a veces hay modelos
que tienen por sí ah herramientas dentro
de su de su conocimiento para obtener el
el uso de la fecha, pero muchas veces
no. Entonces, por eso es que es mejor
nosotros dar mandar la fecha con la
constructa aquí, ¿verdad? Ah, y por eso
cuando el habíamos visto de que no pudo
hacer la multiplicación, si es que
nosotros aquí creamos una herramienta
que dice a calcular gasto o algo así, a
lo mejor ahí podemos hacer que existen,
qué sé yo, la habilidad de hacer
multiplicación, división. Los modelos no
son buenos con las matemáticas, es son
buenos generando lenguaje, pero en
cuanto a funcionalidad de matemáticas,
cálculos y todo eso, es mucho mejor
implementarlo con código y darle esa
funcionalidad.
Okay. Bueno, aquí un ejemplo de cómo
hacer este. Y lo último que quería
mostrarles
cuánto tiempo estamos. Perfecto. Es que
aquí tenemos un ejemplo ah con Lchain de
cómo conectarnos a al GitHub MCP. MCP
Server, ¿verdad? Y lo mismo aquí.
Ah, tenemos aquí un URL. En este caso sí
nos toca utilizar alguna manera de
autorización porque esto va con nuestro
nuestro profile en GitHub, ¿verdad? Pero
es simplemente a través de un GHub token
que cuando lo abren dentro de Code
Spaces ya tiene configurado. Si es que
lo van a abrir de manera local, van a
tener que crear un punto ENF y ahí tener
el Gearhub KHub token igual y el valor
de su token que tienen que ir a generar
en sus settings, en su perfil, ¿no?
Y aquí también se anda a preguntar, pues
hay MCP servers que tienen muchas
herramientas, ¿verdad? Nosotros vimos
acá que aquí en nuestros herramientas
disponibles para nuestro GHub Callet hay
muchísimos, ¿no es cierto? Aquí aquí
solo en Builting hay, qué s yo 20. Y por
ejemplo, yo en esta configuración de
codpaces lo tenemos mínimo, pero si es
que van a ir agregando más y más MCP
servers, hay más y más herramientas. Y
lo que sabemos es mientras más
herramientas, más habilidades, más
contexto se le da al modelo,
más oportunidad de confundirse.
Recuerden eso. Entonces, por eso ellos
hicieron aquí en Ghubas seleccionar las
herramientas que quieres utilizar para
esa interacción, ¿verdad? Y lo mismo
podemos hacer a través de código acá
abajo es haciendo como un filtering, ¿no
es cierto? Entonces, aquí lo que hacemos
es vamos a ir a obtener todas las
herramientas que tiene disponible e
nuestro MCP, ¿no es cierto?
Y bueno, ya lo voy a correr mejor. Vamos
este UV UV run y este es Lang chain
GitHub ¿verdad?
Entonces acá veamos, aquí nos dice tiene
46 herramientas disponibles, ¿verdad?
Pero hemos hecho un filtro de solo
utilizar
los los que son de lectura, ¿verdad?
Solo los de lectura.
Entonces, acá también hemos mandado aquí
un print que las herramientas que no
queremos acceso son los de crear, create
branch, create issue, create update
file, ¿verdad? Y eso es importante
también, no solamente porque tienen
acceso a todos los modelos, deben darle
que pueda utilizar todo eso, porque
recuerden, los modelos generan puede
confundirse que ah en vez de search code
voy a a create issue, no sé por qué,
pero es una posibilidad. Por eso
mientras más pueden definir los los
límites en el código, mucho mejor, ¿no
es cierto? Entonces, en este caso,
vámonos acá, la consulta que mandamos
es a que busque aquí repositorios en
GitHub que son populares para Python y
MCP y eso es una tarea que no requiere
de crear nada, ¿no es cierto? No
necesito que vaya ahí vaya a implementar
algo o vaya a eliminar algo, entonces no
tiene sentido mandarle esa herramienta.
Entonces por eso vamos y hacemos un
filtro y esto es un ejemplo de cómo
hacerlo ahí con Lchain. Okay, vayan y
revisen eso. Genial. Vimos eso también.
Okay, perfecto. En cuanto a cómo
llegarían a implementar un MCP server,
¿verdad? una arquitectura en MCP con sus
agentes en algo como Azer, como un host,
¿verdad? Host hemos visto vi code, host
puede ser algo local como cloud,
desktop, cosas así, ¿no? Para, en un
ejemplo en Azure se puede utilizar Azure
Container Apps, también hay Azure
Functions,
Azure App Service. Muchos de nuestros
servicios de cómputo tienen la habilidad
de ser host para esto y tienen sus
plantillas también.
Entonces de ahí crean sus sus clientes,
¿verdad? Por ejemplo, tienen dos ahí o
tres, lo que sea, ¿no? Y hay su servidor
va a ser un puede ser un function, puede
ser cualquier combinación, lo que
ustedes ustedes quieran, ¿no? Yo creo
que tiene sentido que sean functions
porque eso concepto de arquitectura
serverless y yo creo que es naturalmente
buena para esto del MCPs porque no
tienen que estar corriendo siempre en mi
opinión, ¿no? Entonces eso puede ser un
ejemplo de de cómo hacerlo ahí.
Tenemos una plantilla muy muy grande y
vayan y revisen este diagrama que es muy
grande que ni siquiera pude ponerlo de
un tamaño adecuado aquí, pero este es un
ejemplo de Azure AI Travel Agents que
utilizan MCP, utilizan agentes y hace un
montón de cosas. Hay Python ahí, hay
Typescript ahí, hay los containers ahí.
están utilizando Aspire, que es una
tecnología que ha salido creo que en los
últimos dos años, empezando recién por
net, pero tiene sus casos de uso en
algunas tecnologías, ¿no?
Y aquí hay un poco de Gearhubs
I foundry, ah, Docker Model Runner,
interesante. Acá, acá tiene Onix
Runtime. Bueno, muy muy genial. Esto
pueden revisarlo en el enlace de ahí.
Y para terminar, pues unas unos tips que
tenemos, unos consejos en cuanto a
cuando tienen su servidor en producción,
tienen que obviamente pensar en
seguridad, si es que es un servicio que
van a tener que solo necesita
comunicación entre su infraestructura,
no necesita acceso a los a usuarios de
manera público. cosas que tener en
cuenta son cosas como la aislación de
las redes, que si es que trabajan con
redes conocen los virtual networks, los
subnets y todo eso, ¿no es cierto?
Obviamente todo lo clásico de ser eh eh
network engineer es mucho más importante
el día de hoy, ¿no? Y estas son cosas
nada nuevo de de nada específico a MCP,
más que nada son prácticas que han
existido ya que les damos recuerdo al
momento de ahora, ¿no?
Por ejemplo, ah, algo como monitoring,
tenemos Defender for cloud, log
analytics, Azure Monitor.
también access control, los grupos de
seguridad, definir las reglas ahí. Ah,
también tenemos private endp, que es
para obtener comunicación entre recursos
sin utilizar la red pública a VPN
Gateways. Muchas opciones ahí, ¿no?
Revisen eso, pero si es que van a tener
un servidor que necesita acceso para
usuarios de manera pública, ¿no es
cierto? De ahí les toca implementar
autenticación, ¿verdad? Esto podría ser
ah implementando un midleware, por
ejemplo, FPI tiene algo así, Flask, ¿no
es cierto? Pero tiene que manejar OA
está este protocolo de aquí, eso es lo
importante, ¿verdad? vayan y revisen el
el
en la documentación de el protocolo de
MCP tiene mucha más información acerca
de de cómo adquirir al el protocolo en
cuanto a autenticación. Van y van a eso
no.
Por el momento hay un servicio que se
llama Key Cloak, que es 100% compatible
con todo lo que pide el protocolo, ¿no?
O con la especificación del off spec que
se conoce, ¿no? A lo mejor ya han
trabajado con eso, ¿no?
Ah, y aquí, bueno, otros otros cosas que
nada fuera de lo mundo, ¿no? token
management, a lo mejor ya han creado sus
sus aplicaciones que están en cosas que
son cosas que ya conocen. Yo más que
nada creo que es deck kickl es
interesante ¿no?
Bueno, más recursos de MCP. Tenemos un
currículum completo de MCP for
beginners, creo que son como 21 ah
clases o módulos ahí para y todo es
gratis, obviamente está en GitHub. Ah,
lo pueden ir a ver. es esta de acá
arriba. Ya. Si es que quieren jugar
desplegando un un bueno, quieren
aprender ahí desplegando
una un proyecto, un servidor a Azure,
pueden utilizar esta plantilla aquí que
es para usar functions. Creo que tiene
opciones para
autenticación, pero solo con V code,
creo, algo así. Ah, una cosa que me
olvidé de mencionar,
lastimosamente lamentablemente
a Antra, Microfra no es 100% compatible
con o no cumple con el MCPEC.
Estamos nosotros tratando de decirle ese
equipo, tenemos que hacer esto, pero las
cosas toman tiempo aquí, así que tengan
eso en cuenta. Bueno,
ah, sí, plantilla para desplegar su sus
MCP servers a Azure Functions. Vayan y
revisen esos con Python. Y pues mucho ah
bueno, más ejemplos de servidores que
pueden utilizar Microsoft Learn
MCP para ver documentación que lo usamos
hoy, MCP que tienen que obviamente
autenticar con su cuenta de Asure, pues
tienen acceso a leer los recursos que
tienen, puede implementar recursos, todo
eso, Gearhub que lo habíamos visto y
Playride, eso de poder trabajar dentro
de un navegador muy muy genial también
ahí. Bueno, hemos llegado a la hora. Ah,
bueno, tenemos aquí todos los servicios
que tenemos en Microsoft. Vean todos los
clientes y host que tenemos para
opciones, herramientas. Esto es solo lo
que pudo dar en esta diapositiva. Hay
muchas más opciones. Bueno, hemos
terminado la serie de Python M. Ha sido
un gusto poder Esperen, tomé un poco de
agua.
Ah, de aquí nos vamos a las horas de
oficina. Tenemos obras de oficina en el
Discord. Ahorita mismo salgo de aquí, me
voy a Discord y charlamos ahí. Para los
que no pueden ir a los horas oficina,
todo bien. Lo voy a seguir haciéndolo
los jueves a esta misma hora a las 7
hasta ver qué hora funciona mejor, ¿no?
Pero de mi parte ha sido ah un gusto
poder compartir estas casi un mes con
ustedes. Ya les voy a extrañar. Ha sido
un mes de mi tiempo y nos hemos sacado
del aire
ah creando el contenido, creando los
entornos. Es son
es mucho trabajo, pero ya ustedes ya han
compartido su su feedback por ahí visto
lo que comparten en LinkedIn, van yendo
las encuestas y y para nosotros es lo
que importa que que sea contenido que
realmente les ayuda a aprender. Y de mi
parte el compromiso de seguir haciendo
cosas en español cuentan 100%, bien sea
mi canal de YouTube o cualquier esfuerzo
que estemos haciendo de parte del equipo
de Python acá en Microsoft. Les prometo
que estaré yo diciendo, también tenemos
que hacerlo en en español. Es más, hay
ya charlas de a lo mejor nos toca hacer
algo de agentes de L chain y los prometo
que lo sacamos en español de alguna
manera. otro lenguaje, no sé, pero de mi
parte español
lo como sea, así me toque estudiar 20
horas todos los días por un mes antes de
poder hacerlo, pues lo vamos a hacer en
para mantenerse al tiempo o tiempo para
mantenerse al tanto en de todo esto,
vayan al Discord, yo voy a compartir
ahí, miren, vamos a hacer esta serie a
esta clase, a este curso, a este evento,
todo eso va a estar en el Discord, así
que estén ahí. @gepggs.
Cualquier pregunta estoy ahí. Okay, nos
vemos en el Discord. Ah, mil gracias por
estar aquí y ya hablamos allá, ¿no?
Chao.
Muchas gracias, Gen. Muchas gracias por
la sesión, por toda la serie. Muchas
gracias a Palmela por todo este
contenido
y muchas gracias a todos por
acompañarnos eh en todas las sesiones.
Muchas gracias por estar en vivo, por
estarnos
viendo, por ver las sesiones eh on the
main, las grabaciones aquí en nuestro
canal de YouTube. Lo vi que preguntar en
el chat sobre cómo saber cuándo tenemos
más sesiones como esa.
Enví el enlace de nuestra nuestro sitio
web de Microsoft Reactor donde puede
acompañar nuestras sesiones y
suscribirte para nuestro boletín. Todos
los meses enviamos un boletín con las
sesiones eh de Reactor. Entonces, puedes
suscribirte y recibir en su correo o
acompañar también nuestro LinkedIn. o
para ver las sesiones que hacemos aquí
en Microsoft Projector.
También buscamos mejorar nuestras
sesiones y tu experiencias. Si tienes
algún comentario, nos encantaría
saberlo, puedes encontrar el enlace de
la encuesta en la pantalla o en el chat.
Gracias por participar y nos vemos en la
próxima.
En la sesión final de nuestra serie Python + AI, vamos a explorar la tecnología más caliente del 2025: MCP (Model Context Protocol). Este protocolo abierto facilita extender AI agents y chatbots con funcionalidades personalizadas, haciéndolos más poderosos y flexibles. Mostraremos cómo usar el Python FastMCP SDK para crear un servidor MCP corriendo localmente y consumirlo desde chatbots como GitHub Copilot. Luego construiremos nuestro propio cliente MCP para conectarse al servidor. Finalmente, veremos lo fácil que es conectar frameworks de agentes como Langgraph y Microsoft agent-framework a servidores MCP. Con gran poder viene gran responsabilidad, así que hablaremos brevemente de los riesgos de seguridad que vienen con MCP, tanto como usuarios como desarrolladores. Consulta la colección Learn: https://aka.ms/PythonAI-Learn/reactor/yt Explora las diapositivas y los recursos del episodio: https://aka.ms/pythonia/recursos/yt Continúa la discusión en Discord: https://aka.ms/pythonia/discord Desarrollar aplicaciones de IA con Python: https://aka.ms/eHub/PythonAI Abrir el codigo en GitHub Codespaces: https://aka.ms/python-openai-demos Chapters: 00:05 - Bienvenida y cierre de la serie Python + AI 01:15 - Introducción al Model Context Protocol (MCP) 02:36 - ¿Por qué MCP podría convertirse en un estándar? 06:41 - Componentes clave de MCP: host, cliente y servidor 10:45 - Herramientas, recursos y prompts en MCP 15:33 - Cómo crear un MCP Server con Python 17:26 - FastMCP vs SDK oficial: ¿cuál usar? 20:06 - Demo: servidor MCP en VS Code con GitHub Copilot 24:07 - Probando comandos en español con MCP 28:33 - Acceso a recursos MCP como contexto 30:17 - Uso de prompts en MCP con plantillas 33:41 - Transports: STDIO vs HTTP 35:01 - Visualización con MCP Inspector 39:03 - Debugging de servidores MCP en VS Code 44:39 - MCP con agentes: integración con GitHub y Learn 50:03 - Filtrado de herramientas en MCP para evitar errores 54:17 - Arquitectura de MCP en Azure con agentes 57:07 - Seguridad, autenticación y despliegue en producción 59:55 - Recursos adicionales y plantilla para Azure Functions 1:00:48 - Cierre de la serie y próximos pasos en Discord #microsoftreactor #learnconnectbuild [eventID:26288]