idletoaster/github-mcp-custom
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.
search_repositories
Search GitHub repositories.
get_file_contents
Read file contents from repositories.
create_issue
Create new issues in repositories.
merge_pull_request
Merge pull requests.
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
- Go to GitHub Settings > Developer Settings > Personal Access Tokens
- Click "Generate new token (classic)"
- Select these scopes:
- โ
repo
- Full control of private repositories - โ
read:org
- Read org and team membership - โ
user
- Update user data
- โ
- 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 repositoriesget_file_contents
- Read file contents from reposcreate_or_update_file
- Create/modify filescreate_repository
- Create new repositoriesfork_repository
- Fork repositoriescreate_branch
- Create branchespush_files
- Push file changeslist_commits
- View commit historyget_commit
- Get specific commit details
๐ Issues & Project Management
get_issue
- Get issue details with timestampscreate_issue
- Create new issuesupdate_issue
- Update issues (returns updated info with timestamps)search_issues
- Search across issueslist_issues
- List repository issuesget_issue_comments
- Get issue comments with timestampsadd_issue_comment
- Add comments to issues
๐ Pull Requests
get_pull_request
- Get PR detailscreate_pull_request
- Create new PRsupdate_pull_request
- Update existing PRsmerge_pull_request
- Merge PRsget_pull_request_files
- See PR changesget_pull_request_comments
- Get PR commentscreate_and_submit_pull_request_review
- Review PRs
๐ Security & Scanning
list_code_scanning_alerts
- Code security alertslist_secret_scanning_alerts
- Secret scanning alerts
๐ Notifications
list_notifications
- Get notificationsdismiss_notification
- Dismiss notificationsmark_all_notifications_read
- Mark all as read
๐ค User & Context
get_me
- Get authenticated user detailssearch_users
- Search GitHub users
๐งช Testing Your Setup
-
Test the command directly:
npx -y github-mcp-custom@1.0.20 stdio
Should output:
GitHub MCP Server running on stdio
-
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
Platform | Tested | Notes |
---|---|---|
โ 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
- Cloned the official GitHub MCP Server repository.
- Updated protocol version for Claude Desktop compatibility.
- 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
- Created a Node.js wrapper script (
bin/index.js
) for cross-platform execution. - Set up NPM-compatible
package.json
with proper bin configuration. - Published the package with protocol compatibility fixes.
๐ค Contributing
Contributions are welcome! Please visit our GitHub repository:
๐ Repository: https://github.com/idletoaster/github-mcp-custom
- ๐ Report issues: GitHub Issues
- ๐ก Feature requests: GitHub Discussions
- ๐ง Pull requests: Welcome for improvements and fixes
Development Setup
- Fork and clone the repository
- Install dependencies:
go mod tidy
- Build binaries:
npm run build
- Test locally:
node bin/index.js stdio
- Make your changes and test
- 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.