Mooring
OfficialProvides structured access to local Git repositories, enabling operations such as checking repository status, viewing filtered commit logs, generating unified diffs for working trees or between refs, running file blame with line ranges, listing and managing branches with tracking info, and handling stashes (list, push, pop, apply).
Provides access to the GitHub API for managing pull requests (listing with filters, viewing detailed PR information with reviews and comments, creating PRs with reviewers and labels) and issues (listing, creating, and updating).
Allows listing and monitoring of recent GitHub Actions workflow runs with filtering by workflow and status.
Mooring — Git & GitHub MCP Server
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 |
| Branch, ahead/behind, stash count, staged/unstaged/untracked files |
|
| Commit log with optional filters |
|
| Unified diff — working tree, staged, or between refs |
|
| Git blame with optional line range |
|
| All branches with tracking info, last commit, ahead/behind |
|
| Stash operations: list, push, pop, apply |
|
GitHub
Tool | Description | Key Parameters |
| List pull requests |
|
| PR detail with reviews, comments, and check runs |
|
| Create a pull request |
|
| List, create, or update issues |
|
| List recent GitHub Actions workflow runs |
|
Utility
Tool | Description | Key Parameters |
| Server version and status check | (none) |
Installation
# PyPI
pip install mooring-mcp
# Isolated install
pipx install mooring-mcpUsage
Run the server directly:
mooringClaude Code
claude mcp add mooring -- mooringClaude 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 returnedRate 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/ -qUsing with a Gateway
If you're running multiple MCP servers, route them through a gateway like tbxark/mcp-proxy to manage all child processes from a single persistent service. The proxy handles process lifecycle, centralized config, and crash recovery — each server still gets its own SSE endpoint but you manage everything from one config file instead of scattered Claude Code entries.
For a full walkthrough of how this works in practice, see The Hidden Cost of a Loaded MCP Stack on charlieseay.com.
License
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Latest Blog Posts
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/seayniclabs/mooring'
If you have feedback or need assistance with the MCP directory API, please join our Discord server