GitHub MCP Server
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
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/davidweb3-ctrl/mcp-github-server'
If you have feedback or need assistance with the MCP directory API, please join our Discord server