github pr mcp

Local 2025-09-01 00:54:24 0

An MCP server that fetches GitHub Pull Request comments with file paths, line ranges, and replies using a GitHub personal access token.


smithery badge

This is a Model Context Protocol (MCP) server that fetches GitHub Pull Request comments using a GitHub personal access token.

Features

  • Fetches PR comments with file paths, line ranges, and replies
  • Uses GitHub API via Octokit
  • Implements MCP server with StdioServerTransport
  • Returns comments in a structured JSON format

Installation

Installing via Smithery

To install github-pr-mcp for Claude Desktop automatically via Smithery:

npx -y @smithery/cli install github-pr-mcp --client claude

Installing Manually

  1. Clone the repository
  2. Install dependencies:
npm install
  1. Create a .env file with your GitHub token:
GITHUB_TOKEN=your_github_token_here

Usage

  1. Build the project:
npm run build
  1. Run the server:
npm start

Or directly with a GitHub token:

node dist/server.js your_github_token_here
  1. The server exposes a tool called get_pr_comments that accepts the following parameters:
  2. owner: Repository owner (username or organization)
  3. repo: Repository name
  4. pull_number: Pull request number

Integration with Cursor

To integrate with Cursor, use the following command in Cursor's MCP server configuration:

node /path/to/dist/server.js your_github_token_here

Replace /path/to with the actual path to your project, and your_github_token_here with your GitHub personal access token.

Testing

A test client is included to verify the server functionality:

  1. Build the project:
npm run build
  1. Run the test client:
npm test

The test client will start the server, connect to it, and call the get_pr_comments tool with sample parameters.

Response Format

The server returns comments in the following format:

{
  "comments": [
    {
      "id": 123456789,
      "path": "src/example.js",
      "body": "This is a comment on a specific line",
      "line": 42,
      "start_line": 40,
      "user": {
        "login": "username"
      },
      "created_at": "2023-01-01T00:00:00Z",
      "replies": [
        {
          "id": 987654321,
          "body": "This is a reply to the comment",
          "user": {
            "login": "another-username"
          },
          "created_at": "2023-01-02T00:00:00Z"
        }
      ]
    }
  ]
}

Development

To run the server in development mode:

npm run dev

License

ISC