Enables secure handling of GitHub authentication tokens through environment variables.
Provides tools for accessing GitHub data through its REST API, including fetching user details, repository information, and authenticated user data using personal access tokens.
GitHub MCP Server
Overview
GitHub MCP Server is an API-based tool that interacts with GitHub using the MCP (Modular Command Processor) 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
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
orvenv
for virtual environment management
Setup and Usage
- Clone the Repository
- Create Python environment
- Install Dependencies
- Set Up Environment Variables (Create .env file)
- Setup claude_desktop_config.json
- 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.
- 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.
This server cannot be installed
hybrid server
The server is able to function both locally and remotely, depending on the configuration or use case.
A modular command processor server that enables interaction with GitHub's REST API to fetch user details, repository information, and authenticated user data through natural language commands in Claude.
Related MCP Servers
- -securityFlicense-qualityA Model Context Protocol server that enables AI assistants like Claude to interact with GitHub repositories, issues, and pull requests.Last updated -6Python
- AsecurityFlicenseAqualityAn MCP server that enables Claude and other compatible LLMs to interact with the GitHub API, supporting features like creating issues, retrieving repository information, listing issues, and searching repositories.Last updated -4TypeScript
- AsecurityFlicenseAqualityAn MCP server that allows Claude and other MCP-compatible LLMs to interact with the GitHub API, supporting features like creating issues, getting repository information, listing issues, and searching repositories.Last updated -4TypeScript
- -securityAlicense-qualityAn MCP server that enables AI assistants like Claude to help users manage their GitHub notifications through natural language commands.Last updated -215TypeScriptMIT License