GitHub Integration
STDIOMCP server providing Github integration for LLM interactions.
MCP server providing Github integration for LLM interactions.
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