GitHub MCP Server
@Sami-07
A Simple custom-built MCP server that provides GitHub integration features through various tools and resources.
Overview
What is GitHub MCP Server?
A custom-built MCP server that provides GitHub integration features through various tools and resources, allowing AI assistants or clients to interact with GitHub data programmatically.
How to use GitHub MCP Server?
Install dependencies with pip install -r requirements.txt, create a .env file with your GITHUB_TOKEN, and run python server.py. The server then exposes tools and resources for interacting with GitHub (e.g., user info, repositories, issues, commit statuses).
Key features of GitHub MCP Server
- Get user information and profile details
- List user repositories and followers
- Get and create repository issues
- Get commit statuses for a specific SHA
- Retrieve owner (authenticated user) information
- Resource-based access to GitHub data via custom URI scheme
- Simple setup with a personal access token
Use cases of GitHub MCP Server
- Fetch a GitHub user’s profile and public repositories
- List followers of a given GitHub user
- Retrieve open issues from a repository, optionally with labels
- Create a new issue with title, body, and labels
- Check commit statuses (CI/CD results) for a specific commit
FAQ from GitHub MCP Server
What is GitHub MCP Server and how does it differ from the GitHub API?
It acts as a lightweight MCP wrapper around the GitHub API, providing a simple tool‑ and resource‑based interface for common operations like user info, repos, and issues, without requiring direct API calls.
What are the runtime requirements?
Python 3 and the packages listed in requirements.txt (e.g., pip install). A GitHub personal access token is required, stored in a .env file.
What permissions does the GitHub token need?
The token requires repo (full control of private repositories), read:user (read user profile data), and user:follow (follow/unfollow users). Create one at https://github.com/settings/personal-access-tokens.
How do I run the server?
After setting up the token, run python server.py. The server listens for MCP requests (likely over stdio).
Can I create a new issue using this server?
Yes, the create_issue tool allows creating issues with owner, repo, title, body, and optional labels.