Github MCP Server
Provides integration with Github through the Model Context Protocol (MCP), allowing Large Language Models to interact with Github's repositories, issues, pull requests and search functionality.
ParasSolanki
README
Github MCP Server
A Model Context Protocol Server for Github.
Provides integration with Github through MCP, allowing LLMs to interact with it.
Installation
Manual Installation
-
Create or get access token for your Github Account: Guide
-
Add server config to Claude Desktop:
- MacOS: ~/Library/Application Support/Claude/claude_desktop_config.json
- Windows: Check this Guide
{
"mcpServers": {
"github": {
"command": "npx",
"args": ["-y", "github-mcp-server"],
"env": {
"GITHUB_PERSONAL_ACCESS_TOKEN": "your_personal_github_access_token"
}
}
}
}
Components
Tools
-
search_repositories
: Search GitHub for a repository.- Required inputs:
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.
- Required inputs:
-
search_issues
: Search issues from a repository.- Required inputs:
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
ordesc
).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
orupdated
).
- Required inputs:
-
search_commits
: Search commits from a repository.- Required inputs:
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
ordesc
).sort
(optional string, default:best match
): Sort field (can be one of:committer-date
orauthor-date
).
- Required inputs:
-
search_code
: Search code from a repository.- Required inputs:
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.
- Required inputs:
-
search_users
: Search users from a repository.- Required inputs:
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
ordesc
).sort
(optional string, default:best match
): Sort field (can be one of:followers
,repositories
orjoined
).
- Required inputs:
-
search_topics
: Search topics.- Required inputs:
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.
- Required inputs:
-
search_labels
: Search labels in a repository.- Required inputs:
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
ordesc
).sort
(optional string, default:best match
): Sort field (can be one of:created
orupdated
).
- Required inputs:
-
list_repositories_issues
: List issues from a repository.- Required inputs:
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
ordesc
).sort
(optional string, default:created
): Sort field (can be one of:created
,comments
orupdated
).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.
- Required inputs:
-
get_issue
: Get an issue from a repository.- Required inputs:
owner
(string): The owner of the repository.repo
(string): The repository name.issue_number
(number): The issue number.
- Required inputs:
-
list_repositories_pull_requests
: List pull requests from a repository.- Required inputs:
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
ordesc
).sort
(optional string, default:created
): Sort field (can be one of:created
,popularity
,long-running
orupdated
).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).
- Required inputs:
-
get_pull_request
: Get a pull request from a repository.- Required inputs:
owner
(string): The owner of the repository.repo
(string): The repository name.pull_request_number
(number): The pull request number.
- Required inputs:
Usage examples
Some example prompts you can use to interact with Github:
- "modelcontextprotocol" → execute the
search_repositories
tool to find repositories where modelcontextprotocol mentioned. - "What is the 739 issue on modelcontextprotocol servers repo" → execute the
get_issue
tool to find 739 issue from modelcontextprotocol servers repo. - "What is the 717 PR on modelcontextprotocol servers repo" → execute the
get_pull_request
tool to find 717 PR from modelcontextprotocol servers repo.
Development
- Install dependencies:
pnpm install
- Configure Github Access token in
.env
:
GITHUB_PERSONAL_ACCESS_TOKEN=<your_personal_github_access_token>
- Run locally with watch:
pnpm dev
- Build the server:
pnpm build
- Local debugging with inspector:
pnpm inspector
Recommended Servers
playwright-mcp
A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.
Magic Component Platform (MCP)
An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.
MCP Package Docs Server
Facilitates LLMs to efficiently access and fetch structured documentation for packages in Go, Python, and NPM, enhancing software development with multi-language support and performance optimization.
Claude Code MCP
An implementation of Claude Code as a Model Context Protocol server that enables using Claude's software engineering capabilities (code generation, editing, reviewing, and file operations) through the standardized MCP interface.
@kazuph/mcp-taskmanager
Model Context Protocol server for Task Management. This allows Claude Desktop (or any MCP client) to manage and execute tasks in a queue-based system.
Gitingest-MCP
An MCP server for gitingest. It allows MCP clients like Claude Desktop, Cursor, Cline etc to quickly extract information about Github repositories including repository summaries, project directory structure, file contents, etc
Linear MCP Server
Enables interaction with Linear's API for managing issues, teams, and projects programmatically through the Model Context Protocol.
mermaid-mcp-server
A Model Context Protocol (MCP) server that converts Mermaid diagrams to PNG images.
Jira-Context-MCP
MCP server to provide Jira Tickets information to AI coding agents like Cursor

Linear MCP Server
A Model Context Protocol server that integrates with Linear's issue tracking system, allowing LLMs to create, update, search, and comment on Linear issues through natural language interactions.