GitHub MCP Server

Widget generated by MCP Showcase

Introduction

This MCP server provides comprehensive access to GitHub's API, enabling seamless integration with GitHub's developer platform directly from your AI assistant. The server offers extensive functionality across all major GitHub features, from basic repository management to advanced CI/CD workflows and security monitoring.

The tools are organized into several key categories: repository operations, issue and project management, pull request workflows, code review processes, security scanning, GitHub Actions automation, notifications, search capabilities, discussions, and user account management. This makes it possible to perform virtually any GitHub operation programmatically through natural language conversations.

Whether you're managing repositories, collaborating on code, monitoring security alerts, or automating development workflows, this MCP server transforms GitHub into a conversational interface that can handle complex multi-step operations across your entire development lifecycle.

Use Cases

Repository Management

Create and manage repositories with full version control

  • Sample prompt: Create a new private repository called "project-alpha" with the description "Internal analytics dashboard" and initialize it with a README
  • Sample prompt: Fork the repository microsoft/vscode to my account and then create a new branch called "feature-dark-theme" from the main branch
  • Sample prompt: Get the contents of the src/components/Header.js file from the main branch of my react-dashboard repository

Issue Tracking and Project Management

Organize work with comprehensive issue management and sub-task hierarchies

  • Sample prompt: Create a new issue titled "Implement user authentication system" in my web-app repository, assign it to john-dev, and add the labels "enhancement" and "high-priority"
  • Sample prompt: Add three sub-issues to issue #45 in my project repo: "Design login UI", "Set up JWT authentication", and "Add password reset functionality"
  • Sample prompt: Show me all open issues in the backend-api repository that are labeled as "bug" and created in the last 30 days

Pull Request Workflow

Streamline code review and merge processes

  • Sample prompt: Create a pull request to merge my feature-auth branch into main for the web-app repository with the title "Add OAuth integration" and request review from sarah-dev
  • Sample prompt: Get the diff for pull request #23 in the mobile-app repository and show me which files were changed
  • Sample prompt: Merge pull request #15 in my api-server repository using the squash merge method with the commit message "Implement rate limiting feature"

Code Review Management

Facilitate thorough code reviews with structured feedback

  • Sample prompt: Create a pending review for pull request #18 in the frontend repository, then add a comment on line 45 of src/utils/validation.js suggesting to use regex for email validation
  • Sample prompt: Submit my pending review for pull request #12 with approval and the comment "Great implementation, looks good to merge"
  • Sample prompt: Request a GitHub Copilot review for pull request #25 in my python-service repository to get automated feedback before human review

Security Monitoring

Track and manage security vulnerabilities across your codebase

  • Sample prompt: List all high-severity code scanning alerts in my production-app repository that are currently open
  • Sample prompt: Show me details for Dependabot alert #7 in my node-backend repository and explain what vulnerability it addresses
  • Sample prompt: Get all secret scanning alerts for my organization's repositories to check for any leaked API keys or tokens

CI/CD and Automation

Monitor and control GitHub Actions workflows

  • Sample prompt: Run the "deploy-to-staging" workflow on the main branch of my web-service repository with the input parameter environment=staging
  • Sample prompt: Show me the logs for all failed jobs in workflow run #1234 of my ci-pipeline repository to debug the build failure
  • Sample prompt: List all workflow runs for the "test-and-build" workflow in my mobile-app repository that were triggered by push events in the last week

Search and Discovery

Find repositories, code, users, and issues across GitHub

  • Sample prompt: Search for Python repositories with more than 1000 stars that contain machine learning code and were updated in the last month
  • Sample prompt: Find all issues across my repositories that mention "authentication" and are still open
  • Sample prompt: Search for the function "calculateTax" in JavaScript files across all public repositories to see implementation examples

Team Collaboration and Notifications

Stay informed about repository activity and manage team communications

  • Sample prompt: Show me all my GitHub notifications from the last 3 days, including pull request reviews, issue mentions, and security alerts
  • Sample prompt: Mark all notifications as read for the team-project repository since I've reviewed them in our standup meeting
  • Sample prompt: Set up notification watching for the open-source-lib repository so I get notified about all new issues and pull requests

Discussion and Community Management

Foster open communication and knowledge sharing

  • Sample prompt: Create a discussion in the "Ideas" category of my community-project repository with the title "Feature Request: Dark Mode Support"
  • Sample prompt: List all discussions in the documentation-site repository and show me the most recent comments on each
  • Sample prompt: Get all comments from the discussion about "API versioning strategy" in my backend-services repository

Advanced Automation with Copilot

Leverage AI assistance for complex development tasks

  • Sample prompt: Use GitHub Copilot to create a pull request that refactors the user service in my microservices-app repository to use async/await instead of promises
  • Sample prompt: Assign GitHub Copilot to work on issue #42 about implementing Redis caching in my api-gateway repository

File and Content Management

Efficiently manage repository contents and documentation

  • Sample prompt: Update the README.md file in my project-docs repository with new installation instructions and commit the changes to the main branch
  • Sample prompt: Create multiple files in my new-service repository: src/index.js with a basic Express server setup, package.json with dependencies, and .gitignore with Node.js exclusions
  • Sample prompt: Delete the deprecated config/old-settings.json file from my web-application repository and commit the removal

Details

MCP Server URL:
https://api.githubcopilot.com/mcp/
Type:
HTTP Stream
Authentication:
API Key (Bearer Token)

Tools

add_comment_to_pending_review
Add review comment to the requester's latest pending pull request review. A pending review needs to already exist to call this (check with the user if not sure).
add_issue_comment
Add a comment to a specific issue in a GitHub repository.
add_sub_issue
Add a sub-issue to a parent issue in a GitHub repository.
assign_copilot_to_issue
Assign Copilot to a specific issue in a GitHub repository. This tool can help with the following outcomes: - a Pull Request created with source code changes to resolve the issue More information can be found at: - https://docs.github.com/en/copilot/using-github-copilot/using-copilot-coding-agent-to-work-on-tasks/about-assigning-tasks-to-copilot
cancel_workflow_run
Cancel a workflow run
create_and_submit_pull_request_review
Create and submit a review for a pull request without review comments.
create_branch
Create a new branch in a GitHub repository
create_gist
Create a new gist
create_issue
Create a new issue in a GitHub repository.
create_or_update_file
Create or update a single file in a GitHub repository. If updating, you must provide the SHA of the file you want to update. Use this tool to create or update a file in a GitHub repository remotely; do not use it for local file operations.
create_pending_pull_request_review
Create a pending review for a pull request. Call this first before attempting to add comments to a pending review, and ultimately submitting it. A pending pull request review means a pull request review, it is pending because you create it first and submit it later, and the PR author will not see it until it is submitted.
create_pull_request
Create a new pull request in a GitHub repository.
create_pull_request_with_copilot
Delegate a task to GitHub Copilot coding agent to perform in the background. The agent will create a pull request with the implementation. You should use this tool if the user asks to create a pull request to perform a specific task, or if the user asks Copilot to do something.
create_repository
Create a new GitHub repository in your account
delete_file
Delete a file from a GitHub repository
delete_pending_pull_request_review
Delete the requester's latest pending pull request review. Use this after the user decides not to submit a pending review, if you don't know if they already created one then check first.
delete_workflow_run_logs
Delete logs for a workflow run
dismiss_notification
Dismiss a notification by marking it as read or done
download_workflow_run_artifact
Get download URL for a workflow run artifact
fork_repository
Fork a GitHub repository to your account or specified organization
get_code_scanning_alert
Get details of a specific code scanning alert in a GitHub repository.
get_commit
Get details for a commit from a GitHub repository
get_dependabot_alert
Get details of a specific dependabot alert in a GitHub repository.
get_discussion
Get a specific discussion by ID
get_discussion_comments
Get comments from a discussion
get_file_contents
Get the contents of a file or directory from a GitHub repository
get_issue
Get details of a specific issue in a GitHub repository.
get_issue_comments
Get comments for a specific issue in a GitHub repository.
get_job_logs
Download logs for a specific workflow job or efficiently get all failed job logs for a workflow run
get_me
Get details of the authenticated GitHub user. Use this when a request is about the user's own profile for GitHub. Or when information is missing to build other tool calls.
get_notification_details
Get detailed information for a specific GitHub notification, always call this tool when the user asks for details about a specific notification, if you don't know the ID list notifications first.
get_pull_request
Get details of a specific pull request in a GitHub repository.
get_pull_request_comments
Get comments for a specific pull request.
get_pull_request_diff
Get the diff of a pull request.
get_pull_request_files
Get the files changed in a specific pull request.
get_pull_request_reviews
Get reviews for a specific pull request.
get_pull_request_status
Get the status of a specific pull request.
get_secret_scanning_alert
Get details of a specific secret scanning alert in a GitHub repository.
get_tag
Get details about a specific git tag in a GitHub repository
get_workflow_run
Get details of a specific workflow run
get_workflow_run_logs
Download logs for a specific workflow run (EXPENSIVE: downloads ALL logs as ZIP. Consider using get_job_logs with failed_only=true for debugging failed jobs)
get_workflow_run_usage
Get usage metrics for a workflow run
list_branches
List branches in a GitHub repository
list_code_scanning_alerts
List code scanning alerts in a GitHub repository.
list_commits
Get list of commits of a branch in a GitHub repository. Returns at least 30 results per page by default, but can return more if specified using the perPage parameter (up to 100).
list_dependabot_alerts
List dependabot alerts in a GitHub repository.
list_discussion_categories
List discussion categories with their id and name, for a repository or organisation.
list_discussions
List discussions for a repository or organisation.
list_gists
List gists for a user
list_issues
List issues in a GitHub repository. For pagination, use the 'endCursor' from the previous response's 'pageInfo' in the 'after' parameter.
list_notifications
Lists all GitHub notifications for the authenticated user, including unread notifications, mentions, review requests, assignments, and updates on issues or pull requests. Use this tool whenever the user asks what to work on next, requests a summary of their GitHub activity, wants to see pending reviews, or needs to check for new updates or tasks. This tool is the primary way to discover actionable items, reminders, and outstanding work on GitHub. Always call this tool when asked what to work on next, what is pending, or what needs attention in GitHub.
list_pull_requests
List pull requests in a GitHub repository. If the user specifies an author, then DO NOT use this tool and use the search_pull_requests tool instead.
list_secret_scanning_alerts
List secret scanning alerts in a GitHub repository.
list_sub_issues
List sub-issues for a specific issue in a GitHub repository.
list_tags
List git tags in a GitHub repository
list_workflow_jobs
List jobs for a specific workflow run
list_workflow_run_artifacts
List artifacts for a workflow run
list_workflow_runs
List workflow runs for a specific workflow
list_workflows
List workflows in a repository
manage_notification_subscription
Manage a notification subscription: ignore, watch, or delete a notification thread subscription.
manage_repository_notification_subscription
Manage a repository notification subscription: ignore, watch, or delete repository notifications subscription for the provided repository.
mark_all_notifications_read
Mark all notifications as read
merge_pull_request
Merge a pull request in a GitHub repository.
push_files
Push multiple files to a GitHub repository in a single commit
remove_sub_issue
Remove a sub-issue from a parent issue in a GitHub repository.
reprioritize_sub_issue
Reprioritize a sub-issue to a different position in the parent issue's sub-issue list.
request_copilot_review
Request a GitHub Copilot code review for a pull request. Use this for automated feedback on pull requests, usually before requesting a human reviewer.
rerun_failed_jobs
Re-run only the failed jobs in a workflow run
rerun_workflow_run
Re-run an entire workflow run
run_workflow
Run an Actions workflow by workflow ID or filename
search_code
Fast and precise code search across ALL GitHub repositories using GitHub's native search engine. Best for finding exact symbols, functions, classes, or specific code patterns.
search_issues
Search for issues in GitHub repositories using issues search syntax already scoped to is:issue
search_orgs
Find GitHub organizations by name, location, or other organization metadata. Ideal for discovering companies, open source foundations, or teams.
search_pull_requests
Search for pull requests in GitHub repositories using issues search syntax already scoped to is:pr
search_repositories
Find GitHub repositories by name, description, readme, topics, or other metadata. Perfect for discovering projects, finding examples, or locating specific repositories across GitHub.
search_users
Find GitHub users by username, real name, or other profile information. Useful for locating developers, contributors, or team members.
submit_pending_pull_request_review
Submit the requester's latest pending pull request review, normally this is a final step after creating a pending review, adding comments first, unless you know that the user already did the first two steps, you should check before calling this.
update_gist
Update an existing gist
update_issue
Update an existing issue in a GitHub repository.
update_pull_request
Update an existing pull request in a GitHub repository.
update_pull_request_branch
Update the branch of a pull request with the latest changes from the base branch.

Explore other MCP servers in our directory