Una implementación de código para construir un asistente de IA consciente de contexto en Google Colab con principios de Langchain, Langgraph, Gemini Pro y Model Contexty Protocol (MCP) con soporte de integración de herramientas

En este tutorial práctico, damos vida a los principios básicos del Protocolo de contexto del modelo (MCP) mediante la implementación de un asistente de IA de contexto ligero y consciente del contexto que usa Langchain, Langgraph y el modelo de idioma Gemini de Google. Si bien la integración completa de MCP generalmente implica servidores dedicados y protocolos de comunicación, esta versión simplificada demuestra cómo las mismas ideas, recuperación de contexto, invocación de herramientas e interacción dinámica pueden recrearse en un solo cuaderno utilizando una arquitectura de agente modular. El asistente puede responder a las consultas de lenguaje natural y enrutarlas selectivamente a herramientas externas (como una base de conocimiento personalizada), imitando cómo los clientes de MCP interactúan con los proveedores de contexto en las configuraciones del mundo real.

!pip install langchain langchain-google-genai langgraph python-dotenv
!pip install google-generativeai

Primero, instalamos bibliotecas esenciales. El primer comando instala Langchain, Langgraph, el envoltorio de langchain AI Generativo Google y el soporte variable de entorno a través de Python-Dotenv. El segundo comando instala el cliente AI generativo oficial de Google, que permite la interacción con los modelos Gemini.

import os
os.environ["GEMINI_API_KEY"] = "Your API Key"

Aquí, establecemos su tecla API Gemini como una variable de entorno para que el modelo pueda acceder de forma segura sin codificarla en su base de código. Reemplace “su clave API” con su clave real de Google AI Studio.

from langchain.tools import BaseTool
from langchain_google_genai import ChatGoogleGenerativeAI
from langchain.prompts import ChatPromptTemplate
from langchain.schema.messages import HumanMessage, AIMessage
from langgraph.prebuilt import create_react_agent
import os


model = ChatGoogleGenerativeAI(
    model="gemini-2.0-flash-lite",
    temperature=0.7,
    google_api_key=os.getenv("GEMINI_API_KEY")
)


class SimpleKnowledgeBaseTool(BaseTool):
    name: str = "simple_knowledge_base"
    description: str = "Retrieves basic information about AI concepts."


    def _run(self, query: str):
        knowledge = {
            "MCP": "Model Context Protocol (MCP) is an open standard by Anthropic designed to connect AI assistants with external data sources, enabling real-time, context-rich interactions.",
            "RAG": "Retrieval-Augmented Generation (RAG) enhances LLM responses by dynamically retrieving relevant external documents."
        }
        return knowledge.get(query, "I don't have information on that topic.")


    async def _arun(self, query: str):
        return self._run(query)


kb_tool = SimpleKnowledgeBaseTool()
tools = [kb_tool]
graph = create_react_agent(model, tools)

En este bloque, inicializamos el modelo de lenguaje Gemini (Gemini-2.0-Flash-Lite) utilizando ChatGoogleGenerativeai de Langchain, con la tecla API cargada de forma segura desde las variables de entorno. Luego definimos una herramienta personalizada llamada Simple KnowledgeBasetool que simula una fuente de conocimiento externo al devolver respuestas predefinidas a consultas sobre conceptos de IA como “MCP” y “TRAPO. ” Esta herramienta actúa como un proveedor de contexto básico, similar a cómo funcionaría un servidor MCP.

import nest_asyncio
import asyncio


nest_asyncio.apply()  


async def chat_with_agent():
    inputs = {"messages": []}


    print("🤖 MCP-Like Assistant ready! Type 'exit' to quit.")
    while True:
        user_input = input("nYou: ")
        if user_input.lower() == "exit":
            print("👋 Ending chat.")
            break


        from langchain.schema.messages import HumanMessage, AIMessage
        inputs["messages"].append(HumanMessage(content=user_input))


        async for state in graph.astream(inputs, stream_mode="values"):
            last_message = state["messages"][-1]
            if isinstance(last_message, AIMessage):
                print("nAgent:", last_message.content)


        inputs["messages"] = state["messages"]


await chat_with_agent()

Finalmente, configuramos un circuito de chat asíncrono para interactuar con el asistente inspirado en MCP. Usando Nest_asyncio, habilitamos el soporte para ejecutar código asíncrono dentro del bucle de eventos existente del cuaderno. La función chat_with_agent () captura la entrada del usuario, la alimenta al agente React y transmite las respuestas del modelo en tiempo real. Con cada turno, el asistente utiliza el razonamiento consciente de la herramienta para decidir si responder directamente o invocar la herramienta de base de conocimiento personalizado, emulando cómo un cliente MCP interactúa con los proveedores de contexto para ofrecer respuestas dinámicas y ricas en contexto.

En conclusión, este tutorial ofrece una base práctica para construir agentes de IA conscientes del contexto inspirados en el estándar MCP. Hemos creado un prototipo funcional que demuestra el uso de la herramienta a pedido y la recuperación de conocimiento externo al combinar la interfaz de herramienta de Langchain, el marco de agentes de Langgraph y la poderosa generación de idiomas de Gemini. Aunque la configuración se simplifica, captura la esencia de la arquitectura de MCP: modularidad, interoperabilidad e inyección de contexto inteligente. A partir de aquí, puede extender el asistente para integrar API reales, documentos locales o herramientas de búsqueda dinámica, evolucionándolo en un sistema de IA listo para la producción alineado con los principios del protocolo del contexto del modelo.


Aquí está el Cuaderno de colab. Además, no olvides seguirnos Gorjeo y únete a nuestro Canal de telegrama y LinkedIn GRsalpicar. No olvides unirte a nuestro 85k+ ml de subreddit.

🔥 [Register Now] Conferencia virtual de Minicon sobre código abierto AI: Registro gratuito + Certificado de Asistencia + Evento corto de 3 horas (12 de abril, 9 a.m. a 12 p.m. PST) + Hands on Workshop [Sponsored]


Asif Razzaq es el CEO de MarktechPost Media Inc .. Como empresario e ingeniero visionario, ASIF se compromete a aprovechar el potencial de la inteligencia artificial para el bien social. Su esfuerzo más reciente es el lanzamiento de una plataforma de medios de inteligencia artificial, MarktechPost, que se destaca por su cobertura profunda de noticias de aprendizaje automático y de aprendizaje profundo que es técnicamente sólido y fácilmente comprensible por una audiencia amplia. La plataforma cuenta con más de 2 millones de vistas mensuales, ilustrando su popularidad entre el público.