Integrates with GitHub, allowing LLMs to interact with repositories, issues, and pull requests via the GitHub API.
A Model Context Protocol Server for Github.
Provides integration with Github through MCP, allowing LLMs to interact with it.
Create or get access token for your Github Account: Guide
Add server config to Claude Desktop:
{
"mcpServers": {
"github": {
"command": "npx",
"args": ["-y", "github-mcp-server"],
"env": {
"GITHUB_PERSONAL_ACCESS_TOKEN": "your_personal_github_access_token"
}
}
}
}
search_repositories
: Search GitHub for a repository.
query
(string): The query to search for repository.page
(number, default: 30, max: 100): Page number for pagination.per_page
(number, default: 30, max: 100): Number of results per page.search_issues
: Search issues from a repository.
query
(string): The query to search for repository.page
(number, default: 1): Page number for pagination.per_page
(number, default: 30, max: 100): Number of results per page.order
(optional string, default: desc
): Sort of order (asc
or desc
).sort
(optional string, default: best match
): Sort field (can be one of: comments
, reactions
, reactions-+1
, reactions--1
, reactions-smile
, reactions-thinking_face
, reactions-heart
, reactions-tada
, interactions
, created
or updated
).search_commits
: Search commits from a repository.
query
(string): The query to search for repository.page
(number, default: 1): Page number for pagination.per_page
(number, default: 30, max: 100): Number of results per page.order
(optional string, default: desc
): Sort of order (asc
or desc
).sort
(optional string, default: best match
): Sort field (can be one of: committer-date
or author-date
).search_code
: Search code from a repository.
query
(string): The query to search for repository.page
(number, default: 1): Page number for pagination.per_page
(number, default: 30, max: 100): Number of results per page.search_users
: Search users from a repository.
query
(string): The query to search for repository.page
(number, default: 1): Page number for pagination.per_page
(number, default: 30, max: 100): Number of results per page.order
(optional string, default: desc
): Sort of order (asc
or desc
).sort
(optional string, default: best match
): Sort field (can be one of: followers
, repositories
or joined
).search_topics
: Search topics.
query
(string): The query to search for repository.page
(number, default: 1): Page number for pagination.per_page
(number, default: 30, max: 100): Number of results per page.search_labels
: Search labels in a repository.
query
(string): The query to search for repository.page
(number, default: 1): Page number for pagination.per_page
(number, default: 30, max: 100): Number of results per page.order
(optional string, default: desc
): Sort of order (asc
or desc
).sort
(optional string, default: best match
): Sort field (can be one of: created
or updated
).list_repositories_issues
: List issues from a repository.
owner
(string): The owner of the repository.repo
(string): The repository name.page
(optional number, default: 1): Page number for pagination.per_page
(optional number, default: 30, max: 100): Number of results per page.direction
(optional string, default: desc
): Direction of sort (asc
or desc
).sort
(optional string, default: created
): Sort field (can be one of: created
, comments
or updated
).since
(optional string): Results last updated after the given time (ISO 8601 format: YYYY-MM-DDTHH:MM:SSZ.).labels
(optional string): Comma separated label names. Example: bug,ui,@high.milestone
(optional string): Milestone number.assignee
(optional string): Name of assignee user (*
for all).creator
(optional string): The user that created the issue. (*
for all).mentioned
(optional string): A user that's mentioned in the issue.get_issue
: Get an issue from a repository.
owner
(string): The owner of the repository.repo
(string): The repository name.issue_number
(number): The issue number.list_repositories_pull_requests
: List pull requests from a repository.
owner
(string): The owner of the repository.repo
(string): The repository name.page
(optional number, default: 1): Page number for pagination.per_page
(optional number, default: 30, max: 100): Number of results per page.direction
(optional string, default: desc
): Direction of sort (asc
or desc
).sort
(optional string, default: created
): Sort field (can be one of: created
, popularity
, long-running
or updated
).head
(optional string): Filter pulls by head user or head organization and branch name in the format of user:ref-name or organization:ref-name (For example: github:new-script-format or octocat:test-branch).base
(optional string): Filter pulls by base branch name. (For example: gh-pages).get_pull_request
: Get a pull request from a repository.
owner
(string): The owner of the repository.repo
(string): The repository name.pull_request_number
(number): The pull request number.Some example prompts you can use to interact with Github:
search_repositories
tool to find repositories where modelcontextprotocol mentioned.get_issue
tool to find 739 issue from modelcontextprotocol servers repo.get_pull_request
tool to find 717 PR from modelcontextprotocol servers repo.pnpm install
.env
:GITHUB_PERSONAL_ACCESS_TOKEN=<your_personal_github_access_token>
pnpm dev
pnpm build
pnpm inspector
Token-based GitHub automation management. No Docker, Flexible configuration, 80+ tools with direct API integration.
Integrates with GitHub APIs for advanced automation and interaction, supporting both remote and local deployments.
Manage GitHub repositories using a personal access token via CLI or environment variables.
An MCP server for Bitbucket that provides pull request context to LLMs for automated code reviews.
Gitee API integration, repository, issue, and pull request management, and more.
Interact with GitHub repositories, including issues, pull requests, commits, releases, and actions.
Tools to read, search, and manipulate Git repositories
Integrate with the GitHub Enterprise API to access repositories, issues, pull requests, and workflows.
Manage GitHub Projects V2 using the GitHub GraphQL API.
Connects AI assistants to Obsidian vaults stored in GitHub repositories, enabling them to read, search, and analyze your notes and documentation.