Skip to main content

Mooring — Git & GitHub MCP Server

License: MIT

Mooring lines for your code — Git and GitHub operations for AI tools.

Mooring is an MCP server that gives AI assistants structured access to local Git repositories and the GitHub API. Local operations use GitPython (no subprocess calls). GitHub operations use the PyGithub library with token masking and rate limit handling built in.


Tools

Local Git

Tool Description Key Parameters
repo_status Branch, ahead/behind, stash count, staged/unstaged/untracked files repo_path
repo_log Commit log with optional filters repo_path, max_count, author, since, path, search
repo_diff Unified diff — working tree, staged, or between refs repo_path, staged, from_ref, to_ref
repo_blame Git blame with optional line range repo_path, file_path, start_line, end_line
repo_branches All branches with tracking info, last commit, ahead/behind repo_path
repo_stash Stash operations: list, push, pop, apply repo_path, action, message

GitHub

Tool Description Key Parameters
gh_pr_list List pull requests repo, state, author, label
gh_pr_detail PR detail with reviews, comments, and check runs repo, number
gh_pr_create Create a pull request repo, title, body, head, base, labels, reviewers
gh_issues List, create, or update issues repo, state, action, title, body, number
gh_actions List recent GitHub Actions workflow runs repo, workflow, status

Utility

Tool Description Key Parameters
health Server version and status check (none)

Installation

# PyPI
pip install mooring-mcp

# Isolated install
pipx install mooring-mcp

Usage

Run the server directly:

mooring

Claude Code

claude mcp add mooring -- mooring

Claude Desktop

Add to your Claude Desktop configuration (claude_desktop_config.json):

{
  "mcpServers": {
    "mooring": {
      "command": "mooring",
      "env": {
        "GITHUB_TOKEN": "your-github-personal-access-token"
      }
    }
  }
}

The GITHUB_TOKEN environment variable is required for all GitHub tools (gh_*). Local Git tools work without it.


Security

  • Path traversal protection — file paths are resolved and validated against the repository root before any operation
  • Symlink escape detection — symlinks that resolve outside the repository are rejected
  • Ref validation — Git refs are checked against a safe character pattern and verified to exist before use
  • Token masking — error messages are scrubbed for GitHub token patterns (ghp_*, gho_*, github_pat_*) before being returned
  • Rate limit handling — GitHub 403 responses are caught and surfaced as clear messages instead of raw exceptions

Development

git clone https://github.com/seayniclabs/mooring.git
cd mooring
python -m venv .venv && source .venv/bin/activate
pip install -e ".[test]"
python -m pytest tests/ -q

License

MIT

Metadata

Release files for mooring-mcp 0.1.1

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for mooring-mcp 0.1.1
File Size Uploaded
mooring_mcp-0.1.1.tar.gz 16.7 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for mooring-mcp 0.1.1
File Interpreter ABI Platform
mooring_mcp-0.1.1-py3-none-any.whl Python 3 none any Details

Total release size: 27.9 kB

Release files / mooring_mcp-0.1.1.tar.gz

Download URL mooring_mcp-0.1.1.tar.gz
Size 16.7 kB
Tags Source
SHA-256 checksum
How to use checksums
d06d5136895445ead0138dbaf88e81e44b819fbbd2f3c899dba4d97731785060
BLAKE2b-256 checksum
How to use checksums
3e944bc8ef6891302357251fda51886b3e88a39a371bece0057914289a83f914
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.13.12

Release files / mooring_mcp-0.1.1-py3-none-any.whl

Download URL mooring_mcp-0.1.1-py3-none-any.whl
Size 11.2 kB
Tags Python 3
SHA-256 checksum
How to use checksums
c782a6ed3364f649ccb7ca297405e7209199d370eabdc36672f2f9d69efd844b
BLAKE2b-256 checksum
How to use checksums
7a05cc2d188f2e21177a1362657a032500af827b5675a4a2d0bded29cc3b876e
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.13.12

Release history Release notifications | RSS feed

This release

0.1.1 This release

2 release files

0.1.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page