Author avatar

mcp-github

by timbuchinger

Server

Tags

4.8 (120)

GitHub MCP Server

A Model Context Protocol (MCP) server implementation for interacting with GitHub issues through Cline.

Features

  • List GitHub issues from a repository
  • Create new GitHub issues
  • Error handling and validation
  • Secure authentication via environment variables

Installation

  1. Clone the repository:
git clone https://github.com/timbuchinger/mcp-github.git
cd mcp-github
  1. Install dependencies with uv:
pip install uv
uv venv
source .venv/bin/activate  # On Windows: .venv\Scripts\activate
uv pip install -r requirements.txt
  1. Copy the environment template and configure your GitHub token:
cp .env.template .env

Edit .env and add your GitHub Personal Access Token:

GITHUB_TOKEN=your_token_here

To create a GitHub Personal Access Token:

  1. Go to GitHub Settings -> Developer settings -> Personal access tokens
  2. Generate a new token with repo scope
  3. Copy the token and paste it in your .env file

Usage

Run the MCP server:

python -m src.mcp_github.server

The server will start and expose two tools to Cline:

get_issues

Get a list of issues from a GitHub repository:

{
  "repo": "owner/repo"
}

create_issue

Create a new issue in a GitHub repository:

{
  "repo": "owner/repo",
  "title": "Issue title",
  "body": "Issue description"
}

Error Handling

The server handles common errors:

  • Missing GitHub token
  • Invalid repository name
  • Missing required parameters
  • GitHub API errors

Error responses include descriptive messages to help troubleshoot issues.

Development

The project uses uv for dependency management. To set up a development environment:

# Install all dependencies (including dev dependencies)
uv pip install -r requirements.txt

# Run tests
pytest

# Format code
black .

# Type checking
mypy .

Related Services

playwright-mcp

Server

4.8 (120)
View Details →

blender-mcp

Server

4.8 (120)
View Details →

tavily-mcp

Server

4.8 (120)
View Details →