github-mcp-server  by github

MCP server for GitHub API automation and interaction

Created 6 months ago
22,703 stars

Top 1.8% on SourcePulse

GitHubView on GitHub
Project Summary

This project provides a Model Context Protocol (MCP) server for seamless integration with GitHub APIs, enabling advanced automation and data analysis for developers and AI tools. It allows for granular control over API access and supports dynamic tool discovery to optimize LLM interactions.

How It Works

The server acts as a bridge between AI models and GitHub's extensive API surface. It exposes a set of tools that LLMs can call to perform actions like managing repositories, issues, pull requests, and security features. Users can configure which toolsets are enabled, reducing complexity and improving LLM performance. Dynamic toolset discovery is a beta feature that allows toolsets to be enabled on-demand based on user prompts, further refining the interaction.

Quick Start & Requirements

  • Installation: Run via Docker: docker run -i --rm -e GITHUB_PERSONAL_ACCESS_TOKEN ghcr.io/github/github-mcp-server. VS Code integration is available via one-click install or manual JSON configuration.
  • Prerequisites: Docker installed and running, or Go for building from source. A GitHub Personal Access Token with appropriate permissions is required.
  • Configuration: Toolsets can be enabled/disabled via GITHUB_TOOLSETS environment variable or --toolsets flag. Dynamic tool discovery can be enabled with GITHUB_DYNAMIC_TOOLSETS=1 or --dynamic-toolsets.
  • Docs: VS Code Agent Mode Documentation

Highlighted Details

  • Comprehensive toolset covering repositories, issues, pull requests, users, code security, and experimental features.
  • Supports GitHub Enterprise Server via GITHUB_HOST environment variable or --gh-host flag.
  • Allows overriding tool descriptions via github-mcp-server-config.json or GITHUB_MCP_* environment variables.
  • Beta feature for dynamic toolset discovery to improve LLM focus.

Maintenance & Community

  • Official GitHub project.
  • Go API is considered unstable and subject to breaking changes.

Licensing & Compatibility

  • MIT License. Permissive for commercial use and closed-source linking.

Limitations & Caveats

The Go API is explicitly marked as unstable and subject to breaking changes. The dynamic toolset discovery feature is in beta.

Health Check
Last Commit

2 days ago

Responsiveness

1 day

Pull Requests (30d)
86
Issues (30d)
112
Star History
1,527 stars in the last 30 days

Explore Similar Projects

Starred by Matt Schrage Matt Schrage(Cofounder of Fig), Chip Huyen Chip Huyen(Author of "AI Engineering", "Designing Machine Learning Systems"), and
2 more.

amazon-q-developer-cli by aws

2.4%
2k
CLI tool for agentic terminal interactions using natural language
Created 1 year ago
Updated 22 hours ago
Starred by Magnus Müller Magnus Müller(Cofounder of Browser Use), Phil Wang Phil Wang(Prolific Research Paper Implementer), and
30 more.

gemini-cli by google-gemini

1.3%
76k
AI agent for terminal workflows
Created 5 months ago
Updated 17 hours ago
Feedback? Help us improve.