Serveur MCP Outil d'agent Github

Intermédiaire

Ceci est unEngineering, AIworkflow d'automatisation du domainecontenant 15 nœuds.Utilise principalement des nœuds comme Set, Agent, McpTrigger, LmChatOpenAi, ToolWorkflow, combinant la technologie d'intelligence artificielle pour une automatisation intelligente. Outil d'agent MCP pour Github

Prérequis
  • Clé API OpenAI
Aperçu du workflow
Visualisation des connexions entre les nœuds, avec support du zoom et du déplacement
Exporter le workflow
Copiez la configuration JSON suivante dans n8n pour importer et utiliser ce workflow
{
  "id": "HCcU4mk4u2PNkp7C",
  "meta": {
    "instanceId": "8d2a96b0ee3db80edc0afe4f8cdbb2eb58d6fe0bc4416e4c3377314544353f7e",
    "templateCredsSetupCompleted": true
  },
  "name": "MCP Server Github Agent Tool",
  "tags": [
    {
      "id": "GfKcawMPAWNcS17g",
      "name": "n8n-template",
      "createdAt": "2025-05-29T21:33:12.406Z",
      "updatedAt": "2025-05-29T21:33:12.406Z"
    },
    {
      "id": "HdJUguIPwIXfbzhz",
      "name": "tutorial",
      "createdAt": "2025-05-16T01:06:16.018Z",
      "updatedAt": "2025-05-16T01:06:16.018Z"
    },
    {
      "id": "aWMbAleZrcWBvCQc",
      "name": "agent",
      "createdAt": "2025-05-16T20:26:50.983Z",
      "updatedAt": "2025-05-16T20:26:50.983Z"
    },
    {
      "id": "m4EUH4B1Wbruf4Ui",
      "name": "server",
      "createdAt": "2025-05-15T16:58:31.287Z",
      "updatedAt": "2025-05-15T16:58:31.287Z"
    }
  ],
  "nodes": [
    {
      "id": "0535b49f-14da-4127-a723-2647d8f8eb9e",
      "name": "Déclencheur de Serveur MCP",
      "type": "@n8n/n8n-nodes-langchain.mcpTrigger",
      "position": [
        -1840,
        280
      ],
      "webhookId": "5b0e6a8d-f7eb-49ba-ac89-2eb4fc359967",
      "parameters": {
        "path": "5b0e6a8d-f7eb-49ba-ac89-2eb4fc359967"
      },
      "typeVersion": 1
    },
    {
      "id": "0c5003ed-20e2-4952-b20a-f01496037a13",
      "name": "Lors de l'Exécution par un Autre Workflow",
      "type": "n8n-nodes-base.executeWorkflowTrigger",
      "position": [
        -3180,
        640
      ],
      "parameters": {
        "workflowInputs": {
          "values": [
            {
              "name": "request"
            }
          ]
        }
      },
      "typeVersion": 1.1
    },
    {
      "id": "85c1c401-ac3e-46c2-9fa0-a20e8ad3d578",
      "name": "Mémoire Simple",
      "type": "@n8n/n8n-nodes-langchain.memoryBufferWindow",
      "position": [
        -2120,
        640
      ],
      "parameters": {
        "sessionKey": "github",
        "sessionIdType": "customKey"
      },
      "typeVersion": 1.3
    },
    {
      "id": "2fa49b82-2c86-4076-974c-1ed57be5bdc5",
      "name": "Modèle de Chat OpenAI",
      "type": "@n8n/n8n-nodes-langchain.lmChatOpenAi",
      "position": [
        -2480,
        660
      ],
      "parameters": {
        "model": {
          "__rl": true,
          "mode": "list",
          "value": "gpt-4.1",
          "cachedResultName": "gpt-4.1"
        },
        "options": {}
      },
      "credentials": {
        "openAiApi": {
          "id": "F4FUDxUErCUjWsCq",
          "name": "OpenAi - WILLBOT"
        }
      },
      "typeVersion": 1.2
    },
    {
      "id": "a7be6db4-25b5-490c-8d1e-91473edf76c7",
      "name": "Note Adhésive1",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -2360,
        80
      ],
      "parameters": {
        "color": 4,
        "width": 460,
        "height": 500,
        "content": "## GitHub AI Agent (Tools Agent)\n🤖 Specialized GitHub Agent\n- Direct connection to GitHub MCP Server\n- Processes natural language GitHub requests\n- Reduces LLM context overhead\n- Handles all GitHub API complexity"
      },
      "typeVersion": 1
    },
    {
      "id": "7cdfaa60-61bd-43d1-9aff-f27f2012e9b9",
      "name": "Note Adhésive3",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -1880,
        80
      ],
      "parameters": {
        "color": 7,
        "width": 340,
        "height": 500,
        "content": "## 🖥️  MCP Server Trigger\n🔧 MCP Server Trigger\n- Receives GitHub operation requests\n- Single parameter: \"request\" (natural language)\n- Triggers specialized GitHub agent workflow"
      },
      "typeVersion": 1
    },
    {
      "id": "94b86861-9993-4de0-a56a-a3d4dd829d9b",
      "name": "Note Adhésive4",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -2980,
        80
      ],
      "parameters": {
        "color": 7,
        "width": 600,
        "height": 500,
        "content": "# 🖥️ MCP Server Github Agent Tool\n\n📋 Architecture Overview\n\nThis workflow implements the MCP Agent pattern:\n\n1. Single entry point (MCP Trigger)\n\n2. Specialized agent (GitHub focus)\n\n3. Context delegation (reduced LLM load)\n\n4. Scalable operations (unlimited GitHub tools)\n\n\nPerfect for complex GitHub automations without overwhelming your main LLM with GitHub API context.\n"
      },
      "typeVersion": 1
    },
    {
      "id": "4f6833d0-85c7-4035-8a8a-c627b1181d76",
      "name": "Agent Github",
      "type": "@n8n/n8n-nodes-langchain.toolWorkflow",
      "position": [
        -1780,
        440
      ],
      "parameters": {
        "workflowId": {
          "__rl": true,
          "mode": "list",
          "value": "UyrFAXDtcVf0TqlJ",
          "cachedResultName": "MCP Github"
        },
        "description": "# Overview\nUtilize this Github Agent tool to handle all interactions with the Github. By giving the Github Agent clear commands, you can full manage repositories and their components.\n\n## Workflow\n1. Provide plain language commands in the request parameter of this tool. Include the repo name when applicable.\n2. The Github agent interprets your command and performs the task.\n\n## Example Requests\n<EXAMPLE_1>\nCreate an issue called \"Some Issue Title\" with the description of \"Some long description about something\". Create it in the repo named Repo 1.\n</EXAMPLE_1>\n<EXAMPLE_2>\nMark issue number 3 as closed and put a comment of \"wow that was hard work\" on it.\n</EXAMPLE_2>\n<EXAMPLE_3>\nCreate a new branch off of the development branch and name it according to the feature / issue it relates to. Create a comment on the first issue: @Claude, please work on this, thank you.\n</EXAMPLE_3>",
        "workflowInputs": {
          "value": {
            "request": "={{ /*n8n-auto-generated-fromAI-override*/ $fromAI('request', `Plain language command to have the Github Agent perform a task relating to Github`, 'string') }}"
          },
          "schema": [
            {
              "id": "request",
              "type": "string",
              "display": true,
              "removed": false,
              "required": false,
              "displayName": "request",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            }
          ],
          "mappingMode": "defineBelow",
          "matchingColumns": [
            "request"
          ],
          "attemptToConvertTypes": false,
          "convertFieldsToString": false
        }
      },
      "typeVersion": 2.2
    },
    {
      "id": "0d381148-29a4-4f0d-abe4-b32a409414d5",
      "name": "Github API",
      "type": "@n8n/n8n-nodes-langchain.mcpClientTool",
      "position": [
        -1760,
        640
      ],
      "parameters": {
        "include": "selected",
        "sseEndpoint": "http://localhost:8000/sse",
        "includeTools": [
          "create_issue",
          "list_issues",
          "update_issue",
          "add_issue_comment",
          "search_issues",
          "get_issue",
          "search_repositories",
          "create_repository",
          "get_pull_request_reviews",
          "get_pull_request_comments",
          "update_pull_request_branch",
          "get_pull_request_files",
          "get_pull_request_status",
          "search_code",
          "search_users",
          "list_pull_requests",
          "get_pull_request",
          "merge_pull_request",
          "create_pull_request_review",
          "fork_repository",
          "create_branch",
          "list_commits",
          "get_file_contents",
          "push_files",
          "create_or_update_file",
          "create_pull_request"
        ]
      },
      "typeVersion": 1
    },
    {
      "id": "382e14d0-747f-4901-9224-cb7c8fe60958",
      "name": "Agent IA Github",
      "type": "@n8n/n8n-nodes-langchain.agent",
      "position": [
        -2260,
        340
      ],
      "parameters": {
        "text": "={{ $('When Executed by Another Workflow').item.json.request }}",
        "options": {
          "systemMessage": "=# Overview\nYou are a Github API and repo management specialist. You use your many tools to achieve the goals set forth by the requests you receive.\n\n## User Information\nGithub username: {{ $json.githubUsername }}"
        },
        "promptType": "define"
      },
      "typeVersion": 1.9
    },
    {
      "id": "47f6acc4-d405-4203-a157-f050f249b37a",
      "name": "Définir le Nom d'Utilisateur Github",
      "type": "n8n-nodes-base.set",
      "position": [
        -2860,
        640
      ],
      "parameters": {
        "options": {},
        "assignments": {
          "assignments": [
            {
              "id": "baa4559f-6f06-42c6-ab23-0aa9662a5a18",
              "name": "githubUsername",
              "type": "string",
              "value": "wayum999"
            }
          ]
        }
      },
      "typeVersion": 3.4
    },
    {
      "id": "291e3f21-ab26-4a3e-be10-bfb0add9cf76",
      "name": "Note Adhésive",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -2980,
        600
      ],
      "parameters": {
        "color": 7,
        "width": 340,
        "height": 380,
        "content": "\n\n\n\n\n\n\n\n\n\n\n\n\n\n## Set GitHub Username Node\n⚙️ Configuration Required\n- Replace \"your-github-username\" with actual username\n- Used for GitHub API authentication context\n- Essential for proper API calls"
      },
      "typeVersion": 1
    },
    {
      "id": "117bbca5-4a6b-4c11-96bb-98efb561ac1d",
      "name": "Note Adhésive2",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -2620,
        600
      ],
      "parameters": {
        "color": 7,
        "width": 360,
        "height": 380,
        "content": "\n\n\n\n\n\n\n\n\n\n\n\n\n\n## OpenAI Chat Model Node\n🧠 AI Processing Engine\n- Requires OpenAI API key configuration  \n- Powers intelligent GitHub operation understanding\n- Optimized for GitHub-specific tasks"
      },
      "typeVersion": 1
    },
    {
      "id": "c6b138ca-a993-4251-ab28-29ba37b93b67",
      "name": "Note Adhésive5",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -2240,
        600
      ],
      "parameters": {
        "color": 7,
        "width": 340,
        "height": 380,
        "content": "\n\n\n\n\n\n\n\n\n\n\n\n\n\n## Simple Memory Node\n💾 Conversation Context\n- Maintains operation history\n- Enables multi-step GitHub workflows\n- Reduces repetitive context processing"
      },
      "typeVersion": 1
    },
    {
      "id": "d322205a-413c-4c85-a0de-07c996d77733",
      "name": "Note Adhésive6",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -1880,
        600
      ],
      "parameters": {
        "color": 7,
        "width": 340,
        "height": 380,
        "content": "\n\n\n\n\n\n\n\n\n\n\n\n\n\n## MCP Client Node\n💾 Github Tools\n- Handles calls to the Github API\n- Manages repos and issues\n- One node connected to an MCP server"
      },
      "typeVersion": 1
    }
  ],
  "active": false,
  "pinData": {
    "When Executed by Another Workflow": [
      {
        "json": {
          "request": "create a new repo called test repo"
        }
      }
    ]
  },
  "settings": {
    "executionOrder": "v1"
  },
  "versionId": "03753d69-363b-410e-af98-686cd0e03b2b",
  "connections": {
    "0d381148-29a4-4f0d-abe4-b32a409414d5": {
      "ai_tool": [
        [
          {
            "node": "382e14d0-747f-4901-9224-cb7c8fe60958",
            "type": "ai_tool",
            "index": 0
          }
        ]
      ]
    },
    "4f6833d0-85c7-4035-8a8a-c627b1181d76": {
      "ai_tool": [
        [
          {
            "node": "0535b49f-14da-4127-a723-2647d8f8eb9e",
            "type": "ai_tool",
            "index": 0
          }
        ]
      ]
    },
    "85c1c401-ac3e-46c2-9fa0-a20e8ad3d578": {
      "ai_memory": [
        [
          {
            "node": "382e14d0-747f-4901-9224-cb7c8fe60958",
            "type": "ai_memory",
            "index": 0
          }
        ]
      ]
    },
    "2fa49b82-2c86-4076-974c-1ed57be5bdc5": {
      "ai_languageModel": [
        [
          {
            "node": "382e14d0-747f-4901-9224-cb7c8fe60958",
            "type": "ai_languageModel",
            "index": 0
          }
        ]
      ]
    },
    "47f6acc4-d405-4203-a157-f050f249b37a": {
      "main": [
        [
          {
            "node": "382e14d0-747f-4901-9224-cb7c8fe60958",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "0c5003ed-20e2-4952-b20a-f01496037a13": {
      "main": [
        [
          {
            "node": "47f6acc4-d405-4203-a157-f050f249b37a",
            "type": "main",
            "index": 0
          }
        ]
      ]
    }
  }
}
Foire aux questions

Comment utiliser ce workflow ?

Copiez le code de configuration JSON ci-dessus, créez un nouveau workflow dans votre instance n8n et sélectionnez "Importer depuis le JSON", collez la configuration et modifiez les paramètres d'authentification selon vos besoins.

Dans quelles scénarios ce workflow est-il adapté ?

Intermédiaire - Ingénierie, Intelligence Artificielle

Est-ce payant ?

Ce workflow est entièrement gratuit et peut être utilisé directement. Veuillez noter que les services tiers utilisés dans le workflow (comme l'API OpenAI) peuvent nécessiter un paiement de votre part.

Informations sur le workflow
Niveau de difficulté
Intermédiaire
Nombre de nœuds15
Catégorie2
Types de nœuds9
Description de la difficulté

Adapté aux utilisateurs expérimentés, avec des workflows de complexité moyenne contenant 6-15 nœuds

Auteur
William Lettieri

William Lettieri

@fibonacci

Accountant, Developer, Dreamer

Liens externes
Voir sur n8n.io

Partager ce workflow

Catégories

Catégories: 34