Labsco
MCP SERVER

GitHub automation through FastMCP — repositories, branches and files, pull requests with merge strategies, and issue management with labels and assignees.

Git Hosting & Code Review
Summary
Token handling and rate limits are the parts it actually engineers.

The GitHub surface is ordinary; the interesting work is underneath it. Tokens are Fernet-encrypted at rest with automatic expiry and cleanup, and rate-limit handling retries with exponential backoff instead of failing the call — which is what separates a wrapper that survives an agent hammering it from one that does not. Merge strategy is explicit on pull requests, so squash-versus-merge is a decision the caller makes rather than a default it inherits.

What it is

A FastMCP server wrapping the GitHub API for repository, pull request and issue work. Tokens are encrypted at rest with Fernet, expire on a TTL, and rate-limit responses are retried automatically with backoff.

What you get
  • Repository creation and management, branch and commit handling, file create, update and delete, repository search, and commit comparison and history — `create_repository`, `list_commits`
  • Pull requests end to end: creation including drafts, merge strategies across merge, squash and rebase, status check validation, and conflict detection — `create_pull_request`
  • Issue work: create and update, manage labels and assignees, handle comments, and search and filter
  • Commit listing filtered by branch, author and a date range, with a result cap
Requirements

A GitHub account and a Personal Access Token, supplied as `GITHUB_TOKEN` in a `.env` file at the project root. Python 3.12 or higher. Install with `uv pip install -e .` after creating a virtual environment, then run `uv run main.py`; the client entry points at the repository directory. Tuning lives in a Config class covering token TTL, retry count and delay, and results per page.

Setup effort

One command plus a key — uv pip install -e ., then supply credentials