Agente GitHub com MCP no Jitterbit Harmony
Visão Geral
O Jitterbit fornece o Agente GitHub com MCP a todos os clientes através do Jitterbit Marketplace. Este agente é projetado para fins de aprendizado, ajudando as organizações a adotarem facilmente a IA. Este agente utiliza a técnica de Geração Aumentada por Recuperação (RAG), que combina o raciocínio de LLM com acesso a ferramentas externas e fontes de dados.
Este agente aproveita o Protocolo de Contexto do Modelo (MCP) através do conector MCP Client. Ele consome as ferramentas fornecidas pelo Servidor MCP do GitHub e atua como um assistente, onde você pode interagir com ele como um chatbot.
Este documento explica a configuração e operação deste agente. Primeiro, cobre os pré-requisitos, em seguida, fornece exemplos de prompts e limitações para mostrar o que o agente pode e não pode fazer, e então fornece passos para instalar, configurar e operar o agente.
Dica
Para etapas sobre como construir o Agente GitHub com MCP do zero, consulte o Guia de Como Fazer. Agentes adicionais para fins de aprendizado, como os agentes Reativo, Contextual e Salesforce Q&A, também estão disponíveis e são abordados separadamente.
Pré-requisitos
Para usar este agente, os seguintes componentes são necessários ou assumidos no design do agente.
Componentes do Harmony
Você deve ter uma licença do Jitterbit Harmony com acesso aos seguintes componentes:
Agente privado
Para simplificar o design, este agente de IA é projetado para uso com agentes privados.
Endpoints suportados
Os seguintes endpoints estão incorporados no design do agente.
LLM
O OpenAI é utilizado como o modelo de linguagem grande (LLM). Você deve ter gerado um token de API do OpenAI para ser usado com o conector do OpenAI.
MCP Client
O servidor MCP do GitHub está conectado através do conector MCP Client. Você deve ter gerado um token de acesso pessoal do GitHub para usar com o conector MCP Client.
Exemplo de prompts e limitações
As seções a seguir descrevem o que este agente de IA pode e não pode fazer.
Exemplo de prompts
Aqui estão exemplos de prompts que este agente de IA pode lidar com acesso aos dados apropriados:
-
"Quantas pull requests o usuário
{{user-name}}criou para o repositório{{repository-name}}no GitHub? O proprietário do repositório é{{owner-name}}." -
"Quantos branches o
{{repository-name}}tem no GitHub?"
Limitações
-
Agente privado apenas: Para simplicidade de design, este agente de IA pode ser usado apenas com agentes privados e não é compatível com agentes em nuvem.
-
Sem estado: O agente é sem estado e não conversacional. Ele processa cada solicitação como um prompt de turno único, o que significa que não armazena ou usa as informações de prompts anteriores para informar sua resposta atual. Sua capacidade é limitada a responder apenas ao prompt atual.
-
Conhecimento limitado: Como este agente é apenas um exemplo básico, o agente de IA não será capaz de responder a todas as perguntas relacionadas ao GitHub, a menos que as ferramentas adequadas sejam implementadas no fluxo de trabalho Tool Workflows.
-
Sem interface de chat: Como este agente é apenas um exemplo básico, ele não possui uma interface de chat para interagir com o agente de IA. No entanto, ele pode se conectar a qualquer interface, incluindo ferramentas como Slack, Microsoft Teams, WhatsApp ou qualquer interface personalizada construída com capacidades de conversa em chat. Para adicionar uma interface de chat, você pode incorporar os passos demonstrados em Agentes reativos, contextuais e de perguntas e respostas do Salesforce.
Instalação, configuração e operação
Siga estas etapas para instalar, configurar e operar este agente de IA:
- Instale o projeto do Studio.
- Revise os fluxos de trabalho do projeto.
- Crie uma chave de API do OpenAI e configure e teste a conexão com o OpenAI.
- Crie um token de acesso pessoal do GitHub e configure e teste a conexão com o Cliente MCP.
- Implante o projeto.
- Crie a API personalizada do Jitterbit.
- Acione os fluxos de trabalho do projeto.
Instale o projeto
Siga estas etapas para instalar o projeto do Studio para o agente de IA:
-
Faça login no portal Harmony em https://login.jitterbit.com e abra Marketplace.
-
Localize o agente de IA chamado GitHub Agent with MCP. Para localizar o agente, você pode usar a barra de pesquisa ou, no painel Filtros, sob Tipo, selecione Agente de IA para limitar a exibição aos agentes de IA disponíveis.
-
Clique no link Documentação do agente de IA para abrir sua documentação em uma nova aba. Mantenha a aba aberta para consultar depois de iniciar o projeto.
-
Clique em Iniciar Projeto para abrir uma caixa de diálogo de configuração para importar o agente de IA como um projeto do Studio.
-
Insira um nome para o projeto e selecione um ambiente onde o projeto do Studio será criado, em seguida, clique em Criar Projeto.
-
Uma caixa de diálogo de progresso será exibida. Assim que indicar que o projeto foi criado, use o link da caixa de diálogo Ir para o Studio ou abra o projeto diretamente na página Projetos do Studio.
Revise os fluxos de trabalho do projeto
No projeto do Studio aberto, revise os fluxos de trabalho juntamente com as descrições abaixo para entender o que eles fazem.
-
Fluxo de Trabalho de Entrada Principal
Este fluxo de trabalho gerencia as solicitações de chamadas de API recebidas. Ele possui uma operação,
Main Entry - API Request Handler, que é acionada via API cada vez que uma solicitação HTTP é enviada. -
Lógica de IA
Este fluxo de trabalho gerencia a lógica de IA. Ele possui as seguintes operações:
-
AI Logic - Orchestrator
Esta operação gerencia o fluxo de trabalho controlando a execução de outras operações.
-
AI Logic - Contextualizing LLM
Esta operação define o contexto inicial para o LLM por meio de um prompt configurado em uma atividade de Prompt do OpenAI.
Citação
Eu sou um Engenheiro de Software, e você será meu assistente pessoal para qualquer tópico relacionado ao GitHub. Por favor, ajude-me a responder perguntas e automatizar/executar tarefas conforme eu solicitar.
-
AI Logic - Listing and Registering the Tools
Esta operação busca todas as ferramentas MCP fornecidas pelo Servidor MCP do GitHub e registra as mesmas ferramentas no LLM (neste exemplo, o modelo é o GPT-4).
-
AI Logic - Sending Prompt to LLM
Esta operação envia ao LLM o prompt do usuário que é recebido através da API e gerenciado pela operação
Main Entry - API Request Handler. -
AI Logic - Replying Back to LLM
Esta operação envia de volta a resposta da ferramenta (após a execução da ferramenta) para o LLM e retransmite a resposta final que será usada como a resposta final do agente.
-
-
Fluxos de Trabalho de Ferramentas
Este fluxo de trabalho gerencia todas as ferramentas do Servidor GitHub desejadas implementadas como parte do agente e lida com as condições sob as quais as ferramentas devem ser executadas com base no prompt do usuário.
-
Tool - Search Pull Requests
Invocar a operação
Tool - Search Pull Requestsdo Servidor MCP do GitHub com base no nome da ferramenta e nos argumentos da ferramenta fornecidos, e invocar a operaçãoAI Logic - Replying Back to LLMpara construir a resposta final do agente para o usuário. -
Ferramenta - Listar Branches
Invocar a operação
Ferramenta - Listar Branchesdo Servidor MCP do GitHub com base no nome da ferramenta e nos argumentos da ferramenta fornecidos, e invocar a operaçãoLógica de IA - Respondendo ao LLMpara construir a resposta final do agente ao usuário. -
Ferramenta - Ferramenta Não Implementada
Este fluxo de trabalho gerencia cenários em que o LLM sugere uma execução de ferramenta que não está implementada como parte das operações de Fluxos de Trabalho de Ferramentas. Ele retorna uma mensagem amigável ao usuário, como a seguinte:
{ "chatId": "<string>", "response": "Oops! Sorry... I can't answer anything related to this question yet. Please trying asking something different..." }Esta mensagem pode ser personalizada substituindo a mensagem no campo de resposta da transformação
Preparar Solicitação #5.
-
-
Fluxos de Trabalho Utilitários - Lidando com Erros Inesperados
Esta operação lida com cenários inesperados quando algo dá errado com a execução do agente e retorna uma mensagem amigável ao usuário, como a seguinte:
{ "chatId": "<string>", "response": "An unexpected error has happened." }Esta mensagem pode ser personalizada substituindo a mensagem no campo de resposta da transformação
Preparar Solicitação #6.
Crie uma chave de API do OpenAI, e configure e teste a conexão com o OpenAI
Siga estas etapas para gerar e configurar uma chave de API do OpenAI:
-
Vá para a página de chaves de API do OpenAI.
-
Clique em Criar nova chave secreta para gerar uma nova chave de API.
-
Copie a chave gerada e a salve com segurança. Você precisará dessa chave para configurar a conexão com o OpenAI.
-
No projeto do Studio, abra a configuração da conexão com o OpenAI.
-
Insira a chave da API no campo Chave API/Secreta.
-
Clique em Testar para verificar a conectividade usando os valores configurados.
Aviso
Armazene sua chave de API com segurança. A chave é exibida apenas uma vez quando você a cria. Se você perder a chave, precisará gerar uma nova chave.
Crie um token de acesso pessoal do GitHub, e configure e teste a conexão do Cliente MCP
-
Siga as instruções do GitHub para Criar um token de acesso pessoal (clássico).
Ao criar o token, adicione as permissões que o agente de IA precisa para executar as ferramentas que você estará implementando. Por exemplo, este agente de IA básico requer a permissão
public_repopara acessar repositórios públicos. -
No projeto do Studio, abra a configuração da conexão do Cliente MCP. Insira o seguinte:
- URL do servidor MCP: A URL do servidor deve ser
https://api.githubcopilot.com/mcp/. Não altere este valor. - Token Bearer: Insira seu token de acesso pessoal.
Para mais informações, consulte a documentação do GitHub Configurando o Servidor MCP do GitHub.
- URL do servidor MCP: A URL do servidor deve ser
-
Clique no botão Testar para verificar a conectividade usando os valores configurados.
Implantar o projeto
Implante o projeto do Studio. Isso pode ser feito usando o menu de ações do projeto para selecionar Implantar.
Criar a API personalizada do Jitterbit
Crie uma API personalizada para a operação Main Entry - API Request Handler no fluxo de trabalho Main Entry Workflow. Isso pode ser feito diretamente no Studio usando o menu de ações da operação para selecionar Publicar como uma API ou selecionar Publicar como uma API usando IA.
Mantenha as configurações padrão, exceto pelas seguintes:
- Método:
POST - Tipo de Resposta:
Variável do Sistema
A atividade Request da API, como parte da operação Main Entry - API Request Handler, espera receber um JSON na seguinte estrutura:
{
"prompt": "<string>"
}
Mantenha a URL do serviço da API publicada. A URL do serviço pode ser encontrada na gaveta de detalhes da API na aba Serviços, passando o mouse sobre a coluna Ações do serviço e clicando em Copiar URL do serviço da API.
Acionar os fluxos de trabalho do projeto
O fluxo de trabalho principal, Main Entry - Slack Request Handler, é acionado pela API personalizada do Jitterbit.
Você pode enviar uma solicitação HTTP para esta API com os exemplos de prompts listados anteriormente.
Assim que você enviar a solicitação HTTP, a resposta fornecida pelo Agente será um JSON na seguinte estrutura:
{
"chatId": "<string>",
"response": "<string>"
}
Solução de Problemas
Revise os logs da API e os logs de operações para informações detalhadas de solução de problemas.
Para assistência adicional, entre em contato com o suporte do Jitterbit.