ai.smithery/saidsef-mcp-github-pr-issue-analyser

编码与调试

by saidsef

一款基于 Model Context Protocol(MCP)的应用,可自动分析 GitHub PR 并辅助管理 issue。

什么是 ai.smithery/saidsef-mcp-github-pr-issue-analyser

一款基于 Model Context Protocol(MCP)的应用,可自动分析 GitHub PR 并辅助管理 issue。

README

MCP for GitHub PR, Issues, Tags and Releases

CI Tag and Release Maintainability Codacy Badge

The Model Context Protocol (MCP) is an open standard that enables seamless integration between Large Language Models (LLMs) and external tools. Whilst it can be implemented in any AI system, including custom LLM setups, the degree of integration and optimisation varies based on the model's architecture and capabilities.

This MCP application serves as a bridge between LLMs and GitHub's repository management features, offering automated analysis of pull requests and comprehensive issue management. It provides a robust set of tools to fetch PR details, create issues, and update issues directly from your desktop LLM. The application is designed with modularity in mind, supporting extensibility via the MCP tool interface and seamless integration with existing workflows.

The toolset enables automated PR analysis, issue tracking, tagging and release management through a standardised MCP interface, making it ideal for teams seeking to streamline their GitHub workflow automation.

Features

FunctionDescription
Analyse GitHub Pull Requests and fetch diffsRetrieve the diff/patch for any PR in a repository.
Fetch content and metadata for specific PRsGet PR title, description, author, timestamps, and state.
Fetch linked issues for a PRGet the issues that will auto-close when a PR is merged, via GraphQL closingIssuesReferences.
Fetch CI status checks for a PRGet check run conclusions and legacy commit status for a PR's HEAD commit.
Create Pull RequestsOpen new PRs with title, body, head/base branch, and draft option.
Update PR title and descriptionChange the title and body of any PR.
Merge Pull RequestsMerge a PR using merge, squash, or rebase method.
Add comments to PRsPost general comments to a PR thread.
Add inline review comments to PRsComment on specific lines in PR files for code review.
Submit PR ReviewsApprove, request changes, or comment on a PR review.
Update PR AssigneesAssign or update users on a PR or issue.
Create and update GitHub IssuesOpen new issues or update existing ones with title, body, labels, and state.
List all open Issues or Pull RequestsView all open PRs or issues for any user or organisation.
Create tags and releasesTag repository commits and publish releases with changelogs.
Search GitHub UsersRetrieve user profile information via GraphQL.
Get User ActivityFetch commit, PR, issue, and review contributions with org/repo/date filtering.

Requirements

  • Python 3.12+
  • GitHub Personal Access Token (with repo scope) or a GitHub OAuth App (client ID, secret, and a public base URL)

Authentication

Two auth modes are supported. The active mode is selected automatically from environment variables.

ModeWhen activeToken used for API calls
Static token (default)GITHUB_TOKEN set; no GITHUB_OAUTH_* varsServer's GITHUB_TOKEN for all calls
GitHub OAuth2GITHUB_TOKEN + all three GITHUB_OAUTH_* vars setEach user's own gho_* token

Environment Variables

VariableRequiredDescription
GITHUB_TOKENYesGitHub PAT with repo scope; used as the Bearer token in static-token HTTP mode
MCP_ENABLE_REMOTENoAny non-empty value enables HTTP mode (required for OAuth2)
GITHUB_OAUTH_CLIENT_IDOAuth2 onlyGitHub OAuth App client ID
GITHUB_OAUTH_CLIENT_SECRETOAuth2 onlyGitHub OAuth App client secret
GITHUB_OAUTH_BASE_URLOAuth2 onlyPublic base URL of the MCP server (used for the OAuth2 redirect)
REDIS_HOST_PORTNoRedis connection string. Accepts host:port or a full URI: redis://[:password@]host:port[/db] (plaintext) or rediss://[:password@]host:port[/db] (TLS). When set, OAuth token state is stored in Redis instead of in-process memory.
REDIS_PASSWORDNoRedis AUTH password fallback — used when the password is not embedded in the URI.
PORTNo (default 8081)HTTP server port
HOSTNo (default localhost)HTTP server host
GITHUB_API_TIMEOUTNo (default 5)Timeout in seconds for GitHub API requests

To create a GitHub OAuth App, go to Settings → Developer settings → OAuth Apps → New OAuth App and set the Authorization callback URL to <GITHUB_OAUTH_BASE_URL>/auth/callback (e.g. https://mcp.example.com/auth/callback).

Architecture Diagram

ascii
                              +------------------------+
                              |                        |
                              |    MCP Client/User     |
                              |                        |
                              +------------------------+
                                         |
                                         | (stdio/http)
                                         v
                              +------------------------+
                              |      Auth Layer        +-->+------------------------+
                              |   (auth.py)            |   | OAuth Token Store      |
                              |                        |   | MemoryStore (default)  |
                              | stdio : no auth        |   | RedisStore             |
                              | http  : APIKeyVerifier |   |   (REDIS_HOST_PORT set)|
                              | oauth : GitHub OAuth2  |   |   redis:// / rediss:// |
                              |   (DCR + token proxy)  |   +------------------------+
                              +------------------------+             |
                                         |                           v
                                         |                     +----------+
                                         |                     |  Redis   |
                                         |                     +----------+
                                         v
                              +------------------------+
                              |    PRIssueAnalyser     |
                              |    (FastMCP Server)    |
                              +------------------------+
                                         |
                                         | (API calls)
                                         v
                              +------------------------+
                              |   GitHub Integration   |
                              +------------------------+
                                         |
                     +-------------------+-------------------+
                     | (REST API)                            | (GraphQL API)
                     v                                       v
   +---------------------------------------+   +-----------------------------+
   |                                       |   |                             |
   | PRs (diff, content, status, linked    |   | User Search & Activity      |
   | issues, reviews, comments, merge)     |   | (contributions, profile)    |
   |                                       |   |                             |
   | Issues (create, update, list, assign) |   | PR Linked Issues            |
   |                                       |   | PR Status Checks            |
   | Tags and Releases                     |   |                             |
   +---------------------------------------+   +-----------------------------+

Tool Categories

  1. PR Management: Fetch diffs, content, linked issues, CI status - create, review, merge, and update
  2. Issue Tracking: Create, update, list, and assign
  3. Release Management: Tags and releases
  4. User Search: Profile lookup and activity tracking via GraphQL

Main Flows

  • MCP Client: Interacts via stdio or streamable HTTP
  • Auth Layer: Selects APIKeyVerifier (static token) or GitHub OAuth2 provider; token state in MemoryStore or RedisStore
  • PRIssueAnalyser: FastMCP server - handles tool registration and request routing
  • GitHub Integration: All GitHub API calls (REST v3 + GraphQL v4)

Local Installation

  1. Clone the repository:
sh
git clone https://github.com/saidsef/mcp-github-pr-issue-analyser.git
cd mcp-github-pr-issue-analyser
  1. Install dependencies:

Launch MCP in stdio mode.

sh
export GITHUB_TOKEN="<github-token>"
uvx ./

Alternatively, launch MCP in http mode.

sh
export GITHUB_TOKEN="<github-token>"
export MCP_ENABLE_REMOTE=true
uvx ./

You can access it via http i.e. http(s)://localhost:8081/mcp In HTTP mode, clients must authenticate with Authorization: Bearer <GITHUB_TOKEN>.

Alternatively, launch MCP in http mode with GitHub OAuth2 authentication.

sh
export GITHUB_TOKEN="<github-token>"
export MCP_ENABLE_REMOTE=true
export GITHUB_OAUTH_CLIENT_ID="<oauth-app-client-id>"
export GITHUB_OAUTH_CLIENT_SECRET="<oauth-app-client-secret>"
export GITHUB_OAUTH_BASE_URL="https://<your-public-host>"
uvx ./

In OAuth2 mode, users authenticate via GitHub's OAuth flow. Each user's own GitHub token is used for API calls.

Alternatively, run via Docker using the published image.

sh
docker run -e GITHUB_TOKEN="<github-token>" \
  -p 8081:8081 \
  ghcr.io/saidsef/mcp-github-pr-issue-analyser:latest

Local Integration with IDEs and LLMs

To add an MCP server to your IDE or LLM, you need to add this section to the configuration file. The basic structure involves defining a server name and providing the command and any necessary arguments to run the server.

<details> <summary>Claude / Cursor / Windsurf</summary>
json
{
  "mcpServers": {
    "github_prs_issues": {
      "command": "uvx",
      "env": {
        "GITHUB_TOKEN": "<your-github-token>"
      },
      "args": [
        "https://github.com/saidsef/mcp-github-pr-issue-analyser.git",
      ]
    }
  }
}
</details> <details> <summary>VS Code</summary>
json
{
  "inputs": [
    {
      "type": "promptString",
      "id": "github-token",
      "description": "Enter your GitHub token",
      "password": true
    }
  ],
  "servers": {
    "github-prs-issues": {
      "type": "stdio",
      "command": "uvx",
      "args": [
        "https://github.com/saidsef/mcp-github-pr-issue-analyser.git",
      ],
      "env": {
        "GITHUB_TOKEN": "${input:github-token}"
      }
    }
  }
}
</details>

Source

Our latest and greatest source of mcp-github-pr-issue-analyser can be found on [GitHub]. Fork us!

Contributing

We would :heart: you to contribute by making a pull request.

Please read the official Contribution Guide for more information on how you can contribute.

常见问题

ai.smithery/saidsef-mcp-github-pr-issue-analyser 是什么?

一款基于 Model Context Protocol(MCP)的应用,可自动分析 GitHub PR 并辅助管理 issue。

相关 Skills

前端设计

by anthropics

Universal
热门

面向组件、页面、海报和 Web 应用开发,按鲜明视觉方向生成可直接落地的前端代码与高质感 UI,适合做 landing page、Dashboard 或美化现有界面,避开千篇一律的 AI 审美。

想把页面做得既能上线又有设计感,就用前端设计:组件到整站都能产出,难得的是能避开千篇一律的 AI 味。

编码与调试
未扫描165.3k

网页应用测试

by anthropics

Universal
热门

用 Playwright 为本地 Web 应用编写自动化测试,支持启动开发服务器、校验前端交互、排查 UI 异常、抓取截图与浏览器日志,适合调试动态页面和回归验证。

借助 Playwright 一站式验证本地 Web 应用前端功能,调 UI 时还能同步查看日志和截图,定位问题更快。

编码与调试
未扫描165.3k

网页构建器

by anthropics

Universal
热门

面向复杂 claude.ai HTML artifact 开发,快速初始化 React + Tailwind CSS + shadcn/ui 项目并打包为单文件 HTML,适合需要状态管理、路由或多组件交互的页面。

在 claude.ai 里做复杂网页 Artifact 很省心,多组件、状态和路由都能顺手搭起来,React、Tailwind 与 shadcn/ui 组合效率高、成品也更精致。

编码与调试
未扫描165.3k

相关 MCP Server

GitHub

编辑精选

by GitHub

热门

GitHub 是 MCP 官方参考服务器,让 Claude 直接读写你的代码仓库和 Issues。

这个参考服务器解决了开发者想让 AI 安全访问 GitHub 数据的问题,适合需要自动化代码审查或 Issue 管理的团队。但注意它只是参考实现,生产环境得自己加固安全。

编码与调试
89.1k

by Context7

热门

Context7 是实时拉取最新文档和代码示例的智能助手,让你告别过时资料。

它能解决开发者查找文档时信息滞后的问题,特别适合快速上手新库或跟进更新。不过,依赖外部源可能导致偶尔的数据延迟,建议结合官方文档使用。

编码与调试
60.0k

by tldraw

热门

tldraw 是让 AI 助手直接在无限画布上绘图和协作的 MCP 服务器。

这解决了 AI 只能输出文本、无法视觉化协作的痛点——想象让 Claude 帮你画流程图或白板讨论。最适合需要快速原型设计或头脑风暴的开发者。不过,目前它只是个基础连接器,你得自己搭建画布应用才能发挥全部潜力。

编码与调试
49.5k

评论