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
Tool | What It Does | Example Use |
---|---|---|
Create Repository | Create 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 Repositories | Search public repositories with flexible query filters | ”Search repositories about vector database with >1000 stars, return name, html_url, stargazers_count” |
List Repositories | List repositories for a specific user or org | ”List repositories for user octocat , return name, visibility, created_at” |
Get Contents | Retrieve the contents (or metadata) of any file or directory | ”In vercel/next.js , get contents of LICENSE , return file_name, size, download_url” |
List Commits | List commits on a branch or range | ”List commits on main in rails/rails , return sha, author_name, message” |
Get Commit | Fetch detailed information about a specific commit | ”Get commit a1b2c3d in torvalds/linux , return author_name, date, message, changed_files” |
List Stargazers | List users who starred a repo | ”List stargazers for supabase/supabase , return user_login, starred_at” |
Get Stargazers Count | Quickly return the star count for a repo | ”Get stargazer count for openai/openai-python , return stargazers” |
List Issues | List issues in a repository with filters | ”List open issues in microsoft/vscode , return number, title, labels” |
Search Issues | Search issues across accessible repos | ”Search issues labeled bug created this week, return repository_full_name, issue_number, title” |
Search Pull Requests | Search pull requests across repos | ”Search pull requests merged by @octocat this month, return repo, pr_number, title” |
Get Issue | Get full details for one issue | ”Get issue 42 in octocat/Hello-World , return title, state, author_login, body” |
Create Issue | Open 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 Issue | Modify an existing issue | ”Close issue 15 in acme/widgets with comment Fixed in v2.1 , return state, updated_at” |
Add Comment To Issue | Add a comment to an issue | ”Comment Thanks for reporting! on issue 27 in octocat/Hello-World , return comment_id, html_url” |
List Branches | List all branches in a repo | ”List branches in hashicorp/terraform , return name, commit_sha” |
Create Branch | Create a branch from an existing ref | ”In acme/app , create branch feature/login-ui from main , return branch_name, commit_sha” |
List Pull Requests | List pull requests for a repo | ”List open pull requests in facebook/react , return number, title, author_login” |
Get Pull Request | Get details for a single PR | ”Get pull request 1234 in kubernetes/kubernetes , return state, merged, additions, deletions” |
Create Pull Request | Open 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 Id | Return GitHub’s internal user ID | ”Get user ID for torvalds ” |
Get Organization Id | Return internal org ID | ”Get organization ID for google ” |
Get Repository Id | Return internal repo ID | ”Get repository ID for octocat/Hello-World ” |
List Projects | List projects for a repo or org | ”List projects in org netflix , return project_id, name, state” |
Get Project | Get details for one project | ”Get project 12 in acme/widgets , return name, description, visibility” |
List Project Fields | List fields in a project | ”List fields for project 5 in acme/widgets , return field_id, name, data_type” |
Create Project Field | Add a new field to a project | ”Add field Priority (type: single_select) to project 5, return field_id” |
Update Project Field | Update a field’s properties | ”Rename field 33 in project 5 to Severity , return name” |
Delete Project Field | Remove a field from a project | ”Delete field 33 from project 5, confirm success” |
List Project Items | List items inside a project | ”List items in project 5, return item_id, content_type, title” |
Add Project Item | Add an item (issue, PR, draft) to a project | ”Add issue 42 to project 5, return item_id” |
Update Project Item | Re-order or edit a project item | ”Move item 99 to top of project 5, return position” |
Delete Project Item | Remove an item from a project | ”Delete item 99 from project 5, confirm success” |
List Tags | List git tags in a repo | ”List tags in golang/go , return tag_name, commit_sha” |
Get Tag | Get details for one tag | ”Get tag v1.20.0 in golang/go , return tag_name, tagger, message” |
List Releases | List releases in a repo | ”List releases in electron/electron , return name, tag_name, published_at” |
Get Release | Get details for a release | ”Get release v25.0.0 in electron/electron , return assets, body” |
List Collaborators | List users with access to a repo | ”List collaborators for acme/app , return login, permission” |
List Labels | List labels in a repo | ”List labels in npm/cli , return name, color, description” |
Get Label | Get one label’s details | ”Get label good first issue in npm/cli , return name, color” |
List Milestones | List milestones in a repo | ”List milestones in pallets/flask , return number, title, due_on” |
Get Milestone | Get milestone details | ”Get milestone 3 in pallets/flask , return state, open_issues, closed_issues” |
Get Rate Limit | Check current API rate limits | ”Get GitHub API rate limit status, return core_remaining, reset_time” |
Add Collaborator | Invite a user to a repo | ”Add @jane-dev as maintainer to acme/app , return invitation_id” |
Remove Collaborator | Remove a collaborator | ”Remove @old-dev from acme/app , return result” |
List Teams | List org teams | ”List teams in org stripe , return team_id, name, members_count” |
List Deployments | List deployments for a repo | ”List deployments in vercel/next.js , return id, environment, status” |
List Workflows | List GitHub Actions workflows | ”List workflows in vercel/next.js , return id, name, state” |
Search Code | Search 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 RepositoriesStart 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
labeleddocumentation
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
tomain
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):1
Step 1: Create Repository
Create a private repository called
marketing-site
under acme-inc
and return repository_id2
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
Empty Outputs
Empty Outputs
In the node creation window, click “Request changes” and ask the AI to add debug logs and verify the API response.
Incorrect Results
Incorrect Results
In the node creation window, click “Request changes” and describe what you expected versus what you received.
Errors
Errors
First click “Fix with Gummie”. If multiple attempts fail, simplify your prompt or contact support.
Iterate with Request Changes
Iterate with Request Changes
MCP node creation often requires a few tweaks. Use “Request changes” (in the node creation window) to refine filters, output fields, or pagination.
Need More Help?
- Watch What are MCP Nodes video tutorial
- Check out MCP Best Practices in Gumloop University
- Join the Gumloop Community for support
- View the GitHub MCP setup guide for Claude and Cursor
- Contact support at support@gumloop.com