About Shadowgit MCP
Shadowgit MCP is an MCP server published by aflsolutions in the Developer Tools category: a Model Context Protocol (MCP) server that provides AI assistants with secure, read-only access to your ShadowGit repositories. This enables powerful debugging and code analysis capabilities by giving AI access to your project's fine-grained git history.
The repository has 50 stars and 8 forks, with the last commit 7 days ago. Recent commit activity is the strongest signal that reported issues will get attention.
Install
git clone https://github.com/aflsolutions/shadowgit-mcpThis server has no ConduID identity, so agent calls to it are not receipted. Pin the version you install and review the source before granting it credentials.
Ask AI
Ask AI about Shadowgit MCP
Powered by Claude · Grounded in docs
Security checks
Static checks derived from the repository 5 days ago. Heuristics on the source, not an audit.
- ✓README presentThe repository ships documentation.
- ✓License declaredUsable under a stated license.
- ✓Tests presentA test suite exists in the repository.
- ✓Dependencies pinnedA lockfile pins dependency versions.
- ✓No dynamic code executionSource scan found no eval, dynamic Function, or shell execution.
- !Scoped permissionsDoesn't declare a permission scope. Assume it can do anything its process can.
Releases
README
ShadowGit MCP server
Gives Claude Code, Cursor and Claude Desktop access to ShadowGit: the automatic snapshots ShadowGit takes of your projects every few minutes, kept apart from your own git history. Your assistant can see what changed and when, and can save its own edits as one named checkpoint instead of many partial snapshots.
Requirements
- Node.js 20 or later
- The ShadowGit app (0.3.4 or later for checkpoints, a release after 0.3.5 for the Lens, after 0.3.7 for its linked words), tracking at least one project. Reading history works while the app is closed; sessions, checkpoints and the Lens need it running.
- Git on your PATH
Setup
Claude Code (one install for every project):
claude mcp add --scope user shadowgit -- npx -y shadowgit-mcp-server
Cursor: in ~/.cursor/mcp.json:
{ "mcpServers": { "shadowgit": { "command": "npx", "args": ["-y", "shadowgit-mcp-server"] } } }
Claude Desktop: the same entry in ~/Library/Application Support/Claude/claude_desktop_config.json (macOS) or
%APPDATA%\Claude\claude_desktop_config.json (Windows).
In Claude Code the server knows which project you are in. In Cursor and Claude Desktop, name the project ("in webshop") when ShadowGit tracks more than one.
What to ask
- "What changed in the last hour?"
- "When did the login page break?"
- "Show me the history of Header.tsx"
- "Start a ShadowGit session for this refactor", then "Create a checkpoint: Fixed login redirect", then "End the ShadowGit session"
- "Write the Lens words for this session"
Tools
| Tool | Does |
|---|---|
list_repos |
Lists tracked projects, the current one, their last snapshot and any active session |
git_command |
Runs a read-only git command (log, diff, show, blame, …) on the snapshot history |
start_session |
Pauses automatic snapshots while the assistant edits |
checkpoint |
Saves the current changes as one named checkpoint, following .shadowgit-ignore |
end_session |
Resumes automatic snapshots |
get_lens |
Reads ShadowGit's Lens of a range, by default the latest AI session |
write_lens_words |
Writes the Lens's words for that range, kept in the history, with links, a why and an excerpt |
The other tools work on the current project unless given repo.
Security
git_command runs only read-only subcommands, without a shell, and refuses the options that would read or write files
outside the snapshot history (--output, --no-index, blame --contents and others, including abbreviated and bundled
forms), the ones that run helper commands from git's configuration (--ext-diff, --textconv, --filters), and paths
outside the project. Checkpoints are made by the ShadowGit app, only in projects you added to it. The
server itself only talks to the ShadowGit app on localhost; what it returns goes to your assistant like any tool result.
The server trusts the project's .shadowgit.git history, which the ShadowGit app creates. Git honours that history's
configuration, so a planted one can make git run programs, through the app's own snapshots as much as through this
server. Don't add a project to ShadowGit that arrived with a .shadowgit.git folder you didn't create.
Configuration
| Variable | Default | Purpose |
|---|---|---|
SHADOWGIT_TIMEOUT |
10000 |
Milliseconds a git command may run |
SHADOWGIT_SESSION_API |
http://localhost:45289/api |
The ShadowGit app's local API |
SHADOWGIT_STORAGE_DIR |
platform default | Where ShadowGit keeps repos.json |
Development
npm install
npm test # builds, then runs the unit, integration and end-to-end tests
npm run eval # runs the phrases from docs.shadowgit.com through Claude Code (spends tokens)
License
MIT
README fetched from the repository 5 days ago. The original is authoritative.