AutomationFlowsAI & RAG › Mcp Server with AI Agent as a Tool Context Reducer

Mcp Server with AI Agent as a Tool Context Reducer

ByWilliam Lettieri @fibonacci on n8n.io

Transform your LLM into a powerful GitHub automation specialist with this n8n workflow template. In a world where multiple MCP servers can overwhelm LLMs with context, this streamlined solution provides a dedicated GitHub Agent that handles all GitHub API operations through a…

Event trigger★★★★☆ complexityAI-powered15 nodesMcp TriggerExecute Workflow TriggerMemory Buffer WindowOpenAI ChatTool WorkflowMcp Client ToolAgent
AI & RAG Trigger: Event Nodes: 15 Complexity: ★★★★☆ AI nodes: yes Added:

This workflow corresponds to n8n.io template #4475 — we link there as the canonical source.

This workflow follows the Agent → Execute Workflow Trigger recipe pattern — see all workflows that pair these two integrations.

The workflow JSON

Copy or download the full n8n JSON below. Paste it into a new n8n workflow, add your credentials, activate. Full import guide →

Download .json
{
  "id": "HCcU4mk4u2PNkp7C",
  "meta": {
    "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": "MCP Server Trigger",
      "type": "@n8n/n8n-nodes-langchain.mcpTrigger",
      "position": [
        -1840,
        280
      ],
      "parameters": {
        "path": "5b0e6a8d-f7eb-49ba-ac89-2eb4fc359967"
      },
      "typeVersion": 1
    },
    {
      "id": "0c5003ed-20e2-4952-b20a-f01496037a13",
      "name": "When Executed by Another Workflow",
      "type": "n8n-nodes-base.executeWorkflowTrigger",
      "position": [
        -3180,
        640
      ],
      "parameters": {
        "workflowInputs": {
          "values": [
            {
              "name": "request"
            }
          ]
        }
      },
      "typeVersion": 1.1
    },
    {
      "id": "85c1c401-ac3e-46c2-9fa0-a20e8ad3d578",
      "name": "Simple Memory",
      "type": "@n8n/n8n-nodes-langchain.memoryBufferWindow",
      "position": [
        -2120,
        640
      ],
      "parameters": {
        "sessionKey": "github",
        "sessionIdType": "customKey"
      },
      "typeVersion": 1.3
    },
    {
      "id": "2fa49b82-2c86-4076-974c-1ed57be5bdc5",
      "name": "OpenAI Chat Model",
      "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": {
          "name": "<your credential>"
        }
      },
      "typeVersion": 1.2
    },
    {
      "id": "a7be6db4-25b5-490c-8d1e-91473edf76c7",
      "name": "Sticky Note1",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -2360,
        80
      ],
      "parameters": {
        "color": 4,
        "width": 460,
        "height": 500,
        "content": "## GitHub AI Agent (Tools Agent)\n\ud83e\udd16 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": "Sticky Note3",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -1880,
        80
      ],
      "parameters": {
        "color": 7,
        "width": 340,
        "height": 500,
        "content": "## \ud83d\udda5\ufe0f  MCP Server Trigger\n\ud83d\udd27 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": "Sticky Note4",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -2980,
        80
      ],
      "parameters": {
        "color": 7,
        "width": 600,
        "height": 500,
        "content": "# \ud83d\udda5\ufe0f MCP Server Github Agent Tool\n\n\ud83d\udccb 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": "Github Agent",
      "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": "Github AI Agent",
      "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": "Set Github Username",
      "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": "Sticky Note",
      "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\u2699\ufe0f 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": "Sticky Note2",
      "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\ud83e\udde0 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": "Sticky Note5",
      "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\ud83d\udcbe 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": "Sticky Note6",
      "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\ud83d\udcbe 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,
  "settings": {
    "executionOrder": "v1"
  },
  "versionId": "03753d69-363b-410e-af98-686cd0e03b2b",
  "connections": {
    "Github API": {
      "ai_tool": [
        [
          {
            "node": "Github AI Agent",
            "type": "ai_tool",
            "index": 0
          }
        ]
      ]
    },
    "Github Agent": {
      "ai_tool": [
        [
          {
            "node": "MCP Server Trigger",
            "type": "ai_tool",
            "index": 0
          }
        ]
      ]
    },
    "Simple Memory": {
      "ai_memory": [
        [
          {
            "node": "Github AI Agent",
            "type": "ai_memory",
            "index": 0
          }
        ]
      ]
    },
    "OpenAI Chat Model": {
      "ai_languageModel": [
        [
          {
            "node": "Github AI Agent",
            "type": "ai_languageModel",
            "index": 0
          }
        ]
      ]
    },
    "Set Github Username": {
      "main": [
        [
          {
            "node": "Github AI Agent",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "When Executed by Another Workflow": {
      "main": [
        [
          {
            "node": "Set Github Username",
            "type": "main",
            "index": 0
          }
        ]
      ]
    }
  }
}

Credentials you'll need

Each integration node will prompt for credentials when you import. We strip credential IDs before publishing — you'll add your own.

Pro

For the full experience including quality scoring and batch install features for each workflow upgrade to Pro

About this workflow

Transform your LLM into a powerful GitHub automation specialist with this n8n workflow template. In a world where multiple MCP servers can overwhelm LLMs with context, this streamlined solution provides a dedicated GitHub Agent that handles all GitHub API operations through a…

Source: https://n8n.io/workflows/4475/ — original creator credit. Request a take-down →

More AI & RAG workflows → · Browse all categories →

Related workflows

Workflows that share integrations, category, or trigger type with this one. All free to copy and import.

AI & RAG

The AI-Powered Shopify SEO Content Automation is an enterprise-grade workflow that transforms product content creation for e-commerce stores. This sophisticated multi-agent system integrates GPT-4o, C

Perplexity Tool, Memory Buffer Window, Agent +15
AI & RAG

Splitout Redis. Uses executeWorkflowTrigger, n8n, redis, splitOut. Event-driven trigger; 46 nodes.

Execute Workflow Trigger, n8n, Redis +7
AI & RAG

3770. Uses executeWorkflowTrigger, n8n, redis, agent. Event-driven trigger; 46 nodes.

Execute Workflow Trigger, n8n, Redis +7
AI & RAG

Designing agent tools for outcome rather than utility has been a long recommended practice of mine and it applies well when it comes to building MCP servers; In gist, agents to be making the least amo

Execute Workflow Trigger, n8n, Redis +7
AI & RAG

Workflow 3770. Uses executeWorkflowTrigger, n8n, redis, agent. Event-driven trigger; 46 nodes.

Execute Workflow Trigger, n8n, Redis +7