A Model Context Protocol (MCP) server that enables AI assistants like Claude to interact with the GitHub API directly.
- Issues Management - List, create, update, and comment on issues
- Pull Requests - Create PRs, review code, merge changes
- Repository Operations - Search repos, get file contents, commit files
- Code Search - Search code across GitHub
- Notifications - List and manage your GitHub notifications
- User Profiles - Get user and organization info
npm install -g mcp-server-githubOr use directly with npx:
npx mcp-server-githubCreate a Personal Access Token with the following scopes:
repo- Full control of private repositoriesread:user- Read user profile datanotifications- Access notifications
export GITHUB_TOKEN=your_token_here
# or
export GH_TOKEN=your_token_hereAdd to your Claude Desktop configuration (~/Library/Application Support/Claude/claude_desktop_config.json on macOS):
{
"mcpServers": {
"github": {
"command": "npx",
"args": ["-y", "mcp-server-github"],
"env": {
"GITHUB_TOKEN": "your_token_here"
}
}
}
}| Tool | Description |
|---|---|
list_issues |
List issues in a repository |
get_issue |
Get a specific issue by number |
create_issue |
Create a new issue |
update_issue |
Update an existing issue |
add_issue_comment |
Add a comment to an issue |
| Tool | Description |
|---|---|
list_pull_requests |
List PRs in a repository |
get_pull_request |
Get a specific PR |
create_pull_request |
Create a new PR |
create_review |
Review a PR (approve/request changes) |
merge_pull_request |
Merge a PR |
| Tool | Description |
|---|---|
get_repository |
Get repository information |
list_repositories |
List user/org repositories |
search_repositories |
Search for repositories |
get_file_contents |
Get file contents |
create_or_update_file |
Create or update a file |
| Tool | Description |
|---|---|
search_code |
Search code across GitHub |
| Tool | Description |
|---|---|
list_notifications |
List notifications |
mark_notifications_read |
Mark all as read |
| Tool | Description |
|---|---|
get_authenticated_user |
Get your profile |
get_user |
Get any user's profile |
Once configured, you can ask Claude:
"List all open issues in my project"
"Create a PR from feature-branch to main with a summary of changes"
"Search for TypeScript files containing 'authentication' in my repos"
"Show me my unread GitHub notifications"
Take your GitHub integration to the next level with Pro features:
- Organization-wide Permissions - Manage permissions across all org repos
- Webhook Support - Real-time event notifications and custom endpoints
- Advanced Search - Search across organizations with filters and analytics
- Priority Support - Direct support channel
- Everything in Pro, plus:
- Self-hosted Deployment - Run on your own infrastructure
- SSO/SAML Integration - Enterprise authentication
- Audit Logs - Complete activity tracking
- Custom Integrations - Tailored to your workflow
- SLA Guarantee - 99.9% uptime commitment
If you find this project useful, consider becoming a sponsor!
Your sponsorship helps:
- Maintain and improve the project
- Add new features
- Provide better documentation
- Keep it free and open source
# Clone the repo
git clone https://github.com/DebuggingMax/mcp-server-github.git
cd mcp-server-github
# Install dependencies
npm install
# Build
npm run build
# Run locally
npm startMIT License - see LICENSE for details.
Contributions are welcome! Please feel free to submit a Pull Request.
- Fork the repository
- Create your feature branch (
git checkout -b feature/amazing-feature) - Commit your changes (
git commit -m 'Add amazing feature') - Push to the branch (
git push origin feature/amazing-feature) - Open a Pull Request
Made with β€οΈ by DebuggingMax