mcp-server-mercurial
Provides tools for interacting with Mercurial repositories, including status, diff, commit, add, remove, move, revert, log, topic management, rebase, and evolve operations.
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., "@mcp-server-mercurialshow me the repository 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.
Mercurial MCP Server
A Model Context Protocol server for Mercurial repository interaction and automation. This server provides tools to read, search, and manipulate Mercurial repositories via Large Language Models, with a focus on topic-based development workflows.
Features
Core Operations
hg_status- Shows working directory statushg_diff- Shows uncommitted changeshg_diff_staged- Shows all uncommitted changes (Mercurial has no staging area)hg_diff_rev- Shows changes introduced by a specific changesethg_commit- Records changes to the repositoryhg_add- Adds new files to version controlhg_remove- Removes files from version controlhg_move- Moves or renames fileshg_revert- Reverts uncommitted changeshg_log- Shows commit history
Topic-Based Development (Recommended)
hg_topic- Creates a new topichg_topics- Lists all topicshg_topic_current- Shows the current topichg_update- Updates to a different topic, branch, or revisionhg_stack- Shows the current topic stack
Advanced Operations
hg_rebase- Rebases changes onto a destination (preferred over merge)hg_evolve- Evolves the repository to resolve instabilities
Related MCP server: HG MCP Server
Installation
From source
git clone <repository>
cd mcp-mercurial-server
npm install
npm run build
npm linkConfiguration
Claude Desktop
If you installed from source:
{
"mcpServers": {
"mercurial": {
"command": "mcp-server-mercurial"
}
}
}Usage Examples
Basic Workflow
1. Check status: hg_status
2. View changes: hg_diff
3. Add new files: hg_add (files: ["file1.cpp"])
4. Remove files: hg_remove (files: ["file3.cpp"])
5. Move/rename files: hg_move (source: "file2.cpp", destination: "file4.cpp")
6. Commit with detailed message and explicit files:
hg_commit (
message: "Your commit message\n\n- Added a #1 file\n- Got rid of a file named 3 because it was useless\n- Fixed naming of file 4",
files: ["file1.cpp", "file3.cpp", "file4.cpp"]
)Checking Current State
# Get the current topic
hg_topic_current
# See the last 5 commits (default)
hg_log
# Get topic name using template
hg_log (max_count: 1, template: "{topic}")Topic-Based Development
1. Create topic: hg_topic (topic_name: "feature-xyz")
2. Work on changes...
3. Commit to topic: hg_commit (message: "Implement feature XYZ", files: ["feature.cpp"])
4. Rebase topic: hg_rebase (destination: "default")Requirements
Node.js 18 or higher
Mercurial installed and available in PATH
Mercurial extensions (recommended):
topicsextension for topic-based workflowsevolveextension for history management
Development
# Install dependencies
npm install
# Run in development mode
npm run dev
# Build
npm run build
# Run tests
npm test
# Lint
npm run lint
# Format
npm run formatDebugging
Use the MCP inspector to debug the server:
npx @modelcontextprotocol/inspector npx mcp-server-mercurialKey Differences from Git
No Staging Area: All changes are committed directly
Topics: Lightweight branches for feature development
Rebase Preferred: Use rebase instead of merge for cleaner history
Evolve: Safe history editing with the evolve extension
Best Practices
Always list files explicitly in commits - Don't rely on implicit file selection
Use multi-line commit messages with bullet points for clarity:
Main description - First change detail - Second change detail - Third change detailPrefer topics over branches for feature development
Check current topic before starting work:
hg_topic_currentReview recent commits with
hg_log(defaults to last 5)
License
MIT
This server cannot be deployed
Maintenance
Related MCP Connectors
Connect AI assistants to GitHub - manage repos, issues, PRs, and workflows through natural language.
AI-native git hosting — repos, PRs, issues, CI gates, and AI code review over MCP (60 tools).
Plain-English git for agents: 22 tools to branch, commit, push and tag. Free tier.
Read and write KukGit repositories, files, issues and pull requests from an AI assistant.
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 gradedqualityBmaintenanceEnables AI assistants to interact with Mercurial repositories, supporting version control operations like cloning, committing, branching, merging, and remote synchronization through natural language.1MIT
- AlicenseNot gradedqualityDmaintenanceEnables AI assistants to interact with GitLab repositories, manage branches, create merge requests, and perform file operations through natural language.5 npmISC
- AlicenseBqualityCmaintenanceEnables AI assistants to interact with Git repositories via MCP, supporting status checks, diffs, staging, commits, branch management, and log queries.12MIT