GitRuozhi/dsh-github-mcp1

dsh-github-mcp

GitHub official MCP server bridge for DeepSeek Harness: registers mcp__github__* native tools via @deepseek-ai/dsh-mcp-client (remote mode, api.githubcopilot.com/mcp/).

AI 분석

让 Agent 获得深度操作 GitHub 仓库的能力。适合需要 Agent 辅助进行代码搜索、Issue 跟踪和自动化提 PR 的开发团队。

패키지
dsh-github-mcp
버전
1.0.0
라이선스
MIT
최근 업데이트
2026. 8. 15.

설치

$npx -p @deepseek-ai/dsh dsh plugin --profile web add github:GitRuozhi/dsh-github-mcp

dsh-github-mcp

DeepSeek Harness (DSH) bundle that bridges the official GitHub MCP server (github/github-mcp-server) into DSH as native tools, using DSH's built-in @deepseek-ai/dsh-mcp-client.

After install, the model sees the mcp__github__* tool family — e.g. mcp__github__get_me, mcp__github__search_repositories, mcp__github__search_code, mcp__github__create_issue, mcp__github__create_pull_request, mcp__github__get_file_contents, mcp__github__create_repository, and more (the official server currently exposes ~44 tools).

Install

dsh plugin --profile web add github:GitRuozhi/dsh-github-mcp

Then set a GitHub token and restart dsh web:

# $DSH_HOME defaults to ~/.dsh — write the token to its .env (materialized into process.env at boot)
Set-Content -Path "$env:USERPROFILE\.dsh\.env" -Value "GITHUB_TOKEN=$(gh auth token)"
# restart dsh web

GITHUB_TOKEN is a GitHub OAuth token (gh auth token) or a fine-grained personal access token (PAT). DSH materializes $DSH_HOME/.env into process.env at boot; the bridge reads process.env.GITHUB_TOKEN.

What it is / isn't

✅ Official serverconnects to GitHub's first-party github-mcp-server
✅ Native MCPspeaks MCP (streamable-http) directly — not wrapping gh, not hand-rolled REST
✅ Remote modeGitHub's hosted endpoint https://api.githubcopilot.com/mcp/ — zero local deps
❌ No bundled tokenyou supply GITHUB_TOKEN (see above)

Remote vs local mode

This bundle ships remote mode (recommended). To self-host the official server locally instead, edit cordis.patch.yml: point url at your own server and drop the headers:

# docker run --rm -p 8085:8085 -e GITHUB_PERSONAL_ACCESS_TOKEN= ghcr.io/github/github-mcp-server
config:
  serverName: github
  transport: streamable-http
  url: http://localhost:8085/mcp

Known limitation

DSH's dsh-mcp-client bridges MCP tools only (not resources/prompts). GitHub's get_file_contents returns file bodies as an MCP resource, so the raw body is dropped on the bridge — the tool still fetches the file (SHA/size), but the text isn't passed back to the model. Search/issue/PR/repo tools that return text work normally.

Verify

node test/validate.mjs   # validates the bundle patch + mcp-client config schema

New session → ask the model to call mcp__github__get_me; your account info means it's connected.

License

MIT