github-mcp-server
GitHub MCP Server (Local)
A local MCP server that gives Claude Desktop direct access to your GitHub account via a personal access token. Runs entirely on your machine — your token never leaves your computer except to talk to GitHub's API directly.
Tools included
github_whoami— get the authenticated user's profilegithub_list_repos— list your reposgithub_get_repo— get details on a specific repogithub_search_repos— search repositoriesgithub_get_file— read a file's contents from a repogithub_list_issues— list issues in a repogithub_create_issue— create an issuegithub_list_pull_requests— list PRs in a repogithub_search_code— search code across GitHubgithub_list_commits— list commits in a repo (filter by branch, path, or author)github_get_commit— get a single commit with changed files and diff statsgithub_list_branches— list branches in a repogithub_get_issue— get full details of a single issuegithub_get_pull_request— get full details of a single PRgithub_list_pr_files— list files changed in a PRgithub_add_issue_comment— comment on an issue or PRgithub_search_issues— search issues and PRs across GitHub
1. Prerequisites
Node.js 18+ installed on your computer
A GitHub Personal Access Token (PAT)
Create a GitHub token
Click Generate new token → Fine-grained token (recommended) or classic token
Give it a name, an expiration, and scopes:
Fine-grained: grant access to the repos you want, with Contents (read), Issues (read/write), Pull requests (read) permissions
Classic: the
reposcope covers everything above
Copy the token (starts with
github_pat_orghp_) — you won't see it again
Keep this token secret. Anyone with it can act as you on GitHub within its scopes.
2. Install
Unzip this project anywhere on your computer, then in a terminal:
cd github-mcp-server
npm install
npm run buildThis produces a dist/index.js file — that's what Claude Desktop will run.
3. Configure Claude Desktop
Open your Claude Desktop config file:
macOS:
~/Library/Application Support/Claude/claude_desktop_config.jsonWindows:
%APPDATA%\Claude\claude_desktop_config.json
Add an entry under mcpServers (create the file/section if it doesn't exist),
using the absolute path to dist/index.js:
{
"mcpServers": {
"github": {
"command": "node",
"args": ["/absolute/path/to/github-mcp-server/dist/index.js"],
"env": {
"GITHUB_TOKEN": "ghp_your_token_here"
}
}
}
}Replace the path and token with your own values.
4. Restart Claude Desktop
Fully quit and reopen the app. You should see a small tools/plug icon indicating the "github" MCP server is connected, and its tools will be available in chat.
Notes
This server only runs while Claude Desktop is open — it starts/stops the process for you.
To revoke access at any time, delete the token at https://github.com/settings/tokens.
To add more capabilities (e.g. creating PRs, managing branches), extend
src/index.tswith additionalserver.tool(...)calls using the Octokit REST API.
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/hampannagouda/github-mcp-server'
If you have feedback or need assistance with the MCP directory API, please join our Discord server