@davidweb3-ctrl/mcp-github-server
v1.0.0
Published
GitHub MCP Server - List PRs, issues, repo info, and search code
Maintainers
Readme
GitHub MCP Server
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
npm install -g @bountyclaw/mcp-github-serverConfiguration
Set your GitHub token as an environment variable:
export GITHUB_TOKEN=your_github_token_hereOr pass it when creating the client programmatically.
Usage with Claude Code
Add to your Claude Code MCP settings:
{
"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 ownerrepo(string, required): Repository namestate(enum, optional): Filter by state (open,closed,all)head(string, optional): Filter by head branchbase(string, optional): Filter by base branchsort(enum, optional): Sort fielddirection(enum, optional): Sort directionper_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 ownerrepo(string, required): Repository namepull_number(number, required): PR numberinclude_diff(boolean, optional): Include diff content
3. github_issue_list
List issues for a repository.
Input:
owner(string, required): Repository ownerrepo(string, required): Repository namestate(enum, optional): Filter by statelabels(string, optional): Comma-separated label namesassignee(string, optional): Filter by assigneecreator(string, optional): Filter by creatorsort(enum, optional): Sort fielddirection(enum, optional): Sort directionper_page(number, optional): Results per pagepage(number, optional): Page number
4. github_issue_view
View details of a specific issue.
Input:
owner(string, required): Repository ownerrepo(string, required): Repository nameissue_number(number, required): Issue numberinclude_comments(boolean, optional): Include comments
5. github_repo_info
Get repository information and statistics.
Input:
owner(string, required): Repository ownerrepo(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 orderper_page(number, optional): Results per pagepage(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
# 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 formatTesting
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
npm testLicense
MIT License - see LICENSE file for details.
Contributing
Contributions are welcome! Please feel free to submit a Pull Request.
Built with 🦞 by BountyClaw
