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 the `repo` and `workflow` scopes 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 54 tools

Disambiguation4/5

Within GitHub domains, most tools target distinct actions/resources, and descriptions clarify boundaries. However the PR comment/review cluster (add_pr_comments, add_inline_pr_comment, update_pr_comment, reply_to_review_comment, submit_review) has overlapping purposes that require careful reading, and auxiliary UI/skill tools add another layer.

Naming Consistency4/5

The vast majority follow github_<verb>_<noun> snake_case (e.g., github_create_issue, github_list_repos). Deviations include the bare 'choose', the noun-style 'github_pr_issue_analyser_ui', and inconsistent repo vs repository abbreviations (github_list_repos vs github_get_repository_file), but the core set is predictable.

Tool Count2/5

54 tools far exceeds the 3-15 sweet spot and the rubric's 25+ threshold for 'too many'. The server spans many domains—PRs, issues, releases, projects, user activity, UI rendering, skills—so the surface is heavy and likely overwhelming for an agent.

Completeness4/5

The server covers a broad lifecycle: issue create/get/update/list/search/milestone/assignees, PR create/update/review/merge/diff/status, releases/tags create/list/update/delete, and project board operations. Minor gaps exist (e.g., explicit close/delete issue or comment, full repo creation), but core workflows are well covered.

Maintenance

ActivityActive
ResponsivenessResponsive