Duolo MCP
Provides tools for querying and coordinating Git state across local and SSH working directories, including checking commit status, following existing commits when protective checks pass, and explicitly saving commits or tags.
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., "@Duolo MCPAre my local and server worktrees in sync? Sync them if not."
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.
Duolo
Develop locally and over SSH: sync files, follow Git commits, and let your agent check the state.
Get started · Agent integration · Documentation
Edit code with a local editor or coding agent while also debugging and running it on an SSH server? Duolo connects the two Git working directories, bringing file synchronization, commit coordination, and agent-queryable state into one workflow.
Uncommitted source code and project documents can move in both directions. When one side creates a commit, the other follows when conditions allow. You and your agent can see whether files match, whether Git has caught up, and what needs attention.
15-second concept video · Local and SSH development
https://github.com/user-attachments/assets/c69f531f-c31a-4bcc-bc56-32c1617054a3
Why Duolo
Sync work before committing. Save source code or project documents on either side, and changes made on one side automatically reach the other.
Coordinate files and Git together. Sync work in progress and follow existing commits when protective checks pass. Saving a file does not automatically create a commit.
Share one view with your agent. Query files, Git, connections, and conflicts through the CLI or connect a coding agent through MCP.
Know what needs attention. File conflicts, divergent history, and network problems are reported with their cause, so you can review and choose the next step.
Related MCP server: git-mcp
Get started
Your computer needs Python 3.10+, Git, and OpenSSH. The server needs Python 3.9+ and Git. Set up SSH key login and trust the target host key first.
1. Install Duolo from GitHub. It is not currently published on PyPI:
python -m pip install "duolo @ git+https://github.com/fingercd/duolo.git@v0.4.0"2. Open your existing project and tell Duolo where its server copy lives:
cd D:/work/my-project
duo init --remote gpu-dev --path /home/researcher/projects/my-projectReplace gpu-dev with your SSH hostname or config alias, and use your own project paths. init only remembers the two directories; synchronization starts when you launch the service.
Before first use, both copies must have the same Git commit, the same branch, and matching files to synchronize. If they already contain different changes, preserve and reconcile both sides using the onboarding guide.
3. Start and check the result:
duo start
duo status --shortKeep editing. Duolo syncs in the background, without an extra console window on Windows. Run subsequent duo commands inside this project or its subdirectories; no need to repeat the server path.
Everyday commands
Command | What it does |
| Show file, Git, connection, and conflict state. |
| Show state changes continuously; Ctrl+C ends observation. |
| Sync now and wait for confirmation. |
| Pause / resume automatic sync. |
| Explicitly save a Git commit and an optional tag. |
| Stop this project's background synchronization. |
duo status returns JSON by default for scripts and agents; --short is for people. Status comes from the service's latest check and reports disconnections or outdated observations. Use duo --help for more options, or see configuration and states.
Use with an agent
The optional MCP interface lets a coding agent query the same file, Git, and connection state as the CLI, request synchronization, wait for a new check, resolve conflicts, or save a commit.
Install MCP support, then run the adapter inside your connected project:
python -m pip install "duolo[mcp] @ git+https://github.com/fingercd/duolo.git@v0.4.0"
duo mcpFollow the MCP guide to connect your agent client. You can also install the project Skill, which helps an agent reread changed project rules after synchronization.
Scope
Experimental release 0.4.0. Local tests, official MCP SDK tests, and real Windows ↔ Linux SSH acceptance are complete. See the validation record for results.
Sync covers source code and project documents. Training data, model weights, and common outputs are excluded. Deletion is off by default; see configuration and design for the full scope.
Divergent Git history, file conflicts, and network problems are reported. Duolo does not automatically merge conflicts or push your project to GitHub, and does not guarantee zero loss under arbitrary simultaneous editing.
Active training should use a fixed code copy. Sync connects only the two development directories you select; it does not adopt other projects or running snapshots.
Documentation and help
Onboarding · Configuration and states · MCP · Implementation and limits · Validation
Detailed reference pages are currently in Chinese. Report bugs or suggestions in Issues, with reproduction steps. Remove real hosts, private paths, and secret contents from logs before sharing.
To develop from source:
git clone https://github.com/fingercd/duolo.git
cd duolo
python -m pip install -e .
python -m unittest discover -s tests -vLicensed under MIT.
This server cannot be deployed
Maintenance
Related MCP Connectors
Git-backed platform for skills, tools, and context for AI agents
Read and write KukGit repositories, files, issues and pull requests from an AI assistant.
- ApricotOAuthtools.apricot
Manage SysML2 projects and files directly through your coding agent.
The team layer for AI coding agents: shared contracts, collision alerts, E2EE sessions.
Related MCP Servers
- FlicenseNot gradedqualityNot gradedmaintenanceEnables AI assistants to interact with local Git repositories for operations like status, commits, branching, and diffs, plus GitHub API integration for managing pull requests when authenticated.-
- AlicenseNot gradedqualityAmaintenanceEnables AI agents to perform full Git operations including branching, committing, pushing, stashing, rebasing, and more, with safety features and support for advanced workflows like Git Flow and LFS.33 npmMIT
- AlicenseAqualityCmaintenanceEnables local git operations including commit, branch, push, pull, status, and sync with conventional commit enforcement and branch naming conventions.6MIT
- AlicenseNot gradedqualityFmaintenanceProvides comprehensive git tooling via MCP, including status, diffs, commits, branches, stashes, and multi-root inventory, enabling AI agents to manage repositories.12 npmMIT