Introduction

DeepSeek Harness (DSH) uses a plugin-based architecture. When developers need to interact with GitHub through the MCP protocol, the dsh-github-mcp plugin provides a direct connection solution. It encapsulates GitHub MCP as a DSH plugin and stores the authentication token in the DSH credential center, preventing the token from being exposed in code or logs.

Core Features

  1. GitHub MCP Connection: Connects to the official remote server via @deepseek-ai/dsh-mcp-client, providing 40+ GitHub tools, with tool names prefixed by mcp__github__*.
  2. Token Storage Management: GitHub Personal Access Token (PAT) is stored in the DSH credential center (.credentials.yaml) and is not written to source code or logs.
  3. Model Tools:
    - github_token_status: View the token configuration status, source, and writability.
    - github_set_token: Enter a token directly in the conversation to update the credential center.
  4. Panel Plugin: Automatically bundles and installs dsh-github-mcp-hint (requires additional activation).

Installation and Activation

Use the following command to install the main plugin:

dsh plugin --profile web add dsh-github-mcp

The install package automatically includes dsh-github-mcp-hint as a dependency, but DSH only adds top-level dependencies to the bundles layer of a profile; therefore, the panel plugin is not activated automatically. If you need the “Settings → Plugins → GitHub MCP” panel, run the following command separately:

dsh plugin --profile web add dsh-github-mcp-hint

Prerequisites

  1. DSH Version: Depends on @deepseek-ai/dsh-mcp-client (DSH core); DSH version >= 0.1.x is required.
  2. GitHub PAT: Generate a Personal Access Token with scopes including repo, read:org, and read:packages.

Configuration and Usage

Setting the Token

There are two ways to configure the token:
1. Model Tools: Say directly in the conversation, “Set my GitHub token to ghp_xxx,” and the model will call github_set_token to write it to the credential center.
2. Edit the Credential Center: Directly edit ~/.dsh/.credentials.yaml and add GITHUB_TOKEN: ghp_xxx under refs:.

Note: After changing the token, you must restart DSH for the change to take effect.

Common Operations

  • Check Status: Ask, “Is my GitHub token configured?”
  • Search Repositories: Ask, “Search for the keyword xxx in owner/repo.”
  • Manage PRs/Issues: Use natural language instructions to call mcp__github__* tools to perform operations such as creating, commenting, and merging.

Notes

  1. Environment Variable Conflicts: If GITHUB_TOKEN already exists in an environment variable, writing it to the credential center is rejected. You must first unset the environment variable before using the model tool or editing the file.
  2. Restart Required: You must restart DSH after modifying the token, because mcp-client reads the token at startup.
  3. Panel Plugin Dependency: dsh-github-mcp-hint must be installed separately and added to the profile bundles for the panel UI to appear.