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
[](https://www.npmjs.com/package/@bountyclaw/mcp-github-server)
[](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