A Model Context Protocol (MCP) server implementation for interacting with GitHub issues through Cline.
- List GitHub issues from a repository
- Create new GitHub issues
- Error handling and validation
- Secure authentication via environment variables
- Clone the repository:
git clone https://github.com/timbuchinger/mcp-github.git
cd mcp-github
- Install dependencies with uv:
pip install uv
uv venv
source .venv/bin/activate # On Windows: .venv\Scripts\activate
uv pip install -r requirements.txt
- 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:
- Go to GitHub Settings -> Developer settings -> Personal access tokens
- Generate a new token with
repo
scope - Copy the token and paste it in your
.env
file
Run the MCP server:
python -m src.mcp_github.server
The server will start and expose two tools to Cline:
Get a list of issues from a GitHub repository:
{
"repo": "owner/repo"
}
Create a new issue in a GitHub repository:
{
"repo": "owner/repo",
"title": "Issue title",
"body": "Issue description"
}
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.
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 .