Skip to main content
Glama
lyderdev

GitHub MCP Server

by lyderdev

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

Related MCP server: GitHub Enterprise MCP Server

Requirements

  • Node.js 18+

  • GitHub personal access token with appropriate permissions

  • Set GITHUB_TOKEN environment variable

Installation

npm install
npm run build

Configuration

Set your GitHub token as an environment variable:

export GITHUB_TOKEN=your_token_here

Usage

Run the server:

npm start

Development

For development with auto-rebuild:

npm run watch

Debugging

Use the MCP Inspector:

npm run inspector

Related MCP Connectors

Related MCP Servers