Easily automate every part of your GitHub workflow with natural-language prompts that create repositories, manage issues, explore code, and more.
Tap into your GitHub instance and handle repositories and development tasks end-to-end without writing a single API call.

What is GitHub MCP?

A GitHub MCP node gives Gumloop workflows direct access to the GitHub API. Describe what you need in plain English, and the node chooses the right endpoint, manages authentication, and returns clean structured data you can pipe into the rest of your workflow.

What Can It Do for You?

  • Spin up new repositories or branches on demand for rapid prototyping
  • Find, filter, and export issues, pull requests, or commits to power dashboards and reports
  • Keep projects organized by creating or updating GitHub Projects, fields, and items with one-line prompts
  • Automate releases, deployments, and collaborator management right from your canvas

Available Tools

ToolWhat It DoesExample Use
Create RepositoryCreate a new repository under a user or organization”Create a private repository called marketing-site under acme-inc and return repository_id, html_url”
Search RepositoriesSearch public repositories with flexible query filters”Search repositories about vector database with >1000 stars, return name, html_url, stargazers_count”
List RepositoriesList repositories for a specific user or org”List repositories for user octocat, return name, visibility, created_at”
Get ContentsRetrieve the contents (or metadata) of any file or directory”In vercel/next.js, get contents of LICENSE, return file_name, size, download_url”
List CommitsList commits on a branch or range”List commits on main in rails/rails, return sha, author_name, message”
Get CommitFetch detailed information about a specific commit”Get commit a1b2c3d in torvalds/linux, return author_name, date, message, changed_files”
List StargazersList users who starred a repo”List stargazers for supabase/supabase, return user_login, starred_at”
Get Stargazers CountQuickly return the star count for a repo”Get stargazer count for openai/openai-python, return stargazers”
List IssuesList issues in a repository with filters”List open issues in microsoft/vscode, return number, title, labels”
Search IssuesSearch issues across accessible repos”Search issues labeled bug created this week, return repository_full_name, issue_number, title”
Search Pull RequestsSearch pull requests across repos”Search pull requests merged by @octocat this month, return repo, pr_number, title”
Get IssueGet full details for one issue”Get issue 42 in octocat/Hello-World, return title, state, author_login, body”
Create IssueOpen a new issue in a repo”In acme/widgets, create issue titled Button not responsive with body Steps... and return issue_number, html_url”
Update IssueModify an existing issue”Close issue 15 in acme/widgets with comment Fixed in v2.1, return state, updated_at”
Add Comment To IssueAdd a comment to an issue”Comment Thanks for reporting! on issue 27 in octocat/Hello-World, return comment_id, html_url”
List BranchesList all branches in a repo”List branches in hashicorp/terraform, return name, commit_sha”
Create BranchCreate a branch from an existing ref”In acme/app, create branch feature/login-ui from main, return branch_name, commit_sha”
List Pull RequestsList pull requests for a repo”List open pull requests in facebook/react, return number, title, author_login”
Get Pull RequestGet details for a single PR”Get pull request 1234 in kubernetes/kubernetes, return state, merged, additions, deletions”
Create Pull RequestOpen a new pull request”Create pull request from feature/api into main in acme/app titled Add API, return pr_number, html_url”
Get User IdReturn GitHub’s internal user ID”Get user ID for torvalds
Get Organization IdReturn internal org ID”Get organization ID for google
Get Repository IdReturn internal repo ID”Get repository ID for octocat/Hello-World
List ProjectsList projects for a repo or org”List projects in org netflix, return project_id, name, state”
Get ProjectGet details for one project”Get project 12 in acme/widgets, return name, description, visibility”
List Project FieldsList fields in a project”List fields for project 5 in acme/widgets, return field_id, name, data_type”
Create Project FieldAdd a new field to a project”Add field Priority (type: single_select) to project 5, return field_id”
Update Project FieldUpdate a field’s properties”Rename field 33 in project 5 to Severity, return name”
Delete Project FieldRemove a field from a project”Delete field 33 from project 5, confirm success”
List Project ItemsList items inside a project”List items in project 5, return item_id, content_type, title”
Add Project ItemAdd an item (issue, PR, draft) to a project”Add issue 42 to project 5, return item_id”
Update Project ItemRe-order or edit a project item”Move item 99 to top of project 5, return position”
Delete Project ItemRemove an item from a project”Delete item 99 from project 5, confirm success”
List TagsList git tags in a repo”List tags in golang/go, return tag_name, commit_sha”
Get TagGet details for one tag”Get tag v1.20.0 in golang/go, return tag_name, tagger, message”
List ReleasesList releases in a repo”List releases in electron/electron, return name, tag_name, published_at”
Get ReleaseGet details for a release”Get release v25.0.0 in electron/electron, return assets, body”
List CollaboratorsList users with access to a repo”List collaborators for acme/app, return login, permission”
List LabelsList labels in a repo”List labels in npm/cli, return name, color, description”
Get LabelGet one label’s details”Get label good first issue in npm/cli, return name, color”
List MilestonesList milestones in a repo”List milestones in pallets/flask, return number, title, due_on”
Get MilestoneGet milestone details”Get milestone 3 in pallets/flask, return state, open_issues, closed_issues”
Get Rate LimitCheck current API rate limits”Get GitHub API rate limit status, return core_remaining, reset_time”
Add CollaboratorInvite a user to a repo”Add @jane-dev as maintainer to acme/app, return invitation_id”
Remove CollaboratorRemove a collaborator”Remove @old-dev from acme/app, return result”
List TeamsList org teams”List teams in org stripe, return team_id, name, members_count”
List DeploymentsList deployments for a repo”List deployments in vercel/next.js, return id, environment, status”
List WorkflowsList GitHub Actions workflows”List workflows in vercel/next.js, return id, name, state”
Search CodeSearch code across repos”Search code in django/django for def get_queryset, return file_path, html_url”

How to Use

1

Create Your GitHub MCP Node

Go to your node library, search for GitHub, and click “Create a node with AI”
2

Add Your Prompt

Drag the GitHub node onto your canvas and type a clear, single-action prompt.
3

Test Your Node

Run the node and review the output. Tweak the prompt or output fields if needed.
4

Save and Reuse

Save the working node to your library so you can drop it into any future workflow.

Example Prompts

With dozens of available tools, these examples showcase common use cases. Feel free to adapt them to your projects. Search Repositories
Search repositories about "LLM chatbot" with more than 5000 stars and return name, html_url, stargazers_count, description
Get Contents
In repository "tensorflow/tensorflow", get contents of file "README.md" and return file_name, size, download_url
Create Issue
In repository "octocat/Hello-World", create an issue titled "Bug: login fails" with body "Login button unresponsive on Safari", return issue_number, html_url
List Pull Requests
List open pull requests in "facebook/react" and return number, title, author_login, html_url
Get Commit
For repository "torvalds/linux", get commit "5e464d5b0dd2" and return author_name, date, message, changed_files
List Projects
List projects in organization "npm" and return project_id, name, state
List Workflows
List GitHub Actions workflows in repository "vercel/next.js" and return id, name, state
Search Code
Search code in repository "django/django" for "def get_queryset" and return file_path, html_url
Start with a single, precise action such as “List issues labeled bug” before chaining multiple GitHub nodes. Clear, focused prompts give the fastest results.

Troubleshooting

If your GitHub MCP node isn’t behaving as expected, try these strategies:

Keep Prompts Simple and Specific

  • Good: “List issues in octocat/Hello-World labeled documentation and return number, title”
  • Less Efficient: “List issues and summarize them”
While the less efficient prompt might work, it’s more efficient to break it into separate nodes. GitHub MCP works best with focused, single-action prompts.

Match What GitHub Can Do

  • Good: “Create pull request from feature/api to main and return pr_number, html_url”
  • Bad: “Create a pull request, deploy it to AWS, and post a Slack notification”
GitHub MCP excels at source-control tasks. For deployment or messaging, combine it with Call API or Slack Message Sender nodes in your workflow.

Break Complex Tasks Into Steps

Instead of placing everything in one prompt (which might cause timeouts or unexpected errors):
Create a new repo for the marketing site, add README, set up default labels, invite collaborators, open an onboarding issue, and create a project board
Break this into smaller, focused nodes that each handle one task:
1

Step 1: Create Repository

Create a private repository called marketing-site under acme-inc and return repository_id
2

Step 2: Add Labels

In repository acme-inc/marketing-site, create labels bug, enhancement, and design
3

Step 3: Invite Collaborators

Given GitHub usernames add them as collaborators to acme-inc/marketing-site
4

Step 4: Create Onboarding Issue

Given a repo, create issue titled Project Kickoff with body Welcome to the project…
5

Step 5: Create Project Board

Create a project called Marketing Site Board in repository acme-inc/marketing-site
Connect these nodes sequentially in your workflow. Each node’s output becomes the input for the next step when required.

Focus on Data Retrieval

GitHub MCP excels at getting information from GitHub. For summaries or content generation, pass the results to Ask AI or Extract Data. Example
  • Good prompt: “List commits in rails/rails last week, return sha, author_login, message”
  • Bad prompt: “List commits in rails/rails last week and generate a changelog summary”
Use Ask AI after the GitHub node to generate summaries or reports. Keep the GitHub prompt focused on retrieval.

Troubleshooting Node Creation

Need More Help?