github
Built by Metorial, the integration platform for agentic AI.
github
Server Summary
Manage GitHub repositories
Track issues and pull requests
Search and navigate code
Automate development workflows
A comprehensive Model Context Protocol (MCP) server that provides seamless integration with GitHub's platform. This server enables AI assistants and applications to interact with GitHub repositories, issues, pull requests, and code through a robust set of tools and resources. Whether you're managing projects, reviewing code, or searching repositories, this server provides the complete GitHub workflow automation you need.
The GitHub MCP Server bridges the gap between AI assistants and GitHub's extensive platform capabilities. It provides a standardized interface for performing common GitHub operations like repository management, issue tracking, pull request workflows, and code navigation. By exposing GitHub's functionality through the Model Context Protocol, this server enables natural language interactions with your development workflow, making project management and code collaboration more intuitive and efficient.
List repositories for a specific user or organization, or search repositories across GitHub.
Parameters:
username (optional): GitHub username or organization to list repositories forsearch_query (optional): Search query string to find repositoriessort (optional): Sort by created, updated, pushed, full_name, or starspage (optional): Page number for pagination (default: 1, min: 1)per_page (optional): Results per page (default: 30, min: 1, max: 100)Retrieve issues from a repository with comprehensive filtering capabilities.
Parameters:
owner (required): Repository owner usernamerepo (required): Repository namestate (optional): Filter by open, closed, or all issues (default: open)labels (optional): Comma-separated list of label namessort (optional): Sort by created, updated, or commentspage (optional): Page number for pagination (default: 1, min: 1)per_page (optional): Results per page (default: 30, min: 1, max: 100)List pull requests for a repository with filtering options.
Parameters:
owner (required): Repository owner usernamerepo (required): Repository namestate (optional): Filter by open, closed, or all pull requests (default: open)sort (optional): Sort by created, updated, popularity, or long-runningpage (optional): Page number for pagination (default: 1, min: 1)per_page (optional): Results per page (default: 30, min: 1, max: 100)Create a new issue in a repository.
Parameters:
owner (required): Repository owner usernamerepo (required): Repository nametitle (required): Issue titlebody (optional): Issue description or body textlabels (optional): Array of label names to applyassignees (optional): Array of usernames to assign to the issueUpdate an existing issue's properties.
Parameters:
owner (required): Repository owner usernamerepo (required): Repository nameissue_number (required): Issue number to updatetitle (optional): New issue titlebody (optional): New issue body textstate (optional): New state (open or closed)labels (optional): Array of label namesassignees (optional): Array of usernames to assignAdd a comment to an existing issue.
Parameters:
owner (required): Repository owner usernamerepo (required): Repository nameissue_number (required): Issue number to comment onbody (required): Comment textCreate a new pull request between branches.
Parameters:
owner (required): Repository owner usernamerepo (required): Repository nametitle (required): Pull request titlehead (required): Branch name where your changes are implementedbase (required): Branch name you want to merge intobody (optional): Pull request descriptiondraft (optional): Create as a draft pull requestUpdate an existing pull request's metadata.
Parameters:
owner (required): Repository owner usernamerepo (required): Repository namepull_number (required): Pull request numbertitle (optional): New pull request titlebody (optional): New pull request bodystate (optional): New state (open or closed)Create a review on a pull request with optional line comments.
Parameters:
owner (required): Repository owner usernamerepo (required): Repository namepull_number (required): Pull request numberevent (required): Review action (APPROVE, REQUEST_CHANGES, or COMMENT)body (optional): Overall review commentcomments (optional): Array of line-specific comments, each containing:
path (required): File pathbody (required): Comment textline (optional): Line number in the fileposition (optional): Position in diffside (optional): Side of diff (LEFT or RIGHT)List commits in a repository.
Parameters:
owner (required): Repository owner usernamerepo (required): Repository namesha (optional): SHA or branch name to start listing frompage (optional): Page number for pagination (default: 1, min: 1)per_page (optional): Results per page (default: 30, min: 1, max: 100)List all branches in a repository.
Parameters:
owner (required): Repository owner usernamerepo (required): Repository namepage (optional): Page number for pagination (default: 1, min: 1)per_page (optional): Results per page (default: 30, min: 1, max: 100)Create a new repository for the authenticated user.
Parameters:
name (required): Repository namedescription (optional): Repository descriptionprivate (optional): Make repository private (default: false)auto_init (optional): Initialize with a README fileSearch for code across GitHub repositories.
Parameters:
query (required): Search query (e.g., "console.log repo:owner/name")sort (optional): Sort by indexedorder (optional): Sort direction (asc or desc)page (optional): Page number for pagination (default: 1, min: 1)per_page (optional): Results per page (default: 30, min: 1, max: 100)List the contents of a directory in a repository.
Parameters:
owner (required): Repository owner usernamerepo (required): Repository namepath (optional): Directory path (empty string for root directory)ref (optional): Branch, tag, or commit SHACreate a new file or update an existing file in a repository.
Parameters:
owner (required): Repository owner usernamerepo (required): Repository namepath (required): File path within the repositorymessage (required): Commit messagecontent (required): File content (will be automatically base64 encoded)sha (optional): Blob SHA of the file being replaced (required for updates)branch (optional): Branch to commit toFork a repository to your account or an organization.
Parameters:
owner (required): Repository owner usernamerepo (required): Repository nameorganization (optional): Organization name to fork toAccess comprehensive repository details and metadata.
URI Pattern: github://repository/{owner}/{repo}
Provides information about repository settings, statistics, description, and other metadata.
Access the content of files stored in a repository.
URI Pattern: github://repository/{owner}/{repo}/file/{path}
Retrieve file contents from any branch or commit in the repository.
Access detailed information about a specific issue.
URI Pattern: github://issue/{owner}/{repo}/{issue_number}
Retrieve issue details including title, body, labels, assignees, comments, and state.
Access detailed information about a specific pull request.
URI Pattern: github://pull/{owner}/{repo}/{pull_number}
Retrieve pull request details including diff information, review status, and metadata.
Access user or organization profile information.
URI Pattern: github://user/{username}
Retrieve profile information, statistics, and public data for users and organizations.
Access information about a specific branch in a repository.
URI Pattern: github://repository/{owner}/{repo}/branch/{branch}
Retrieve branch details including commit information and protection status.
This GitHub MCP Server is ideal for:
The server provides a complete GitHub automation solution that integrates seamlessly with AI assistants, enabling sophisticated workflows through natural language interactions.