Saltar al contenido

Agente de GitHub con MCP en Jitterbit Harmony

Descripción general

Jitterbit proporciona el Agente de GitHub con MCP a todos los clientes a través del Mercado de Jitterbit. Este agente está diseñado con fines de aprendizaje para ayudar a las organizaciones a adoptar fácilmente la IA. Este agente utiliza la técnica de Generación Aumentada por Recuperación (RAG), que combina el razonamiento de LLM con acceso a herramientas externas y fuentes de datos.

Este agente aprovecha el Protocolo de Contexto del Modelo (MCP) a través del conector del Cliente MCP. Consume las herramientas proporcionadas por el Servidor MCP de GitHub y actúa como un asistente, donde puedes interactuar con él como si fuera un chatbot.

Este documento explica la configuración y operación de este agente. Primero cubre los requisitos previos, luego proporciona ejemplos de indicaciones y limitaciones para mostrar lo que el agente puede y no puede hacer, y luego proporciona pasos para instalar, configurar y operar el agente.

Consejo

Para obtener pasos sobre cómo construir el Agente de GitHub con MCP desde cero, consulta la guía de cómo hacerlo. También están disponibles agentes adicionales con fines de aprendizaje, como los agentes Reactivo, Contextual y de Preguntas y Respuestas de Salesforce, que se cubren por separado.

Requisitos previos

Para utilizar este agente, se requieren o asumen los siguientes componentes en el diseño del agente.

Componentes de Harmony

Debes tener una licencia de Jitterbit Harmony con acceso a los siguientes componentes:

Agente privado

Para simplificar el diseño, este agente de IA está diseñado para su uso con agentes privados.

Puntos finales compatibles

Los siguientes puntos finales están incorporados en el diseño del agente.

LLM

OpenAI se utiliza como el modelo de lenguaje grande (LLM). Debe haber generado un token de API de OpenAI que se usará con el conector de OpenAI.

MCP Client

El servidor MCP de GitHub está conectado a través del conector MCP Client. Debe haber generado un token de acceso personal de GitHub para usar con el conector MCP Client.

Example prompts and limitations

Las siguientes secciones describen lo que este agente de IA puede y no puede hacer.

Example prompts

Aquí hay ejemplos de solicitudes que este agente de IA puede manejar con acceso a los datos apropiados:

  • "¿Cuántas solicitudes de extracción ha creado el usuario {{user-name}} para el repositorio {{repository-name}} en GitHub? El propietario del repositorio es {{owner-name}}."

  • "¿Cuántas ramas tiene el {{repository-name}} en GitHub?"

Limitations

  • Agente privado solamente: Por simplicidad de diseño, este agente de IA solo se puede usar con agentes privados y no es compatible con agentes en la nube.

  • Sin estado: El agente es sin estado y no conversacional. Procesa cada solicitud como un aviso de un solo turno, lo que significa que no almacena ni utiliza la información de solicitudes anteriores para informar su respuesta actual. Su capacidad se limita a responder solo al aviso actual.

  • Conocimiento limitado: Como este agente es solo una muestra básica, el agente de IA no podrá responder todas las preguntas relacionadas con GitHub a menos que se implementen las herramientas adecuadas en el flujo de trabajo Tool Workflows.

  • Sin interfaz gráfica: Como este agente es solo una muestra básica, no tiene una interfaz de chat para interactuar con el agente de IA. Sin embargo, puede conectarse a cualquier interfaz, incluidas herramientas como Slack, Microsoft Teams, WhatsApp o cualquier interfaz personalizada construida con capacidades de conversación de chat. Para agregar una interfaz de chat, puede incorporar los pasos demostrados en Reactive, Contextual, and Salesforce Q&A agents.

Instalación, configuración y operación

Sigue estos pasos para instalar, configurar y operar este agente de IA:

  1. Instalar el proyecto de Studio.
  2. Revisar los flujos de trabajo del proyecto.
  3. Crear una clave API de OpenAI, y configurar y probar la conexión de OpenAI.
  4. Crear un token de acceso personal de GitHub, y configurar y probar la conexión del Cliente MCP.
  5. Desplegar el proyecto.
  6. Crear la API personalizada de Jitterbit.
  7. Activar los flujos de trabajo del proyecto.

Instalar el proyecto

Sigue estos pasos para instalar el proyecto de Studio para el agente de IA:

  1. Inicia sesión en el portal de Harmony en https://login.jitterbit.com y abre Marketplace.

  2. Localiza el agente de IA llamado GitHub Agent with MCP. Para localizar el agente, puedes usar la barra de búsqueda o, en el panel de Filtros bajo Tipo, seleccionar Agente de IA para limitar la visualización a los agentes de IA disponibles.

  3. Haz clic en el enlace de Documentación del agente de IA para abrir su documentación en una pestaña separada. Mantén la pestaña abierta para consultarla después de iniciar el proyecto.

  4. Haz clic en Iniciar Proyecto para abrir un cuadro de diálogo de configuración para importar el agente de IA como un proyecto de Studio.

  5. Ingresa un nombre para el proyecto y selecciona un entorno donde se creará el proyecto de Studio, luego haz clic en Crear Proyecto.

  6. Se mostrará un cuadro de diálogo de progreso. Una vez que indique que el proyecto ha sido creado, utiliza el enlace del cuadro de diálogo Ir a Studio o abre el proyecto directamente desde la página de Proyectos de Studio.

Revisar los flujos de trabajo del proyecto

En el proyecto de Studio abierto, revisa los flujos de trabajo junto con las descripciones a continuación para entender qué hacen.

  1. Flujo de Trabajo de Entrada Principal

    Este flujo de trabajo gestiona las solicitudes de llamadas API entrantes. Tiene una operación, Main Entry - API Request Handler, que se activa a través de la API cada vez que se envía una solicitud HTTP.

  2. Lógica de IA

    Este flujo de trabajo gestiona la lógica de IA. Tiene las siguientes operaciones:

    1. AI Logic - Orchestrator

      Esta operación gestiona el flujo de trabajo controlando la ejecución de otras operaciones.

    2. AI Logic - Contextualizing LLM

      Esta operación establece el contexto inicial para el LLM para definir el contexto a través de un aviso configurado en una actividad de aviso de OpenAI.

      Cita

      Soy un Ingeniero de Software, y vas a ser mi asistente personal para cualquier tema relacionado con GitHub. Por favor, ayúdame a responder preguntas y automatizar/ejecutar tareas según las solicite.

    3. AI Logic - Listing and Registering the Tools

      Esta operación obtiene todas las herramientas MCP proporcionadas por el Servidor MCP de GitHub y registra las mismas herramientas en el LLM (en este ejemplo, el modelo es GPT-4).

    4. AI Logic - Sending Prompt to LLM

      Esta operación envía al LLM el aviso del usuario que se recibe a través de la API y es gestionado por la operación Main Entry - API Request Handler.

    5. AI Logic - Replying Back to LLM

      Esta operación envía de vuelta la respuesta de la herramienta (después de la ejecución de la herramienta) al LLM y transmite la respuesta final que se utilizará como la respuesta final del agente.

  3. Flujos de Trabajo de Herramientas

    Este flujo de trabajo gestiona todas las herramientas del Servidor de GitHub deseadas implementadas como parte del agente y maneja las condiciones bajo las cuales las herramientas deben ejecutarse según el aviso del usuario.

    1. Tool - Search Pull Requests

      Invoca la operación Tool - Search Pull Requests del Servidor MCP de GitHub según el nombre de la herramienta y los argumentos de la herramienta dados, e invoca la operación AI Logic - Replying Back to LLM para construir la respuesta final del agente al usuario.

    2. Herramienta - Listar Ramas

      Invoca la operación Herramienta - Listar Ramas desde el Servidor MCP de GitHub basado en el nombre de la herramienta y los argumentos de la herramienta proporcionados, e invoca la operación Lógica AI - Respondiendo al LLM para construir la respuesta final del agente al usuario.

    3. Herramienta - Herramienta No Implementada

      Este flujo de trabajo gestiona escenarios en los que el LLM sugiere una ejecución de herramienta que no está implementada como parte de las operaciones de Flujos de Trabajo de Herramientas. Devuelve un mensaje amigable al usuario, como el siguiente:

      {
          "chatId": "<string>",
          "response": "Oops! Sorry... I can't answer anything related to this question yet. Please trying asking something different..."
      }
      

      Este mensaje se puede personalizar reemplazando el mensaje en el campo de respuesta de la transformación Preparar Solicitud #5.

  4. Flujos de Trabajo de Utilidad - Manejo de Errores Inesperados

    Esta operación maneja escenarios inesperados cuando algo sale mal con la ejecución del agente y devuelve un mensaje amigable al usuario, como el siguiente:

    {
        "chatId": "<string>",
        "response": "An unexpected error has happened."
    }
    

    Este mensaje se puede personalizar reemplazando el mensaje en el campo de respuesta de la transformación Preparar Solicitud #6.

Crea una clave API de OpenAI, y configura y prueba la conexión de OpenAI

Sigue estos pasos para generar y configurar una clave API de OpenAI:

  1. Ve a la página de claves API de OpenAI.

  2. Haz clic en Crear nueva clave secreta para generar una nueva clave API.

  3. Copia la clave generada y guárdala de forma segura. Necesitas esta clave para configurar la conexión de OpenAI.

  4. En el proyecto de Studio, abre la configuración de la conexión de OpenAI.

  5. Ingresa la clave API en el campo Clave API/Secreta.

  6. Haz clic en Probar para verificar la conectividad utilizando los valores configurados.

Advertencia

Almacena tu clave API de forma segura. La clave se muestra solo una vez cuando la creas. Si pierdes la clave, debes generar una nueva clave.

Crea un token de acceso personal de GitHub, y configura y prueba la conexión del Cliente MCP

  1. Sigue las instrucciones de GitHub para Crear un token de acceso personal (clásico).

    Al crear el token, añade los permisos que el agente de IA necesita para ejecutar las herramientas que implementarás. Por ejemplo, este agente de IA básico requiere el permiso public_repo para acceder a repositorios públicos.

  2. En el proyecto de Studio, abre la configuración de la conexión del Cliente MCP. Ingresa lo siguiente:

    • URL del servidor MCP: La URL del servidor debe ser https://api.githubcopilot.com/mcp/. No cambies este valor.
    • Token Bearer: Ingresa tu token de acceso personal.

    Para más información, consulta la documentación de GitHub Configurando el Servidor MCP de GitHub.

  3. Haz clic en el botón Probar para verificar la conectividad utilizando los valores configurados.

Desplegar el proyecto

Desplegar el proyecto de Studio. Esto se puede hacer utilizando el menú de acciones del proyecto para seleccionar Desplegar.

Crear la API personalizada de Jitterbit

Crea una API personalizada para la operación Main Entry - API Request Handler en el flujo de trabajo Main Entry Workflow. Esto se puede hacer directamente en Studio utilizando el menú de acciones de la operación para seleccionar Publicar como una API o seleccionar Publicar como una API usando IA.

Mantén la configuración predeterminada excepto por lo siguiente:

  • Método: POST
  • Tipo de respuesta: Variable del sistema

La actividad Solicitud de la API, como parte de la operación Main Entry - API Request Handler, espera recibir un JSON en la siguiente estructura:

{
    "prompt": "<string>"
}

Retenga la URL del servicio de la API publicada. La URL del servicio se puede encontrar en el panel de detalles de la API en la pestaña Servicios al pasar el cursor sobre la columna Acciones del servicio y haciendo clic en Copiar URL del servicio de la API.

Activar los flujos de trabajo del proyecto

El flujo de trabajo principal, Main Entry - Slack Request Handler, es activado por la API personalizada de Jitterbit.

Puede enviar una solicitud HTTP a esta API con los ejemplos de solicitudes mencionados anteriormente.

Tan pronto como envíe la solicitud HTTP, la respuesta proporcionada por el Agente será un JSON en la siguiente estructura:

{
    "chatId": "<string>",
    "response": "<string>"
}

Solución de problemas

Revise los registros de la API y los registros de operaciones para obtener información detallada sobre la solución de problemas.

Para asistencia adicional, comuníquese con soporte de Jitterbit.