GitHub MCP Server

by DivyanshKushwaha
Verified
# GitHub MCP Server ## Overview GitHub MCP Server is an API-based tool that interacts with GitHub using the [MCP (Modular Command Processor)](https://github.com/mcp-framework) framework. It provides various functionalities, including fetching user details, repository information, and authenticated user data using GitHub's REST API. This project is built using Python and leverages `httpx` for asynchronous API calls. It also uses `dotenv` for secure handling of GitHub authentication tokens. ## Features - Fetch GitHub user information by username. - Retrieve details of a GitHub repository. - Get authenticated user details using a GitHub personal access token. - Utilizes `FastMCP` for modular command processing. ## Project Structure ```bash D:/MCP_Project/ |----.env │----.gitignore │----claude_desktop_config.json (Create this file in C:\Users\your_username\AppData\Roaming\Claude\) │----main.py │----pyproject.toml │----README.md │----requirements.txt ``` <br> - `main.py`: Core logic of the GitHub MCP Server. - `.env`: Stores environment variables (e.g., GitHub Token). - `claude_desktop_config.json`: Configuration for running the MCP Server. - `requirements.txt`: Lists required dependencies. - `explanation_video.mp4`: A video explaining the project. ## Setup Instructions ### Prerequisites - Python >=3.10 - GitHub personal access token (for authenticated requests) - `conda` or `venv` for virtual environment management ### Setup and Usage 1. **Clone the Repository** ```bash git clone https://github.com/DivyanshKushwaha/GitHub-MCP-Server-Claude.git cd GitHub-MCP-Server-Claude ``` 2. **Create Python environment** ```bash python -m venv venv source venv/bin/activate ``` 3. **Install Dependencies** ```bash pip install -r requirements.txt ``` 4. **Set Up Environment Variables (Create .env file)** ```bash GITHUB_TOKEN=your_personal_access_token ``` 5. **Setup claude_desktop_config.json** ```bash { "mcpServers": { "MCP_Server": { "command": "my_env/Scripts/uv", "args": [ "run", "D:/MCP_Project/main.py" ] } } } ``` - The command key specifies the path to the uv script located in the conda environment. This is used to run the server. - The args key provides additional arguments for the uv script: - "run": Indicates the action to run the server. - my_env : python environment 'my_env' - "D:/MCP_Project/main.py": Specifies the path to the main.py script, which contains the implementation of the MCP server. 6. **Launch the Claude Desktop Application** - Open the Claude Desktop Application. - It will use the MCP Server as configured in the claude_desktop_config.json file to fetch and process data.