Skip to main content
Glama
aq35
by aq35
README.md
# GitHub PR Review MCP

プライベートGitHubリポジトリのPull Requestコメントを収集するMCPサーバーです。

## できること

- PRのコメント群を一括収集
  - issueコメント
  - reviewコメント
  - reviewサマリー
- 未返信のreviewコメントを抽出

## 前提

- Node.js 18+
- GitHub Personal Access Token
  - プライベートリポジトリを扱うため `repo` 権限が必要

## セットアップ

```bash
npm install
npm run build
```

`.env` を作成して設定してください(`dotenv` で自動読み込みされます)。

```bash
cp .env.example .env
```

`.env` 例:

```bash
GITHUB_TOKEN=ghp_xxx
TEST_REPOSITORY=owner/repo
TEST_PULL_NUMBER=123
# TEST_INCLUDE_RESOLVED_REPLIES=true
# GITHUB_API_BASE_URL=https://github.example.com/api/v3
```

## 起動

```bash
npm start
```

開発時は以下で直接起動できます。

```bash
npm run dev
```

## 実動作テスト

このブランチ内だけで動作確認を完結する場合は、`.env` の `TEST_REPOSITORY` と `TEST_PULL_NUMBER` を設定したうえで、以下を実行してください。

```bash
npm run test:collect
```

引数で明示指定することもできます。

```bash
npm run test:collect -- owner/repo 123
```

第3引数で `includeResolvedReplies` を指定できます。

```bash
npm run test:collect -- owner/repo 123 false
```

このコマンドはローカルでMCPサーバーを起動し、`collect_pr_feedback` を実行して結果JSONを表示します。

## MCPクライアント設定例

```json
{
  "mcpServers": {
    "github-pr-review": {
      "command": "node",
      "args": ["/absolute/path/to/mcp_tool/dist/index.js"],
      "env": {
        "GITHUB_TOKEN": "ghp_xxx"
      }
    }
  }
}
```

## 提供ツール

### 1) `collect_pr_feedback`

PRのコメント情報をまとめて取得します。

- 入力
  - `repository`: `owner/repo`
  - `pullNumber`: PR番号
  - `includeResolvedReplies` (任意, default: `true`): 返信コメントを含めるか
- 出力
  - PRメタ情報
  - issueコメント一覧
  - reviewコメント一覧
  - 未返信reviewコメント一覧
  - review一覧

## 運用イメージ

1. `collect_pr_feedback` で現状コメントを収集
2. 未返信コメントや修正要望を整理して、ローカルで修正を進める
3. 修正内容をPRブランチへ修正単位でコミットする

TDQS

B3.3/5.0

Scored across 1 tool

Disambiguation5/5

With only one tool, there is no potential for confusion between tools. The tool's purpose is clearly described.

Naming Consistency5/5

Single tool name follows a consistent verb_noun pattern ('collect_pr_feedback'), so no inconsistency exists.

Tool Count1/5

A single tool for a PR review server is severely inadequate. Expected tools for PR listing, diff viewing, commenting, etc., are missing.

Completeness1/5

The tool surface is extremely incomplete. It only provides feedback collection, with no tools for creating, updating, or managing PRs or reviews.

Maintenance

ActivityStale
ResponsivenessNo issues