Back to the catalog

io.github.davidweb3-ctrl/github

GitHub MCP Server - List PRs, issues, repo info, and search code

Open source Open in the app JSON README (API)

About

GitHub MCP Server - List PRs, issues, repo info, and search code

Details

Kind
MCP servers
Topic
Version control
Publisher
davidweb3-ctrl
Origin
official
Category
ferramentas
Transport
local
Version
1.0.0
Last push
2026-04-19T14:22:49Z
Repository state
ativo
Language
TypeScript
License
MIT
Added
2026-08-29 03:02:41
Updated
2026-08-29 03:02:41
Origin id
io.github.davidweb3-ctrl/github

README

# GitHub MCP Server

[![npm version](https://img.shields.io/npm/v/@bountyclaw/mcp-github-server.svg)](https://www.npmjs.com/package/@bountyclaw/mcp-github-server)
[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)

A Model Context Protocol (MCP) server for GitHub operations. This server enables AI assistants to interact with GitHub repositories through a standardized interface.

## Features

- ๐Ÿ” **List & View Pull Requests** - Browse PRs with filtering options
- ๐Ÿ“‹ **List & View Issues** - Access issues with labels, assignees, and comments
- ๐Ÿ“Š **Repository Info** - Get repository statistics and metadata
- ๐Ÿ”Ž **Code Search** - Search code across GitHub repositories

## Installation

```bash
npm install -g @bountyclaw/mcp-github-server
```

## Configuration

Set your GitHub token as an environment variable:

```bash
export GITHUB_TOKEN=your_github_token_here
```

Or pass it when creating the client programmatically.

## Usage with Claude Code

Add to your Claude Code MCP settings:

```json
{
  "mcpServers": {
    "github": {
      "command": "npx",
      "args": ["-y", "@bountyclaw/mcp-github-server"],
      "env": {
        "GITHUB_TOKEN": "your_github_token_here"
      }
    }
  }
}
```

## Available Tools

### 1. `github_pr_list`

List pull requests for a repository.

**Input:**
- `owner` (string, required): Repository owner
- `repo` (string, required): Repository name
- `state` (enum, optional): Filter by state (`open`, `closed`, `all`)
- `head` (string, optional): Filter by head branch
- `base` (string, optional): Filter by base branch
- `sort` (enum, optional): Sort field
- `direction` (enum, optional): Sort direction
- `per_page` (number, optional): Results per page (max 100)
- `page` (number, optional): Page number

### 2. `github_pr_view`

View details of a specific pull request.

**Input:**
- `owner` (string, required): Repository owner
- `repo` (string, required): Repository name
- `pull_number` (number, required): PR number
- `include_diff` (boolean, optional): Include diff content

### 3. `github_issue_list`

List issues for a repository.

**Input:**
- `owner` (string, required): Repository owner
- `repo` (string, required): Repository name
- `state` (enum, optional): Filter by state
- `labels` (string, optional): Comma-separated label names
- `assignee` (string, optional): Filter by assignee
- `creator` (string, optional): Filter by creator
- `sort` (enum, optional): Sort field
- `direction` (enum, optional): Sort direction
- `per_page` (number, optional): Results per page
- `page` (number, optional): Page number

### 4. `github_issue_view`

View details of a specific issue.

**Input:**
- `owner` (string, required): Repository owner
- `repo` (string, required): Repository name
- `issue_number` (number, required): Issue number
- `include_comments` (boolean, optional): Include comments

### 5. `github_repo_info`

Get repository information and statistics.

**Input:**
- `owner` (string, required): Repository owner
- `repo` (string, required): Repository name

### 6. `github_search_code`

Search code across GitHub.

**Input:**
- `query` (string, required): Search query (GitHub code search syntax)
- `sort` (enum, optional): Sort field (`indexed`, `best-match`)
- `order` (enum, optional): Sort order
- `per_page` (number, optional): Results per page
- `page` (number, optional): Page number

## Example Queries

```
"List open PRs in facebook/react"
"Show me issue #123 in microsoft/vscode"
"Get info about the kubernetes/kubernetes repo"
"Search for 'useEffect' in TypeScript files"
```

## Development

```bash
# Install dependencies
npm install

# Build
npm run build

# Run tests
npm test

# Run tests with coverage
npm run test:coverage

# Lint
npm run lint

# Format
npm run format
```

## Testing

The project includes comprehensive unit tests with 90%+ coverage:

- GitHub API client tests
- Tool handler tests for all 6 tools
- Error handling tests
- Input validation tests

```bash
npm test
```

## License

MIT License - see [LICENSE](LICENSE) file for details.

## Contributing

Contributions are welcome! Please feel free to submit a Pull Request.

---

Built with ๐Ÿฆž by BountyClaw

More