GitHub MCP Server with DeepSeek AI Integration š
Fork of the official GitHub MCP Server with DeepSeek AI-powered tools for intelligent code analysis, content summarization, and description generation.
⨠What's New: DeepSeek AI Integration
This fork enhances the official GitHub MCP Server with DeepSeek AI-powered tools. When DEEPSEEK_API_KEY is configured, three new AI tools become available to MCP clients:
Quick Test Results
š How It Works
Architecture
āāāāāāāāāāāāāāāāāāāāāāā MCP Protocol āāāāāāāāāāāāāāāāāāāāāāāā
ā AI Client (LLM) ā āāāāāāāāāāāāāāāāāāāāŗ ā GitHub MCP Server ā
ā (Claude, Copilot, ā ā āāāāāāāāāāāāāāāāāā ā
ā DeepSeek, etc.) ā ā ā GitHub REST ā ā
āāāāāāāāāāāāāāāāāāāāāāā ā ā GitHub GraphQL ā ā
ā ā GitHub Raw ā ā
ā āāāāāāāāāāāāāāāāāā ā
ā āāāāāāāāāāāāāāāāāā ā
ā ā DeepSeek AI ⨠ā ā
ā āāāāāāāāāāāāāāāāāā ā
āāāāāāāāāāāāāāāāāāāāāāāā
The MCP server provides GitHub API tools to any MCP-compatible AI client. The DeepSeek integration adds AI-powered analysis tools that run server-side, meaning any MCP client (Claude, Copilot, DeepSeek-powered clients, etc.) can access them without needing their own AI key.
š¦ Installation & Setup
Prerequisites
- Go 1.25+ (for building from source)
- GitHub Personal Access Token (classic or fine-grained)
- DeepSeek API Key (optional, for AI-powered tools)
Option 1: Build from Source
git clone https://github.com/ph7klw76/github-mcp-server2.git
cd github-mcp-server2
go build -o github-mcp-server ./cmd/github-mcp-server/
Option 2: Using Docker
docker build -t github-mcp-server2 .
docker run -i --rm \
-e GITHUB_PERSONAL_ACCESS_TOKEN=<your-github-token> \
-e DEEPSEEK_API_KEY=<your-deepseek-key> \
github-mcp-server2 stdio
š Quick Start
Basic Usage (without AI tools)
export GITHUB_PERSONAL_ACCESS_TOKEN="ghp_xxxx"
./github-mcp-server stdio
With DeepSeek AI Tools Enabled
export GITHUB_PERSONAL_ACCESS_TOKEN="ghp_xxxx"
export DEEPSEEK_API_KEY="sk-xxxx"
export DEEPSEEK_MODEL="deepseek-v4-flash" # optional, this is the default
./github-mcp-server stdio
When the server starts, you'll see:
INFO "starting server" version=... host=... readOnly=false lockdownEnabled=false
INFO "DeepSeek AI integration enabled" model=deepseek-v4-flash
GitHub MCP Server running on stdio
HTTP Mode
export GITHUB_PERSONAL_ACCESS_TOKEN="ghp_xxxx"
export DEEPSEEK_API_KEY="sk-xxxx"
./github-mcp-server http --port 8082
š¤ MCP Client Configuration
VS Code / Copilot
{
"servers": {
"github-deepseek": {
"type": "stdio",
"command": "/path/to/github-mcp-server",
"args": ["stdio"],
"env": {
"GITHUB_PERSONAL_ACCESS_TOKEN": "${input:github_token}",
"DEEPSEEK_API_KEY": "${input:deepseek_key}"
}
}
},
"inputs": [
{
"type": "promptString",
"id": "github_token",
"description": "GitHub Personal Access Token",
"password": true
},
{
"type": "promptString",
"id": "deepseek_key",
"description": "DeepSeek API Key",
"password": true
}
]
}
Claude Desktop
{
"mcpServers": {
"github-deepseek": {
"command": "/path/to/github-mcp-server",
"args": ["stdio"],
"env": {
"GITHUB_PERSONAL_ACCESS_TOKEN": "ghp_xxxx",
"DEEPSEEK_API_KEY": "sk-xxxx"
}
}
}
}
Cursor
{
"mcpServers": {
"github-deepseek": {
"command": "/path/to/github-mcp-server",
"args": ["stdio"],
"env": {
"GITHUB_PERSONAL_ACCESS_TOKEN": "ghp_xxxx",
"DEEPSEEK_API_KEY": "sk-xxxx"
}
}
}
}
š ļø AI-Powered Tools
ai_summarize_content
Analyze and summarize any GitHub content using DeepSeek AI.
Input:
content(required): Text content from GitHub (issue body, PR description, code, etc.)goal(optional): What to do with the content. Default: "summarize"maxWords(optional): Maximum words in output. Default: 500, Range: 50-2000
Example goals: "summarize", "identify key points", "find bugs", "explain this code", "extract action items", "check for security issues"
ai_code_review
Review code for bugs, security, performance, and style issues.
Input:
code(required): Source code to reviewlanguage(optional): Programming language (e.g., "go", "python", "javascript")context(optional): Additional context about what the code should do
ai_generate_description
Generate GitHub content like PR descriptions, issue bodies, README sections.
Input:
prompt(required): What to generate (e.g., "Write a PR description for fixing a login bug")contentType(optional): Type of content -pr_description,issue_body,readme,release_notes,commit_message, orgeneral
āļø Environment Variables
š Toolset Configuration
The server supports selective toolset enabling via the --toolsets flag:
# Enable specific toolsets + AI tools
./github-mcp-server stdio --toolsets=default,deepseek_ai
# Enable only AI tools
./github-mcp-server stdio --toolsets=deepseek_ai
# Enable all tools including AI
./github-mcp-server stdio --toolsets=all
The deepseek_ai toolset is automatically included when DEEPSEEK_API_KEY is set and no specific toolsets are configured.
š§ Development
Building
go build ./cmd/github-mcp-server/
Running Tests
go test ./...
Project Structure
.
āāā cmd/github-mcp-server/ # Server entry point
āāā internal/ghmcp/ # MCP server setup and initialization
āāā pkg/
ā āāā deepseek/ # ⨠DeepSeek API client
ā āāā github/ # GitHub tools, resources, prompts
ā ā āāā deepseek_tools.go # ⨠AI-powered MCP tools
ā ā āāā tools.go # Tool registration (AllTools)
ā ā āāā ...
ā āāā inventory/ # Tool/resource/prompt registry
ā āāā ...
āāā docs/ # Documentation
Key Files Modified
š Original Features (from github/github-mcp-server)
This fork retains all features from the official GitHub MCP Server:
- Repository Management: Browse code, search files, analyze commits
- Issue & PR Automation: Create, update, manage issues and pull requests
- CI/CD Intelligence: Monitor Actions, analyze build failures
- Code Security: Code scanning, secret scanning, Dependabot alerts
- Team Collaboration: Discussions, notifications, projects
- Remote & Local Server: Both HTTP and stdio transport modes
- Scope Filtering: PAT scope-based tool filtering
- Toolset Configuration: Selective tool enabling
- Read-Only & Lockdown Modes: Security-focused configurations
š License
This project is licensed under the MIT License. See LICENSE for details.
Original project: github/github-mcp-server
This README was generated by an AI agent (OpenHands) on behalf of the user.