Skip to main content
Glama
saidsef

GitHub PR Issue Analyser

by saidsef
README.md
# MCP for GitHub PR, Issues, Tags and Releases

[![CI](https://github.com/saidsef/mcp-github-pr-issue-analyser/actions/workflows/ci.yml/badge.svg)](https://github.com/saidsef/mcp-github-pr-issue-analyser/actions/workflows/ci.yml) [![Tag and Release](https://github.com/saidsef/mcp-github-pr-issue-analyser/actions/workflows/tag_release.yml/badge.svg)](https://github.com/saidsef/mcp-github-pr-issue-analyser/actions/workflows/tag_release.yml) [![Maintainability](https://qlty.sh/gh/saidsef/projects/mcp-github-pr-issue-analyser/maintainability.svg)](https://qlty.sh/gh/saidsef/projects/mcp-github-pr-issue-analyser) [![Codacy Badge](https://app.codacy.com/project/badge/Grade/9ca2ee03cbfa4407944a2450b1719d5d)](https://app.codacy.com/gh/saidsef/mcp-github-pr-issue-analyser/dashboard?utm_source=gh&utm_medium=referral&utm_content=&utm_campaign=Badge_grade)

An [MCP](https://www.anthropic.com/news/model-context-protocol) server that connects an LLM to GitHub's repository management features. It analyses pull requests, manages issues, and handles tags and releases, over stdio or HTTP, with a static token or GitHub OAuth2.

- **Pull requests** - fetch diffs, content, linked issues and CI status, create, comment, review, merge and update, close, retarget, label and flip draft status, read and correct posted comments
- **Issues** - create, update, list, search and assign, read a repository's labels, run milestones and file issues under them
- **Releases** - tag commits, publish releases, and list, correct or withdraw what is published
- **Users** - profile lookup, contribution activity and star growth via GraphQL
- **Repositories** - list what a user, an organisation or the caller owns, and read any file or directory tree at a branch, tag or SHA

The full tool list is in [docs/tools.md](./docs/tools.md).

## Quick start

```sh
export GITHUB_TOKEN="<github-token>"
uvx https://github.com/saidsef/mcp-github-pr-issue-analyser.git
```

Then add it to your client:

```json
{
  "mcpServers": {
    "github_prs_issues": {
      "command": "uvx",
      "args": [
        "https://github.com/saidsef/mcp-github-pr-issue-analyser.git"
      ],
      "env": {
        "GITHUB_TOKEN": "<your-github-token>"
      }
    }
  }
}
```

For HTTP mode, Docker, Kubernetes and OAuth2, see the documentation below.

## Documentation

The pages below are also published on [Read the Docs](https://mcp-github-pr-issue-analyser.readthedocs.io/en/latest/architecture/).

| Page | Contents |
|------|----------|
| [Installation](./docs/installation.md) | Requirements, running from source, Docker, Kubernetes |
| [Configuration](./docs/configuration.md) | Auth modes, environment variables, OAuth App setup, token stores |
| [Client configuration](./docs/mcp-clients.md) | Ready-to-paste configs for token and OAuth2, per client |
| [Tools](./docs/tools.md) | Every tool the server registers, and the skills that drive them |
| [Architecture](./docs/architecture.md) | Request path from client to GitHub API |
| [Metrics](./docs/metrics.md) | Prometheus endpoint, metric names, scrape setup |

## Requirements

Python 3.14, and a GitHub personal access token with `repo` scope or a GitHub OAuth App.

## Source

Our latest and greatest source of *mcp-github-pr-issue-analyser* can be found on [GitHub](https://github.com/saidsef/mcp-github-pr-issue-analyser). [Fork us](https://github.com/saidsef/mcp-github-pr-issue-analyser/fork)!

## Contributing

We would :heart: you to contribute by making a [pull request](https://github.com/saidsef/mcp-github-pr-issue-analyser/pulls).

Please read the official [Contribution Guide](./CONTRIBUTING.md) for more information on how you can contribute.

TDQS

A3.5/5.0

Scored across 53 tools

Disambiguation4/5

Most tools have clearly distinct resource+action targets, and descriptions explicitly disambiguate close pairs like github_list_open_issues_prs vs github_search_issues_prs and github_add_pr_comments vs github_add_inline_pr_comment. A few comment-related and PR-content getters are close enough that an agent could pick the wrong one without reading carefully, so it is not a perfect 5.

Naming Consistency4/5

The overwhelming majority follow a github_<verb>_<noun> pattern with consistent verbs like list, get, create, update, delete, set, add, and search. The pattern is broken by generic 'choose' and the oddly-named 'github_pr_issue_analyser_ui', and there is minor PR/pull_request abbreviation variance, so it is not a perfect 5.

Tool Count2/5

53 tools is far above the heavy threshold, and the set spans many unrelated domains including releases, tags, project boards, UI rendering, and skills, going well beyond the PR/issue analysis implied by the server name. Each domain is internally well-covered, but the server would be easier to navigate if split into focused servers or substantially trimmed.

Completeness4/5

The core issue and PR workflows are strongly covered: create/get/update/search issues, PR content/diff/status/linked issues/merge/update, plus comments and reviews. The main gap is issue comments, since only PR comments are supported, and the release/tag/project-board tooling is tangential to the stated analyser purpose, but the primary workflows have no dead ends.

Maintenance

ActivityActive
ResponsivenessResponsive