Content
# GitHub MCP Server
A Model Context Protocol server for interacting with the GitHub API.
## Features
### Tools
- `list_user_repos`: List repositories for the authenticated user
- Parameters:
- `type` (optional): "owner", "all", or "member" (default: "owner")
- `sort` (optional): "created", "updated", "pushed", or "full_name" (default: "full_name")
- `direction` (optional): "asc" or "desc" (default: "asc")
- `per_page` (optional): Number of results per page (default: 30, max: 100)
- `page` (optional): Page number (default: 1)
- `get_repo`: Get details about a specific repository
- Parameters:
- `repo` (required): The name of the repository
- `owner` (optional): The account owner. If not provided, uses authenticated user.
- `create_repo`: Create a new repository
- Parameters:
- `name` (required): The name of the repository
- `description` (optional): A short description
- `private` (optional): Whether the repository is private (default: false)
- `auto_init` (optional): Create initial commit with empty README (default: false)
- `create_commit`: Create a new commit with file changes
- Parameters:
- `repo` (required): The name of the repository
- `owner` (optional): The account owner. If not provided, uses authenticated user.
- `branch` (optional): The branch name (default: "main")
- `message` (required): The commit message
- `files` (required): Array of files to include in commit
- Each file requires:
- `path`: File path relative to repository root
- `content`: File content
- `push`: Push changes to a remote repository
- Parameters:
- `repo` (required): The name of the repository
- `owner` (optional): The account owner. If not provided, uses authenticated user.
- `branch` (optional): The branch name (default: "main")
- `pull`: Pull changes from a remote repository
- Parameters:
- `repo` (required): The name of the repository
- `owner` (optional): The account owner. If not provided, uses authenticated user.
- `branch` (required): The branch name
## Requirements
- Node.js 18+
- GitHub personal access token with appropriate permissions
- Set `GITHUB_TOKEN` environment variable
## Installation
```bash
npm install
npm run build
```
## Configuration
Set your GitHub token as an environment variable:
```bash
export GITHUB_TOKEN=your_token_here
```
## Usage
Run the server:
```bash
npm start
```
## Development
For development with auto-rebuild:
```bash
npm run watch
```
## Debugging
Use the [MCP Inspector](https://github.com/modelcontextprotocol/inspector):
```bash
npm run inspector
```
Connection Info
You Might Also Like
MarkItDown MCP
Converting files and office documents to Markdown.
Time
Obtaining current time information and converting time between different...
Filesystem
Model Context Protocol Servers
Sequential Thinking
Offers a structured approach to dynamic and reflective problem-solving,...
Git
Model Context Protocol Servers
Context 7
Context7 MCP Server -- Up-to-date code documentation for LLMs and AI code editors