GitHub MCP Server
by MuyleangIng
README.md
# GitHub MCP Server β Live Test
A working MCP server that connects to the **real GitHub API**.
This is the same pattern Claude Desktop uses to access your GitHub.
## Quick Start (3 commands)
```bash
# 1. Install
npm install
# 2. Run with your token
GITHUB_TOKEN=ghp_yourtoken node client.js
# Windows (PowerShell):
$env:GITHUB_TOKEN="ghp_yourtoken"; node client.js
# Windows (CMD):
set GITHUB_TOKEN=ghp_yourtoken && node client.js
```
## What Gets Tested
The client runs **12+ tests** across these real GitHub operations:
| Step | Tool | What It Does |
|------|------|-------------|
| 1 | (connect) | MCP handshake with server |
| 2 | (discover) | Find all 8 tools + 2 resources |
| 3 | `get_user` | Get YOUR GitHub profile |
| 4 | `list_repos` | List your recent repos |
| 5 | `search_repos` | Search GitHub for "mcp server" |
| 6 | `get_repo` | Get details on your first repo |
| 7 | `list_issues` | Check issues on your repo |
| 8 | `list_pull_requests` | Check PRs on your repo |
| 9 | `get_file_contents` | Read README.md from your repo |
| 10 | `list_commits` | Show recent commits |
| 11 | (resources) | Read profile + repos resources |
## Get a GitHub Token
1. Go to https://github.com/settings/tokens
2. Click **"Generate new token (classic)"**
3. Name it "MCP Test"
4. Select scopes: `repo`, `read:org`, `read:user`
5. Click Generate β Copy the `ghp_...` token
## Use with Claude Desktop
After testing, add this to your Claude Desktop config:
**macOS:** `~/Library/Application Support/Claude/claude_desktop_config.json`
**Windows:** `%APPDATA%\Claude\claude_desktop_config.json`
```json
{
"mcpServers": {
"github": {
"command": "node",
"args": ["/full/path/to/mcp-github-demo/server.js"],
"env": {
"GITHUB_TOKEN": "ghp_yourtoken"
}
}
}
}
```
Then restart Claude Desktop. You'll see the hammer icon π¨.
Try asking: "Show me my recent GitHub repos" or "What are the open issues on my project?"
## How It Works
```
You ask Claude: "What are my open issues?"
β
βΌ
ββββββββββββββββββββ
β Claude Desktop β β Host (contains MCP client)
β sees "github" β
β tools available β
β calls list_issuesβ
ββββββββββ¬ββββββββββ
β MCP protocol (JSON-RPC over stdio)
βΌ
ββββββββββββββββββββ
β server.js β β MCP Server (this file!)
β receives request β
β calls GitHub API β
ββββββββββ¬ββββββββββ
β HTTPS
βΌ
ββββββββββββββββββββ
β api.github.com β β External Data Source
β returns issues β
ββββββββββββββββββββ
β
βΌ
Data flows back: GitHub β server.js β Claude β You
```
This server cannot be deployed
Maintenance
ActivityInactive
ResponsivenessNo issues