MCP サーバー Github エージェントツール

中級

これはEngineering, AI分野の自動化ワークフローで、15個のノードを含みます。主にSet, Agent, McpTrigger, LmChatOpenAi, ToolWorkflowなどのノードを使用、AI技術を活用したスマート自動化を実現。 MCPサーバーGithubエージェントツール

前提条件
  • OpenAI API Key
ワークフロープレビュー
ノード接続関係を可視化、ズームとパンをサポート
ワークフローをエクスポート
以下のJSON設定をn8nにインポートして、このワークフローを使用できます
{
  "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": "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": "他ワークフロー実行時",
      "type": "n8n-nodes-base.executeWorkflowTrigger",
      "position": [
        -3180,
        640
      ],
      "parameters": {
        "workflowInputs": {
          "values": [
            {
              "name": "request"
            }
          ]
        }
      },
      "typeVersion": 1.1
    },
    {
      "id": "85c1c401-ac3e-46c2-9fa0-a20e8ad3d578",
      "name": "シンプルメモリ",
      "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 チャットモデル",
      "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": "付箋1",
      "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": "付箋3",
      "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": "付箋4",
      "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": "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": "Github AIエージェント",
      "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": "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": "付箋",
      "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": "付箋2",
      "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": "付箋5",
      "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": "付箋6",
      "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
          }
        ]
      ]
    }
  }
}
よくある質問

このワークフローの使い方は?

上記のJSON設定コードをコピーし、n8nインスタンスで新しいワークフローを作成して「JSONからインポート」を選択、設定を貼り付けて認証情報を必要に応じて変更してください。

このワークフローはどんな場面に適していますか?

中級 - エンジニアリング, 人工知能

有料ですか?

このワークフローは完全無料です。ただし、ワークフローで使用するサードパーティサービス(OpenAI APIなど)は別途料金が発生する場合があります。

ワークフロー情報
難易度
中級
ノード数15
カテゴリー2
ノードタイプ9
難易度説明

経験者向け、6-15ノードの中程度の複雑さのワークフロー

作成者
William Lettieri

William Lettieri

@fibonacci

Accountant, Developer, Dreamer

外部リンク
n8n.ioで表示

このワークフローを共有

カテゴリー

カテゴリー: 34