git-txd
Provides durable Git transaction tools for queueing, committing, and pushing selected files to a Git repository through a single serialized daemon, while preserving other unstaged work and supporting recovery by request ID.
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@git-txdcommit src/agent-a.ts as agent-a-017, then check its status"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
git-txd
A durable Git transaction daemon for AI agents sharing one checkout.
Let agents work on separate files in parallel while one persistent worker queues their commits and pushes. Agents submit explicit file lists through the CLI or MCP, then recover the same transaction after a timeout or disconnect using its request ID.
One Git writer: FIFO staging, commit, and push through a shared daemon.
Selected files only: preserve other agents' unstaged work.
Durable recovery: SQLite records the request before Git execution and the commit SHA before publication; identical retries join the original request.
Shared interfaces: CLI, HTTP MCP, and multiple stdio MCP proxies use the same worker and ledger.
Bounded diagnostics: 10 MiB logs with five compressed archives; cold terminal history is archived while request identities remain reserved.
This is for cooperative agents that own disjoint files. Coordinate file ownership separately and keep submitted files frozen until their request settles. The daemon serializes Git writes; it does not resolve concurrent file edits.
Install and start
Requires Node.js 24+, Git with --pathspec-from-file support, and macOS or
Linux. The fs-ext kernel-lock binding needs a C/C++ toolchain and Python for
installation. Windows and network filesystems are unsupported.
See Linux setup and validation for native build requirements
and a production-package smoke test.
For a persistent Linux daemon, use the systemd user-service guide.
git clone https://github.com/chrihop/git-txd.git
cd git-txd
npm ci
npm run build
node dist/cli.js start --repo /absolute/project --remote origin --branch mainThe foreground daemon writes its loopback URL and private token_file path to
stderr. Local HEAD must initially match the existing remote branch. The index
must be clean; unrelated unstaged changes are allowed. The default state is in
the Git common directory under git-txd/<repository-id>/state.
In another shell, use the URL and token path printed at startup:
export GIT_TXD_URL=http://127.0.0.1:8787
export GIT_TXD_TOKEN_FILE=/absolute/path/from/startup/token
node dist/cli.js --json queue
node dist/cli.js --json commit --request-id agent-a-017 \
--file src/agent-a.ts --file tests/agent-a.test.ts \
--message 'Implement agent A feature'
node dist/cli.js --json status agent-a-017
node dist/cli.js --json wait agent-a-017 --wait-timeout-seconds 60
node dist/cli.js stop--file infers add/modify/delete against HEAD. Repeated CLI submissions retain
the original operations by request ID, including after added files become
tracked. Explicit operations, author, and metadata can be supplied using
commit --request-id ID --request-file request.json. --files0-from PATH
accepts NUL-delimited UTF-8 filenames, including whitespace, newlines, and leading
dashes. Glob characters and noncanonical paths are deliberately rejected.
Freeze submitted files until the durable operation settles. A lost response or
IN_PROGRESS outcome does not cancel or roll back a transaction. Recover
using the same request ID. Never bypass the daemon with direct Git mutations.
Related MCP server: DPR MCP Server
MCP
Connect an HTTP-capable host to http://127.0.0.1:8787/mcp, with
Authorization: Bearer <contents of token_file>. Keep the token in the host's
secret configuration. Tools:
git_commit_and_push: blocking write to local history and the configured remote.git_queue_info: immediate observation; no reservation.git_transaction_status: durable outcome lookup.git_wait_transaction: bounded wait on an existing request.
For stdio-only hosts, run the forwarding adapter:
node /absolute/git-txd/dist/cli.js \
--url http://127.0.0.1:8787 --token-file /absolute/private/token mcp-stdioThe adapter never opens SQLite or starts a worker. Multiple adapters are safe.
The implementation uses the official
@modelcontextprotocol/server v2 handler
and Node adapter. Tests cover pinned 2026-07-28 and legacy SDK HTTP calls, CLI
parity, and multiple stdio clients. See the MCP setup guide
for client configuration and an integration checklist. Configure each host's
tool timeout to cover the daemon's queue and Git execution allowances.
Configuration and recovery
Use start --config config.json; startup flags override the JSON values. This
implementation uses JSON configuration.
See the example, API,
architecture, operator guide, and
agent rules.
Daemon Git commands always bypass environment and Git proxy settings, SSH proxy commands/jump hosts, and existing SSH shared connections. See direct Git connections.
Push failure preserves the local commit and pauses further branch transactions. Resolve the cause and deliberately restart the service to revalidate/reconcile. The daemon never force pushes, rebases, resets working files, or cleans files. Commit and remote push are serialized operations, not one atomic transaction.
Storage retention
Diagnostic logs rotate at 10 MiB, retaining five compressed archives. Idle maintenance archives completed request details after 30 days while permanently retaining request IDs, digests and outcomes for safe retries. Unresolved transactions stay intact. See retention and backups for configuration, crash behavior and storage limits.
Development
npm run check
npm test -- --maxWorkers=1
npm run test:package
npm run format:check
npm pack --dry-runTests use disposable repositories and local bare remotes. They cover twenty
concurrent submissions, isolation, FIFO/deadlines/backpressure, idempotency,
push rejection and lost acknowledgements, real SIGKILL recovery, authentication,
and MCP/CLI/stdio interoperability. npm test builds first because process tests
execute the packaged CLI. The included GitHub Actions workflow checks Node.js
24 and 26 on Linux and macOS.
See testing for reproducible checks and coverage, and contributing for the development workflow.
Install from source or a locally built npm tarball. This project has not been published to the npm registry.
This server cannot be deployed
Maintenance
Related MCP Connectors
Git-backed platform for skills, tools, and context for AI agents
Plain-English git for agents: 22 tools to branch, commit, push and tag. Free tier.
Durable agent-to-agent handoffs and shared scratchpad for multi-agent workflows.
Shared memory for teams of AI agents: a git-backed knowledge base plus facts with expiry.
Related MCP Servers
- AlicenseNot gradedqualityBmaintenanceEnables multiple AI coding agents to collaborate on the same Git repository without conflicts through isolated worktrees, file locking, automated test verification, and a serialized merge queue.1 npm8MIT
- AlicenseBqualityCmaintenanceEnables safe, human-in-the-loop AI document collaboration by letting agents create isolated workspaces, edit tracked files, open reviewable Change Requests, and get human approval before merging, with Git-backed conflict detection and resolution.35MIT
- AlicenseNot gradedqualityAmaintenanceEnables AI agents to maintain Git-backed long-term project memory over MCP, supporting on-demand retrieval, curated writes, conflict-safe versioning, idempotency, and crash recovery so new sessions or machines can recover context and continue working.6Apache 2.0
- FlicenseNot gradedqualityAmaintenanceEnables AI agents to read a project's kickoff card, acceptance criteria, AGENTS rules, handoff package, progress, Git trail, and next step, then append validated, audited, idempotent progress events that are recorded as a matching Git commit. This keeps project truth in Git so work stays visible, resumable, and safely handable between humans and agents through scoped, short-lived credentials.-