MCP for GitHub PR, Issues, Tags and Releases
@saidsef
A Model Context Protocol (MCP) application for automated GitHub PR analysis and issue management. Enables LLMs to fetch PR details, analyse diffs, manage issues, and handle releases through a standardised interface
Overview
What is MCP for GitHub PR, Issues, Tags and Releases?
This server bridges Large Language Models (LLMs) with GitHub repository management via the Model Context Protocol (MCP). It automates analysis of pull requests, issue tracking, tagging, and release management, enabling teams to streamline GitHub workflows directly from desktop LLMs.
How to use MCP for GitHub PR, Issues, Tags and Releases?
Install with Python 3.12+ and set a GITHUB_TOKEN (with repo scope) or configure GitHub OAuth2. Launch via uvx ./ in stdio mode or set MCP_ENABLE_REMOTE=true for HTTP mode. Optionally run with Docker: docker run -e GITHUB_TOKEN="<token>" -p 8081:8081 ghcr.io/saidsef/mcp-github-pr-issue-analyser:latest.
Key features of MCP for GitHub PR, Issues, Tags and Releases
- Fetch PR diffs, content, metadata, and linked issues
- Retrieve CI status checks for any PR
- Create, update, merge, and review pull requests
- Add inline review comments and submit PR reviews
- Create, update, list, and assign GitHub issues
- Create tags and releases with changelogs
- Search GitHub users and get activity contributions
Use cases of MCP for GitHub PR, Issues, Tags and Releases
- Automate PR analysis and code review within an LLM chat
- Track and update issues without leaving the MCP client
- Manage release tagging and changelog generation
- Search user profiles and contribution history
- Streamline team GitHub workflow automation
FAQ from MCP for GitHub PR, Issues, Tags and Releases
What authentication modes are supported?
Two modes: static token (default, using GITHUB_TOKEN) and GitHub OAuth2 (requires GITHUB_TOKEN, GITHUB_OAUTH_CLIENT_ID, GITHUB_OAUTH_CLIENT_SECRET, and GITHUB_OAUTH_BASE_URL). Mode is auto-selected from environment variables.
What are the runtime requirements?
Python 3.12+ and a GitHub Personal Access Token with repo scope. For OAuth2 mode, a GitHub OAuth App must be created. Optional Redis for token state storage.
How are GitHub API calls made?
The server uses both REST API v3 and GraphQL API v4. REST is used for PR diffs, content, issues, tags, releases; GraphQL for PR linked issues, status checks, user search, and activity.
Can this server run in HTTP mode?
Yes. Set MCP_ENABLE_REMOTE=true and optionally PORT (default 8081) and HOST (default localhost). Clients authenticate via Authorization: Bearer <GITHUB_TOKEN> (static token mode) or via OAuth2 flow.
What transport modes are supported?
Stdio (default) and streamable HTTP. In HTTP mode, the server listens at http://<host>:<port>/mcp.