GitHub MCP Server logo

GitHub MCP Server

by metoro-io

A Go implementation of the GitHub Model Context Protocol (MCP) server. It allows AI assistants to interact with the GitHub API to perform various operations.

View on GitHub

Last updated: N/A

What is GitHub MCP Server?

This is a Go server implementing the GitHub Model Context Protocol (MCP), enabling AI assistants to interact with the GitHub API. It provides tools for managing repositories, branches, files, issues, and more.

How to use GitHub MCP Server?

  1. Set your GitHub personal access token as an environment variable or via HTTP header. 2. Run the server using go run main.go. 3. Use the available tools through the MCP interface to interact with the GitHub API.

Key features of GitHub MCP Server

  • Provides a set of tools for interacting with the GitHub API

  • Supports environment variable and HTTP header authentication

  • Supports context passthrough for HTTP handlers (standard http_request and Gin context)

  • Includes tools for searching repositories, creating repositories, managing branches, manipulating files, and managing issues.

Use cases of GitHub MCP Server

  • Automating GitHub repository management tasks

  • Integrating GitHub functionality into AI assistants

  • Building custom GitHub workflows

  • Programmatically managing GitHub issues and pull requests

FAQ from GitHub MCP Server

What is a GitHub Personal Access Token?

A GitHub Personal Access Token is a credential used to authenticate with the GitHub API.

What permissions are required for the GitHub Personal Access Token?

The required permissions depend on the tools you intend to use. At a minimum, repo scope is recommended for most operations.

How do I install the server?

Use the command go get github.com/metoro-io/github-mcp-server-go.

How do I authenticate with the server?

You can authenticate using an environment variable (GITHUB_PERSONAL_ACCESS_TOKEN) or via the Authorization header in HTTP requests.

What tools are available?

The server provides tools for searching repositories, creating repositories, managing branches, manipulating files, managing issues, and more. See the 'Available Tools' section in the README for a complete list.