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
MarkItDown-MCP is a lightweight server for converting URIs to Markdown.
servers
Model Context Protocol Servers
everything-claude-code
Complete Claude Code configuration collection - agents, skills, hooks,...
Time
A Model Context Protocol server for time and timezone conversions.
Sequential Thinking
A structured MCP server for dynamic problem-solving and reflective thinking.
git
A Model Context Protocol server for Git automation and interaction.