GitHub PR Comments MCP Server
by shaileshahuja
This is a Model Context Protocol (MCP) server that fetches GitHub Pull Request comments using a GitHub personal access token. It allows you to retrieve comments with file paths, line ranges, and replies in a structured JSON format.
Last updated: N/A
GitHub PR Comments MCP Server
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
-
Clone the repository
-
Install dependencies:
npm install
-
Create a
.env
file with your GitHub token:GITHUB_TOKEN=your_github_token_here
Usage
-
Build the project:
npm run build
-
Run the server:
npm start
Or directly with a GitHub token:
node dist/server.js your_github_token_here
-
The server exposes a tool called
get_pr_comments
that accepts the following parameters:owner
: Repository owner (username or organization)repo
: Repository namepull_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:
-
Build the project:
npm run build
-
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