A RetroSearch Logo

Home - News ( United States | United Kingdom | Italy | Germany ) - Football scores

Search Query:

Showing content from https://github.com/kurdin/github-repos-manager-mcp below:

kurdin/github-repos-manager-mcp: GitHub Repos Manager MCP Server that enables your MCP client (e.g., Claude Desktop, Roo Code, etc.) to interact with GitHub repositories using your GitHub personal access token.

GitHub Repos Manager MCP Server

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.

🚀 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 on gh 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

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

🎫 Advanced Issue Management 🔄 Pull Request Management 🌿 Branch & Commit Management 👥 Collaboration & User Management 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
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:

# Run directly with npx
npx -y github-repos-manager-mcp

For macOS/Linux:

{
  "mcpServers": {
    "github-repos-manager": {
      "command": "npx",
      "args": [
        "-y",
        "github-repos-manager-mcp"
      ],
      "env": {
        "GH_TOKEN": "ghp_YOUR_ACTUAL_TOKEN_HERE"
      }
    }
  }
}

For Windows, in some cases you may need to use npx.cmd instead of npx:

{
  "mcpServers": {
    "github-repos-manager": {
      "command": "npx.cmd",
      "args": [
        "-y",
        "github-repos-manager-mcp"
      ],
      "env": {
        "GH_TOKEN": "ghp_YOUR_ACTUAL_TOKEN_HERE"
      }
    }
  }
}

This command will automatically download and run the latest version of the server without needing to install anything locally.

Clone, Install and Run Locally

If you prefer to run the server locally, clone the repository and install dependencies:

git clone https://github.com/kurdin/github-repos-manager.git
cd github-repos-manager
npm install

Then, configure your MCP client to point to the local server using the full path to server.cjs:

{
  "mcpServers": {
    "github-repos-manager": {
      "command": "node",
      "args": ["/full/path/to/your/project/github-repos-manager-mcp/server.cjs"],
      "env": {
        "GH_TOKEN": "ghp_YOUR_ACTUAL_TOKEN_HERE"
      }
    }
  }
}

Important: Replace "ghp_YOUR_ACTUAL_TOKEN_HERE" with your actual GitHub Personal Access Token.

Once the MCP client is configured with the correct path to server.cjs and your GH_TOKEN, the server should start automatically when the client attempts to use one of its tools.

You can also test the server script directly for basic authentication, but this requires temporarily setting the GH_TOKEN environment variable in your shell for this specific test:

# For direct script testing ONLY (normal operation uses MCP client config)
export GH_TOKEN="ghp_YOUR_TEMPORARY_TEST_TOKEN"
node server.cjs
unset GH_TOKEN # Important: unset after testing

If successful, you should see "GitHub API authentication successful" and "GitHub Repos Manager MCP Server running on stdio".

Note: The server will only set a default repository if you explicitly configure it through environment variables, command line arguments, or use the set_default_repo tool. It never automatically sets a default repository.

Example File Locations for Claude Desktop claude_desktop_config.json:

Default Repository Setting

You can set a default repository to streamline your workflow and avoid specifying owner and repo in every command. There are three ways to configure this:

1. Environment Variables (Recommended for MCP clients)

Add environment variables to your MCP client configuration:

Using npx:

{
  "mcpServers": {
    "github-repos-manager": {
      "command": "npx",
      "args": ["-y", "github-repos-manager-mcp"],
      "env": {
        "GH_TOKEN": "ghp_YOUR_ACTUAL_TOKEN_HERE",
        "GH_DEFAULT_OWNER": "octocat",
        "GH_DEFAULT_REPO": "Hello-World"
      }
    }
  }
}

Using local installation:

{
  "mcpServers": {
    "github-repos-manager": {
      "command": "node",
      "args": ["/full/path/to/your/project/github-repos-manager-mcp/server.cjs"],
      "env": {
        "GH_TOKEN": "ghp_YOUR_ACTUAL_TOKEN_HERE",
        "GH_DEFAULT_OWNER": "octocat",
        "GH_DEFAULT_REPO": "Hello-World"
      }
    }
  }
}
2. Command Line Arguments

When running the server directly, you can pass default repository settings:

node server.cjs --default-owner octocat --default-repo Hello-World

Use the set_default_repo tool during your conversation to set or change the default repository:

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:

Once a default repository is set, you can omit owner and repo parameters from commands:

Repository Access Control

You can restrict which repositories the server can access using the GH_ALLOWED_REPOS environment variable or --allowed-repos command line argument. This is a security feature that ensures the server can only operate on approved repositories.

Allowed Repositories Configuration

1. Environment Variable (for MCP clients)

{
  "mcpServers": {
    "github-repos-manager": {
      "command": "node",
      "args": ["/path/to/server.cjs"],
      "env": {
        "GH_TOKEN": "ghp_YOUR_TOKEN",
        "GH_ALLOWED_REPOS": "owner1/repo1,owner2/repo2,owner3"
      }
    }
  }
}

2. Command Line Argument

node server.cjs --allowed-repos "microsoft/vscode,facebook/react,google"

How it works:

Examples:

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.

Allowing Only Specific Tools

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.

Complete Configuration Example

Using npx (macOS/Linux):

{
  "mcpServers": {
    "github-repos-manager": {
      "command": "npx",
      "args": ["-y", "github-repos-manager-mcp"],
      "env": {
        "GH_TOKEN": "ghp_YOUR_ACTUAL_TOKEN_HERE",
        "GH_DEFAULT_OWNER": "mycompany",
        "GH_DEFAULT_REPO": "main-project",
        "GH_ALLOWED_REPOS": "mycompany,trusted-org/specific-repo",
        "GH_ALLOWED_TOOLS": "list_issues,create_issue,list_prs,get_repo_info"
      }
    }
  }
}

Using npx (Windows):

{
  "mcpServers": {
    "github-repos-manager": {
      "command": "npx.cmd",
      "args": ["-y", "github-repos-manager-mcp"],
      "env": {
        "GH_TOKEN": "ghp_YOUR_ACTUAL_TOKEN_HERE",
        "GH_DEFAULT_OWNER": "mycompany",
        "GH_DEFAULT_REPO": "main-project",
        "GH_ALLOWED_REPOS": "mycompany,trusted-org/specific-repo",
        "GH_ALLOWED_TOOLS": "list_issues,create_issue,list_prs,get_repo_info"
      }
    }
  }
}

Using local installation:

{
  "mcpServers": {
    "github-repos-manager": {
      "command": "node",
      "args": ["/full/path/to/your/project/github-repos-manager-mcp/server.cjs"],
      "env": {
        "GH_TOKEN": "ghp_YOUR_ACTUAL_TOKEN_HERE",
        "GH_DEFAULT_OWNER": "mycompany",
        "GH_DEFAULT_REPO": "main-project",
        "GH_ALLOWED_REPOS": "mycompany,trusted-org/specific-repo",
        "GH_ALLOWED_TOOLS": "list_issues,create_issue,list_prs,get_repo_info"
      }
    }
  }
}

Command Line Equivalents:

node server.cjs \
  --default-owner mycompany \
  --default-repo main-project \
  --allowed-repos "mycompany,trusted-org/specific-repo" \
  --allowed-tools "list_issues,create_issue,list_prs,get_repo_info"
🛠️ Complete Tool Reference

This server provides 89 comprehensive tools for complete GitHub workflow management:

Enhanced Pull Request Management File & Content Management Security & Access Management GitHub Actions & Workflows

Note: These tools are placeholders for future GitHub Actions integration.

Repository Analytics & Insights Advanced Search & Discovery Projects & Advanced Features

Note: Some of these tools are placeholders for future enhancements.

Repository Management Tools Advanced Issue Management Tools Issue Comment Management Tools Pull Request Management Tools Branch & Commit Management Tools User & Collaboration Tools Labels & Milestones Management Tools 💡 Usage Examples & Workflows

Once configured, you can ask your MCP client (e.g., Claude) to perform powerful GitHub operations:

Repository Discovery & Management Advanced Issue Management Issue Discussion Management Labels & Milestones Management Pull Request & Collaboration Branch & Commit Management Workflow Automation Examples
  1. Token Problems:

  2. Configuration Issues:

  3. Permission Issues:

Default Repository Configuration Issues Performance & Rate Limiting Image Upload Troubleshooting 🚦 API Rate Limits & Performance 🔒 Security Best Practices 🔄 Development & Contribution
# Clone and setup
mkdir github-repos-manager-mcp
cd github-repos-manager-mcp
# Add the server files
npm install
chmod +x server.cjs

# For development testing with nodemon
npm run dev

The recommended approach is configuring your MCP client (e.g., Claude Desktop) to point to your development version with proper GH_TOKEN configuration. Changes to server.cjs require restarting the server connection.

# Temporarily set token for quick verification
export GH_TOKEN="ghp_YOUR_DEVELOPMENT_TOKEN"
node server.cjs
unset GH_TOKEN  # Always clean up after testing

MIT License - Feel free to use, modify, and distribute this MCP server.


RetroSearch is an open source project built by @garambo | Open a GitHub Issue

Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo

HTML: 3.2 | Encoding: UTF-8 | Version: 0.7.4