Introduction

When developing agents, directly interacting with GitHub’s REST API often requires handling authentication, error handling, and parameter conversion. repogate encapsulates GitHub repository, Issue, PR, and code review operations as MCP (Model Context Protocol) tools, allowing models to complete these operations directly through conversation.

Plugin Overview

  • Name: repogate
  • Maintainer: JohnXu22786
  • Type: Online tool
  • License: MIT
  • Positioning: GitHub Developer Workbench (agent tool set), wrapping the GitHub REST API as MCP tools for repository, Issue, PR, and code review operations.

Installation

Run the following command in the plugin directory to install it into the specified profile (for example, demo):

dsh plugin --profile demo add github:JohnXu22786/github-mcp

Core Features

  • Zero runtime dependencies: Uses Node.js built-in fetch and node:test, with no additional packages required.
  • Standard MCP stdio compatibility: Works as a stdio server with any MCP client (such as dsh, Claude Code, etc.).
  • Built-in dsh bundle support: Provides the cordis.patch.yml configuration, enabling one-step installation and tool registration via dsh plugin add.
  • Dual authentication channels: Supports both PAT (personal access token) and OAuth device authorization, with local token caching.
  • Read-only mode: Disables all write operations via a switch, suitable for research-only scenarios.
  • Actionable error messages: For errors such as rate limiting, invalid tokens, and insufficient permissions, provides Chinese-language fix guides.
  • Concise model output: Returns concise summaries instead of full JSON, saving context tokens.

Typical Usage

After installation and enabling, models can invoke the tools. The following is a typical tool workflow for working with Issues:
1. mcp__repogate__gh_issue_browse: Browse the repository’s open Issues.
2. mcp__repogate__gh_issue_fetch: Fetch detailed information for a specific Issue.
3. mcp__repogate__gh_issue_edit: Edit the Issue’s title, status, or labels.
4. mcp__repogate__gh_issue_respond: Post a comment under the Issue.

You can also connect directly using the following command:

dsh plugin --profile web add .

Notes

  • Environment requirements: Node.js >= 18.17 is required.
  • Bridge selection: The plugin provides two bridge options, the built-in repogate/bridge and the official dsh-mcp-client. Do not enable both at the same time.
  • Token management: Tokens can be inherited from dsh environment variables (REPOGATE_TOKEN or GITHUB_TOKEN), or explicitly written in the official bridge configuration.
  • Disabled by default: DSH does not enable MCP servers by default; they must be enabled by installing the plugin.

Conclusion

repogate provides agents with a standard interface for directly operating GitHub, simplifying authentication and API call workflows. For more details, see: GitHub repository.