Github-Oauth MCP Server
# Development
## Set up your environment
First, let’s install uv and set up our Python project and environment:
```bash
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
## you can find claude_desktop_config.json :
```bash
For Windows : code $env:AppData\Claude\claude_desktop_config.json
For Mac/Linux :code ~/Library/Application\ Support/Claude/claude_desktop_config.json
```
```bash
{
"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](https://github.com/modelcontextprotocol/inspector).
You can launch the MCP Inspector via [`npm`](https://docs.npmjs.com/downloading-and-installing-node-js-and-npm) with this command:
```bash
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.
TDQS
Scored across 4 tools
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.
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.
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.
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.