GitHub Repos Manager MCP Server
About
Token-based GitHub automation management. No Docker, Flexible configuration, 80+ tools with direct API integration.
Explore
✅ Comprehensive toolkit - 89 powerful tools for complete GitHub workflow
✅ Branch & commit management - Create branches, explore history, compare changes
✅ Image upload support - Upload and embed images directly in issues
✅ Advanced filtering - Sort, filter, and search with multiple criteria
✅ Rate limit handling - Built-in GitHub API rate limit management
- Image upload and embedding - upload local images directly to GitHub
- Batch operations - manage multiple assignees, labels, and comments
- Flexible authentication - secure token-based GitHub API access
- Smart error handling - comprehensive error reporting and recovery
Note: Some of these tools are placeholders for future enhancements.
- list_repo_projects: List repository projects (classic projects).
- code_quality_checks: Placeholder for future code quality analysis.
- custom_dashboards: Placeholder for custom dashboard creation.
- automated_reporting: Placeholder for automated report generation.
- notification_management: Placeholder for notification settings.
- release_management: Placeholder for release management features.
- dependency_analysis: Placeholder for dependency scanning.
Setting up with Highlight
This MCP is not yet compatible with Highlight’s one-click setup. However, you can still use it with Highlight by following these steps:
- Download and install Highlight from highlightai.com/download
- Navigate to the plugins tab and select "Add Custom Plugin"
-
Configure the plugin with the settings below
Plugin Name
GitHub Repos Manager MCP ServerCommand (node, npx, python, etc.)Please refer to the README for specific instructions on how to obtain API keys or other required environment variables.
- Enable "Start Automatically" if you want the plugin to start when Highlight launches
From the repository
🎯 Simple Setup & Operation
✅ No Docker required - Simple Node.js server that runs anywhere ✅ One token setup - Only needs a GitHub Personal Access Token to work ✅ Direct API integration - No dependency ongh CLI, faster and more reliable
✅ Zero configuration - Works out of the box with just the token
Minimal Requirements - It's That Simple!
1. Node.js (version 18 or higher) - That's it!
2. GitHub Personal Access Token (PAT) - The only configuration needed
- Go to GitHub → Settings → Developer settings → Personal access tokens → Tokens (classic) or Fine-grained tokens.
- Generate a new token with at least these scopes:
- repo (Full control of private repositories) - Recommended for full functionality.
- user:read or user:email (to read user profile data).
- read:org (if you need to access organization information).
- Important: Store this token securely. You will need to provide it directly in your MCP client's configuration for this server (see Step 3 below).
Use the set_default_repo tool during your conversation to set or change the default repository:
- "Set default repository to microsoft/vscode"
- "Change the default to my own repo username/my-project"
Configuration Priority (highest to lowest):
1. Command line arguments (--default-owner, --default-repo)
2. Environment variables (GH_DEFAULT_OWNER, GH_DEFAULT_REPO)
3. Runtime tool calls (set_default_repo)
Benefits of Default Repository:
- Eliminates the need to specify owner and repo in every command
- Streamlines workflows when working primarily with one repository
- Can be changed at any time during your session using the set_default_repo tool
- Optional - all tools work without a default repository set
Once a default repository is set, you can omit owner and repo parameters from commands:
- Instead of: "List issues for microsoft/vscode"
- Simply say: "List issues" (after setting microsoft/vscode as default)
Disable tools that you don't want to be available by setting the GH_DISABLED_TOOLS environment variable or using --disabled-tools command line argument.
For maximum security, you can restrict the server to only allow specific tools by setting the GH_ALLOWED_TOOLS environment variable or using --allowed-tools command line argument.
Important: If both GH_ALLOWED_TOOLS and GH_DISABLED_TOOLS are set, GH_ALLOWED_TOOLS takes precedence.
This server provides 89 comprehensive tools for complete GitHub workflow management:
- set_default_repo: Set a default owner and repository for subsequent commands to streamline your workflow.
- Args: owner (string, required), repo (string, required)
- list_repos: List GitHub repositories for the authenticated user with advanced filtering.
- Args: per_page (number, optional, default 10, max 100), visibility (string, optional, enum: "all", "public", "private", default "all"), sort (string, optional, enum: "created", "updated", "pushed", "full_name", default "updated")
- get_repo_info: Get comprehensive information about a specific repository including stats and metadata.
- Args: owner (string, required if no default), repo (string, required if no default)
- search_repos: Search for repositories across GitHub with advanced sorting options.
- Args: query (string, required), per_page (number, optional, default 10, max 100), sort (string, optional, enum: "stars", "forks", "help-wanted-issues", "updated", default "stars")
- get_repo_contents: Browse files and directories in any repository with branch/commit support.
- Args: owner (string, required if no default), repo (string, required if no default), path (string, optional, default ""), ref (string, optional, e.g., branch name or commit SHA)
- list_issues: List issues with filtering by state and comprehensive pagination.
- Args: owner (string, required if no default), repo (string, required if no default), state (string, optional, enum: "open", "closed", "all", default "open"), per_page (number, optional, default 10, max 100)
- create_issue: Create feature-rich issues with image uploads, labels, and assignees.
- Args: owner (string, required if no default), repo (string, required if no default), title (string, required), body (string, optional), image_path (string, optional, full local path to image), labels (array of strings, optional), assignees (array of strings, optional)
- edit_issue: Modify existing issues including title, body, state, labels, assignees, and image uploads.
- Args: owner (string, optional), repo (string, optional), issue_number (integer, required), title (string, optional), body (string, optional), state (string, optional, enum: "open", "closed"), image_path (string, optional, full local path to image), labels (array of strings, optional), assignees (array of strings, optional)
- get_issue_details: Get comprehensive information about any specific issue.
- Args: owner (string, optional), repo (string, optional), issue_number (integer, required)
- lock_issue: Lock issues to prevent further comments with customizable reasons.
- Args: owner (string, optional), repo (string, optional), issue_number (integer, required), lock_reason (string, optional, enum: "off-topic", "too heated", "resolved", "spam")
- unlock_issue: Unlock previously locked issues to resume discussions.
- Args: owner (string, optional), repo (string, optional), issue_number (integer, required)
- add_assignees_to_issue: Add one or more team members to an issue.
- Args: owner (string, optional), repo (string, optional), issue_number (integer, required), assignees (array of strings, required)
- remove_assignees_from_issue: Remove assignees from issues for better task management.
- Args: owner (string, optional), repo (string, optional), issue_number (integer, required), assignees (array of strings, required)
- list_issue_comments: List all comments for an issue with timestamp filtering.
- Args: owner (string, optional), repo (string, optional), issue_number (integer, required), per_page (integer, optional, default 30, max 100), since (string, optional, ISO 8601 format date-time)
- create_issue_comment: Add new comments to ongoing issue discussions.
- Args: owner (string, optional), repo (string, optional), issue_number (integer, required), body (string, required)
- edit_issue_comment: Modify existing comments for corrections or updates.
- Args: owner (string, optional), repo (string, optional), comment_id (integer, required), body (string, required)
- delete_issue_comment: Remove comments when necessary for content management.
- Args: owner (string, optional), repo (string, optional), comment_id (integer, required)
- list_prs: List pull requests with state filtering and pagination.
- Args: owner (string, required if no default), repo (string, required if no default), state (string, optional, enum: "open", "closed", "all", default "open"), per_page (number, optional, default 10, max 100)
- list_branches: List all branches in a repository with protection status and commit information.
- Args: owner (string, optional), repo (string, optional), protected_only (boolean, optional, default false), per_page (number, optional, default 30)
- create_branch: Create a new branch from an existing branch or commit.
- Args: owner (string, optional), repo (string, optional), branch_name (string, required), from_branch (string, optional, defaults to repository default branch)
- list_commits: List commits in a repository with detailed information and filtering options.
- Args: owner (string, optional), repo (string, optional), sha (string, optional, branch/tag/commit to list from), per_page (number, optional, default 20), since (string, optional, ISO 8601 date-time), until (string, optional, ISO 8601 date-time), author (string, optional, GitHub username or email)
- get_commit_details: Get detailed information about a specific commit including files changed.
- Args: owner (string, optional), repo (string, optional), commit_sha (string, required)
- compare_commits: Compare two commits or branches to see differences.
- Args: owner (string, optional), repo (string, optional), base (string, required, base branch or commit SHA), head (string, required, head branch or commit SHA)
- get_user_info: Get detailed information about any GitHub user or your own profile.
- Args: username (string, optional - defaults to authenticated user)
- list_repo_collaborators: List repository collaborators with permission-based filtering.
- Args: owner (string, optiona
Claude Desktop / Cursor
Paste into your MCP client config file to install this server.
{
"mcpServers": {
"github repos manager mcp server": {
"github": {
"command": "npx",
"args": [
"-y",
"github-repos-manager-mcp"
],
"env": {
"GH_TOKEN": "ghp_YOUR_ACTUAL_TOKEN_HERE"
}
}
}
}
}
McpServers
{
"github": {
"command": "npx",
"args": [
"-y",
"github-repos-manager-mcp"
],
"env": {
"GH_TOKEN": "ghp_YOUR_ACTUAL_TOKEN_HERE"
}
}
}
Token-based GitHub automation management. No Docker for optimal performance, Flexible configuration for fine-grained control, 89 tools with direct API integration.
A comprehensive Model Context Protocol (MCP) server that enables your MCP client (Claude Desktop, Roo Code, Cline, Cursor, Windsurf, etc.) to interact with GitHub repositories using your GitHub personal access token.
This tool simplifies managing GitHub repositories using only a GitHub token for setup. By skipping Docker, it avoids unnecessary complexity, delivering fast and effective results through direct API integration.
This server is built using Node.js and provides a complete toolkit for repository management, issue tracking, collaboration management, and more, all while leveraging the GitHub API for optimal performance.
Skip to Quick Setup and MCP Client Configuration
🚀 Key Advantages over other GitHub Automation MCP Servers
🎯 Simplicity: Token-based access eliminates complexity.
🌿 Efficiency: No Docker ensures lightweight, optimal performance.
💪 Power: 89 tools with direct API integration offer unmatched flexibility.
🔒 Flexibility: Fine-grained control with configurable tools.
🎯 Simple Setup & Operation
✅ No Docker required - Simple Node.js server that runs anywhere ✅ One token setup - Only needs a GitHub Personal Access Token to work ✅ Direct API integration - No dependency ongh CLI, faster and more reliable
✅ Zero configuration - Works out of the box with just the token
🔒 Advanced Security & Control
✅ Allowed repositories - Restrict operations to specific repos or owners ✅ Tool management - Enable/disable specific tools for fine-grained control ✅ Default repository - Set a default repo for streamlined workflows ✅ Flexible permissions - Configure exactly what the server can access💪 Powerful Features
✅ Comprehensive toolkit - 89 powerful tools for complete GitHub workflow ✅ Branch & commit management - Create branches, explore history, compare changes ✅ Image upload support - Upload and embed images directly in issues ✅ Advanced filtering - Sort, filter, and search with multiple criteria ✅ Rate limit handling - Built-in GitHub API rate limit management🎯 Complete Feature Set
📁 Repository Management
- Smart repository listing with filtering by visibility (public/private/all) and sorting options - Detailed repository information including stats, URLs, and metadata - File and directory browsing with support for specific branches/commits - Repository search across all of GitHub with advanced sorting - Default repository setting for streamlined workflows🎫 Advanced Issue Management
- Complete issue lifecycle - create, edit, list, and manage states - Rich content support - upload and embed images directly in issues - Label management - add, remove, and organize with custom labels - Assignee management - assign/unassign team members - Issue locking/unlocking with customizable reasons - Comment system - create, edit, delete, and list issue comments - State management - open, close, and track issue progress🔄 Pull Request Management
- Pull request listing with state filtering and sorting - Comprehensive PR information including branch details and status🌿 Branch & Commit Management
- Branch operations - list all branches with protection status and latest commits - Branch creation - create new branches from existing branches or commits - Commit history - explore commit history with advanced filtering (date, author, branch) - Commit details - get comprehensive commit information including file changes - Commit comparison - compare any two commits, branches, or tags to see differences👥 Collaboration & User Management
- User profile information for any GitHub user or your own account - Repository collaborator management with permission filtering - Team collaboration tools for managing access and permissions🎨 Advanced Capabilities
- Image upload and embedding - upload local images directly to GitHub - Batch operations - manage multiple assignees, labels, and comments - Flexible authentication - secure token-based GitHub API access - Smart error handling - comprehensive error reporting and recoveryPrerequisites
Minimal Requirements - It's That Simple!
1. Node.js (version 18 or higher) - That's it!
2. GitHub Personal Access Token (PAT) - The only configuration needed
- Go to GitHub → Settings → Developer settings → Personal access tokens → Tokens (classic) or Fine-grained tokens.
- Generate a new token with at least these scopes:
- repo (Full control of private repositories) - Recommended for full functionality.
- user:read or user:email (to read user profile data).
- read:org (if you need to access organization information).
- Important: Store this token securely. You will need to provide it directly in your MCP client's configuration for this server (see Step 3 below).
Quick Setup
Using npx (Simplest - No Installation Required!)
Make sure you have Node.js installed, then use npx to run the server directly
Check that you have exported your GitHub token as an environment variable named GH_TOKEN or include it in your MCP client configuration.
You can run this server directly without cloning or installing:
```bash
Sign in to leave a review
Use Google, GitHub, or an email account so ratings stay tied to real people.
No reviews posted yet.



