Skip to main content
Glama
personal-github-mcp

personal-github-mcp

by neural-shubh

personal-github-mcp

A minimal, personal MCP server that gives Claude (via Claude Code or Claude Desktop) full read/write access to the GitHub REST API, using your own Personal Access Token (PAT) — no third-party app permissions, no 403s from a shared connector's scopes.

It exposes one tool, github_request, that can call any GitHub REST API endpoint with any HTTP method (GET, POST, PATCH, PUT, DELETE). That covers everything: creating issues, commenting, merging PRs, creating/ updating files, branches, releases, labels, workflows — the full API at https://docs.github.com/en/rest.

1. Create a GitHub Personal Access Token

  1. Go to https://github.com/settings/tokens?type=beta (fine-grained token, recommended) or https://github.com/settings/tokens (classic).

  2. Fine-grained token: scope it to your account, pick "Only select repositories" (or all, if you want), and under Repository permissions grant at least:

    • Contents: Read and write

    • Issues: Read and write

    • Pull requests: Read and write

    • Metadata: Read-only (required)

  3. Classic token: just check the repo scope.

  4. Copy the token — you won't see it again.

Related MCP server: GitHub MCP Server

2. Install dependencies

cd github-mcp-server
npm install

3. Configure your MCP client

Claude Code

Add to your Claude Code MCP config (~/.claude.json or via claude mcp add):

claude mcp add personal-github -- node /absolute/path/to/github-mcp-server/index.js

Then set the token as an environment variable before launching, or add it directly to the config's env block:

{
  "mcpServers": {
    "personal-github": {
      "command": "node",
      "args": ["/absolute/path/to/github-mcp-server/index.js"],
      "env": {
        "GITHUB_TOKEN": "ghp_your_token_here"
      }
    }
  }
}

Claude Desktop

Edit your claude_desktop_config.json (Settings → Developer → Edit Config) and add the same mcpServers block as above, then restart Claude Desktop.

4. Use it

Once connected, ask Claude things like:

  • "Create an issue in neural-shubh/dark-fleet-detection titled X with body Y"

  • "List my open pull requests across all repos"

  • "Update the README.md in neural-shubh/mediscan-ai"

Claude will call github_request with the right method/path/body — e.g. POST /repos/neural-shubh/dark-fleet-detection/issues with {"title": "...", "body": "..."}.

Security notes

  • The token lives only in your local MCP config / environment — it's never sent anywhere except api.github.com.

  • Scope the token as narrowly as you're comfortable with (fine-grained, select repos only) since this server will honor whatever the token allows.

  • This server does not implement any allow/deny tool policy of its own — the token's scopes are the only guardrail. If you want to restrict it further (e.g. read-only, or single-repo-only) that's easy to add — just ask.

Available Tools

1 tool
github_requestGitHub API RequestA

Make an authenticated request to any GitHub REST API v3 endpoint (read or write). Use this for everything: listing/creating/updating repos, issues, pull requests, comments, files (create_or_update via PUT /repos/{owner}/{repo}/contents/{path}), branches, releases, labels, workflows, etc. Full API reference: https://docs.github.com/en/rest. Path must start with '/' and be relative to https://api.github.com (e.g. '/repos/OWNER/REPO/issues'). For GET requests with query params, either append them to path as a query string or pass query. For write requests (POST/PATCH/PUT/DELETE), pass a JSON-serializable object as body.

NameRequiredDescriptionDefault
bodyNoOptional JSON request body, used for POST/PATCH/PUT requests.
pathYesAPI path relative to https://api.github.com, starting with '/'. Example: '/repos/neural-shubh/dark-fleet-detection/issues'
queryNoOptional query string parameters as key/value pairs.
methodYesHTTP method to use.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

  1. 1 tool updatev1.0.0
    • First observedgithub_request

TDQS

A4.6/5.0

Scored across 1 tool

Disambiguation5/5

With only one tool, there is no possibility of confusion between different tools. The tool's purpose as a generic GitHub API request handler is clear and unambiguous.

Naming Consistency5/5

The single tool name 'github_request' directly describes its function. Since there is only one tool, there is no inconsistent naming pattern to evaluate.

Tool Count3/5

A single tool is on the lower end of the spectrum and feels thin for a GitHub MCP server. However, the tool is powerful and comprehensive, so it is not trivial, but it places a heavy burden on the agent to know the API specifics.

Completeness5/5

The tool claims to cover any GitHub REST API endpoint, making it functionally complete for the domain. It supports all HTTP verbs and includes query parameters and body handling, so no obvious operations are missing.

Maintenance

ActivityInactive
ResponsivenessNo recent community issues

Related MCP Connectors

Related MCP Servers

  • F
    license
    C
    quality
    D
    maintenance
    Provides tools for mapping and analyzing GitHub repositories. It allows users to set a GitHub Personal Access Token and retrieve detailed information about a specified repository, including its structure and summary statistics.
    2
    25
    -
  • F
    license
    Not graded
    quality
    D
    maintenance
    Enables access to GitHub repositories and data through the GitHub API. Supports retrieving repositories, issues, pull requests, and searching code across GitHub with authentication via personal access tokens.
    -
  • A
    license
    Not graded
    quality
    D
    maintenance
    Enables comprehensive interaction with the GitHub API, including file operations, repository management, issue tracking, pull request workflows, and advanced search functionality across code, issues, and users.
    189,189 npm
    MIT