Skip to main content
Glama
Github-Oauth MCP Server

Github-Oauth MCP Server

Development

Set up your environment

First, let’s install uv and set up our Python project and environment:

MacOS/Linux : curl -LsSf https://astral.sh/uv/install.sh | sh
Windows : powershell -ExecutionPolicy ByPass -c "irm https://astral.sh/uv/install.ps1 | iex"

Make sure to restart your terminal afterwards to ensure that the uv command gets picked up.

Now, let’s create and set up our project:

Running to local claude desktop app

  1. Make sure you need to update claude_desktop_config.json to register tool

Related MCP server: GitHub Integration Hub

you can find claude_desktop_config.json :

For Windows : code $env:AppData\Claude\claude_desktop_config.json
For Mac/Linux :code ~/Library/Application\ Support/Claude/claude_desktop_config.json
{
  "mcpServers": {
    "Github-Oauth": {
      "command": "C:\\Users\\Hp\\.local\\bin\\uv",
      "args": [
        "--directory",
        "C:\\Users\\Hp\\Github-Oauth\\src\\github_oauth",
        "run",
        "server.py"
      ]
    }
  }
}

Debugging

Since MCP servers run over stdio, debugging can be challenging. For the best debugging experience, we strongly recommend using the MCP Inspector.

You can launch the MCP Inspector via npm with this command:

npx @modelcontextprotocol/inspector uv --directory C:\Users\Hp\Github-Oauth run github-oauth

Upon launching, the Inspector will display a URL that you can access in your browser to begin debugging.

Available Tools

4 tools
authorize_githubB

Generate GitHub authorization URL for user authorization.

Inputs: no named parameters.

get_access_token_from_codeC

Exchange authorization code for an access token.

Inputs: code (required).

get_user_profileB

Fetch the authenticated user's GitHub profile.

Inputs: no named parameters.

get_user_repositoriesB

Fetch the repositories of the authenticated user.

Inputs: no named parameters.

Tool Schema Changelog

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

Loading tool schema changelog…

    TDQS

    A3.5/5.0

    Scored across 4 tools

    Disambiguation5/5

    Each tool has a clearly distinct purpose in the OAuth flow and user data retrieval: authorize_github initiates the flow, get_access_token_from_code handles token exchange, get_user_profile fetches profile data, and get_user_repositories fetches repositories. There is no overlap or ambiguity between these operations.

    Naming Consistency5/5

    All tools follow a consistent verb_noun pattern with snake_case (e.g., authorize_github, get_access_token_from_code). The naming is predictable and readable throughout the set.

    Tool Count5/5

    With 4 tools, this server is well-scoped for its purpose of GitHub OAuth authentication and basic user data access. Each tool earns its place by covering essential steps in the OAuth flow and common user queries.

    Completeness4/5

    The tool set covers the core OAuth flow (authorization, token exchange) and basic user data (profile, repositories), with no dead ends. A minor gap exists in lacking tools for more advanced GitHub operations (e.g., repository management or issue handling), but this is reasonable given the server's focused scope.

    Maintenance

    ActivityInactive
    ResponsivenessNo recent community issues

    Related MCP Connectors

    Related MCP Servers

    • 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.
      -
    • F
      license
      Not graded
      quality
      D
      maintenance
      Connects Claude to GitHub via OAuth and proxies official GitHub MCP tools, allowing each end user to interact with GitHub as themselves.
      -