GitHub
STDIOGitHub integration for LLMs through Model Context Protocol
GitHub integration for LLMs through Model Context Protocol
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