github-mcp-custom

idletoaster/github-mcp-custom

3.3

If you are the rightful owner of github-mcp-custom and would like to certify it and/or have it hosted online, please leave a comment on the right or send an email to henry@mcphub.com.

The GitHub MCP Custom is a cross-platform NPX wrapper for the GitHub MCP Server, designed to simplify usage across Windows, Linux, and macOS without requiring Docker or manual Go compilation.

Tools
  1. search_repositories

    Search GitHub repositories.

  2. get_file_contents

    Read file contents from repositories.

  3. create_issue

    Create new issues in repositories.

  4. merge_pull_request

    Merge pull requests.

  5. list_notifications

    Get notifications from GitHub.

GitHub MCP Custom (Cross-Platform NPX Wrapper)

A custom-packaged version of the GitHub MCP Server that runs seamlessly on Windows, Linux, and macOS via npx. This wraps the Go binary in a Node.js launcher so developers using Claude Desktop can use GitHub MCP capabilities with no Docker or manual compilation required.


๐Ÿ“ฆ Why This Exists

The official GitHub MCP Server requires:

  • Docker or
  • Manual Go compilation.

These options work well on Linux/macOS, but break or complicate Windows usage.

This package makes the server available via npx, eliminating the need for:

  • Docker
  • Go installation
  • Custom PATH setups

๐Ÿง  What This Package Does

  • Provides a cross-platform github-mcp-custom command
  • Executes the prebuilt Go binary via Node.js wrapper
  • Fully NPX-compatible on all OSes
  • Works out-of-the-box with Claude Desktop or other MCP-compatible tools
  • Protocol version compatible with Claude Desktop

๐Ÿš€ Installation & Usage

๐Ÿ”น Option 1: Run with NPX (Recommended)

npx -y github-mcp-custom@1.0.20 stdio

First-time use will download the package and run it automatically.

๐Ÿ”น Option 2: Install Globally

npm install -g github-mcp-custom@1.0.20
github-mcp-custom stdio

๐Ÿ”น Option 3: Direct Executable (Windows Fallback)

If NPX has issues on Windows, use the direct path:

{
  "mcpServers": {
    "github": {
      "command": "C:\\Users\\[USERNAME]\\AppData\\Roaming\\npm\\node_modules\\github-mcp-custom\\dist\\github-mcp-server.exe",
      "args": ["stdio"],
      "env": {
        "GITHUB_PERSONAL_ACCESS_TOKEN": "your_token_here"
      }
    }
  }
}

Replace [USERNAME] with your actual Windows username.

Note: Use @1.0.20 or later for optimal Claude Desktop compatibility.


๐Ÿ› ๏ธ Prerequisites

  • Node.js v14 or later must be installed
  • An active GitHub Personal Access Token with proper scopes:
    • repo (for repository access)
    • read:org (for organization access)
    • user (for user information)

๐Ÿ” Creating a GitHub Personal Access Token

  1. Go to GitHub Settings > Developer Settings > Personal Access Tokens
  2. Click "Generate new token (classic)"
  3. Select these scopes:
    • โœ… repo - Full control of private repositories
    • โœ… read:org - Read org and team membership
    • โœ… user - Update user data
  4. Copy the generated token

๐Ÿ–ฅ๏ธ Claude Desktop Configuration

Windows

Add this to your Claude Desktop configuration file located at: %APPDATA%\Claude\claude_desktop_config.json

{
  "mcpServers": {
    "github": {
      "command": "npx",
      "args": ["-y", "github-mcp-custom@1.0.20", "stdio"],
      "env": {
        "GITHUB_PERSONAL_ACCESS_TOKEN": "your_token_here"
      }
    }
  }
}

macOS

Add this to your Claude Desktop configuration file located at: ~/Library/Application Support/Claude/claude_desktop_config.json

{
  "mcpServers": {
    "github": {
      "command": "npx",
      "args": ["-y", "github-mcp-custom@1.0.20", "stdio"],
      "env": {
        "GITHUB_PERSONAL_ACCESS_TOKEN": "your_token_here"
      }
    }
  }
}

Linux

Add this to your Claude Desktop configuration file located at: ~/.config/Claude/claude_desktop_config.json

{
  "mcpServers": {
    "github": {
      "command": "npx",
      "args": ["-y", "github-mcp-custom@1.0.20", "stdio"],
      "env": {
        "GITHUB_PERSONAL_ACCESS_TOKEN": "your_token_here"
      }
    }
  }
}

Alternative Global Installation Configuration

If you've installed globally, you can use:

{
  "mcpServers": {
    "github": {
      "command": "github-mcp-custom",
      "args": ["stdio"],
      "env": {
        "GITHUB_PERSONAL_ACCESS_TOKEN": "your_token_here"
      }
    }
  }
}

๐ŸŽฏ Available Tools & Capabilities

Once configured, you'll have access to these GitHub MCP tools:

๐Ÿ“‚ Repository Management

  • search_repositories - Search GitHub repositories
  • get_file_contents - Read file contents from repos
  • create_or_update_file - Create/modify files
  • create_repository - Create new repositories
  • fork_repository - Fork repositories
  • create_branch - Create branches
  • push_files - Push file changes
  • list_commits - View commit history
  • get_commit - Get specific commit details

๐Ÿ› Issues & Project Management

  • get_issue - Get issue details with timestamps
  • create_issue - Create new issues
  • update_issue - Update issues (returns updated info with timestamps)
  • search_issues - Search across issues
  • list_issues - List repository issues
  • get_issue_comments - Get issue comments with timestamps
  • add_issue_comment - Add comments to issues

๐Ÿ”€ Pull Requests

  • get_pull_request - Get PR details
  • create_pull_request - Create new PRs
  • update_pull_request - Update existing PRs
  • merge_pull_request - Merge PRs
  • get_pull_request_files - See PR changes
  • get_pull_request_comments - Get PR comments
  • create_and_submit_pull_request_review - Review PRs

๐Ÿ”’ Security & Scanning

  • list_code_scanning_alerts - Code security alerts
  • list_secret_scanning_alerts - Secret scanning alerts

๐Ÿ”” Notifications

  • list_notifications - Get notifications
  • dismiss_notification - Dismiss notifications
  • mark_all_notifications_read - Mark all as read

๐Ÿ‘ค User & Context

  • get_me - Get authenticated user details
  • search_users - Search GitHub users

๐Ÿงช Testing Your Setup

  1. Test the command directly:

    npx -y github-mcp-custom@1.0.20 stdio
    

    Should output: GitHub MCP Server running on stdio

  2. Test with Claude Desktop:

    • Restart Claude Desktop after updating the config
    • Try asking: "Can you get my GitHub user information?"
    • Claude should be able to use the get_me tool

๐Ÿ”ง Troubleshooting

Common Issues

โŒ "Server disconnected" in Claude Desktop

  • Ensure you're using version 1.0.20 or later
  • Check that your GitHub token is valid and has proper scopes
  • Verify the JSON configuration is valid (no trailing commas)

โŒ "Command not found"

  • Make sure Node.js is installed and in your PATH
  • Try running npm --version to verify npm is working

โŒ "Authentication failed"

  • Verify your GitHub Personal Access Token is correct
  • Check that the token has the required scopes (repo, read:org, user)
  • Make sure the token hasn't expired

โŒ "Method not found" errors

  • Update to the latest version: npm install -g github-mcp-custom@latest

๐Ÿ“ File Structure

github-mcp-custom/
โ”œโ”€โ”€ bin/
โ”‚   โ””โ”€โ”€ index.js               # Node.js launcher
โ”œโ”€โ”€ dist/
โ”‚   โ”œโ”€โ”€ github-mcp-server.exe  # Windows binary
โ”‚   โ”œโ”€โ”€ github-mcp-server-macos # macOS binary  
โ”‚   โ””โ”€โ”€ github-mcp-server-linux # Linux binary
โ”œโ”€โ”€ package.json
โ””โ”€โ”€ README.md

๐Ÿ–ฅ๏ธ Platform Compatibility

PlatformTestedNotes
โœ… Windows 10/11โœ”๏ธNo Docker or Go needed
โœ… Linux (Ubuntu)โœ”๏ธWorks out-of-the-box
โœ… macOS (Intel/M1)โœ”๏ธWorks with NPX easily

๐Ÿ“ˆ Version History

  • v1.0.20 - Fixed Claude Desktop protocol compatibility
  • v1.0.16 - Previous version (had connection issues)
  • v1.0.x - Earlier releases

๐Ÿ‘ท How This Was Built

  1. Cloned the official GitHub MCP Server repository.
  2. Updated protocol version for Claude Desktop compatibility.
  3. Compiled Go binaries for all platforms:
    GOOS=linux GOARCH=amd64 go build -o dist/github-mcp-server-linux ./cmd/github-mcp-server
    GOOS=darwin GOARCH=amd64 go build -o dist/github-mcp-server-macos ./cmd/github-mcp-server  
    GOOS=windows GOARCH=amd64 go build -o dist/github-mcp-server.exe ./cmd/github-mcp-server
    
  4. Created a Node.js wrapper script (bin/index.js) for cross-platform execution.
  5. Set up NPM-compatible package.json with proper bin configuration.
  6. Published the package with protocol compatibility fixes.

๐Ÿค Contributing

Contributions are welcome! Please visit our GitHub repository:

๐Ÿ”— Repository: https://github.com/idletoaster/github-mcp-custom

Development Setup

  1. Fork and clone the repository
  2. Install dependencies: go mod tidy
  3. Build binaries: npm run build
  4. Test locally: node bin/index.js stdio
  5. Make your changes and test
  6. Submit a pull request

๐Ÿ“œ License

MIT License

Copyright (c) 2025 idletoaster

Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.