Skip to content

Tags: cwt/hg-mcp

Tags

v0.10.3

Toggle v0.10.3's commit message
Bump version to 0.10.3

v0.10.2

Toggle v0.10.2's commit message
Validate hg executable at startup; bump version to 0.10.2

v0.10.1

Toggle v0.10.1's commit message
Add --mercurial CLI option to specify custom hg executable path

- Add hg_path property to HG_MCP class (server.py)
- Add --mercurial argument to argparse (main.py)
- Use mcp.hg_path in run_hg_command instead of hardcoded "hg" (helpers.py)
- Document --mercurial option in README.md
- Bump version to 0.10.1
- Update TODO.md with v0.10.1 changelog

v0.10.0

Toggle v0.10.0's commit message
release: bump version to v0.10.0

- pyproject.toml: version 0.9.2 -> 0.10.0
- README.md: Update features list with all 16 new tools and 62 total
- TODO.md: Add v0.10.0 changelog and section header

v0.10.0 adds 16 high-priority MCP tools completing the evolve
extension toolset, standard commands (clone, bisect, graft, phases),
and shelve/unshelve support. 62 tools total, 349 tests, 87% coverage.

v0.9.2

Toggle v0.9.2's commit message
v0.9.2: improve ASGI middleware and unify server transport setup

- Rewrite APIKeyMiddleware as a raw ASGI middleware for better performance and reliability.
- Unify SSE and Streamable HTTP transport initialization logic.
- Add POST support to SSE endpoint for Streamable HTTP compatibility.

v0.9.1

Toggle v0.9.1's commit message
v0.9.1: improve security architecture and increase test coverage to 87%

- Implement custom HG_MCP class with immutable jail_path for better security
- Use secrets.compare_digest for timing-attack-safe API key validation
- Fix UnboundLocalError in hg_largefiles tool
- Add extended test suites for main, core, helpers, and history modules
- Update README.md to merge Features/Tools and clarify API key usage
- Increase mandatory test coverage threshold to 85% in scripts and docs

v0.9.0

Toggle v0.9.0's commit message
v0.9.0: Implement MCP Server with HTTP Transport and Security

This commit introduces the full MCP server functionality, supporting both stdio
and HTTP transports (SSE and Streamable HTTP). It also implements crucial
security features, including Jail Path Restriction and API Key Authentication
for HTTP transports.

Key changes include:

- Implementing server startup logic in hg_mcp/main.py.
- Adding API key middleware in hg_mcp/helpers.py.
- Updating dependency versions in pyproject.toml.
- Adding comprehensive unit tests for the new security middleware in
  tests/test_api_key.py.
- Updating test command in scripts/runtest.sh.
- Updating dependency versions in pyproject.toml.

v0.8.6

Toggle v0.8.6's commit message
v0.8.6: make hg_histedit fully non-interactive for all command types

The histedit tool would hang indefinitely when using 'mess' or 'fold'
commands because they require an interactive editor. Fix by:
- Adding --noninteractive flag to prevent plan creation prompts
- Auto-detecting mess/fold commands and setting EDITOR to a non-interactive
  script that exits without modification
- Adding env parameter support to run_hg_command helper

All histedit commands now work without hanging in non-interactive mode.

v0.8.5

Toggle v0.8.5's commit message
v0.8.5: Add files parameter to hg_diff tool

AI agents were incorrectly passing file paths to the revisions parameter
because hg_diff lacked a files parameter. Now agents can filter diffs
by specific files.

Tools modified: hg_diff (added files parameter)

v0.8.4

Toggle v0.8.4's commit message
v0.8.4: Fix missing sanitization in hg_export, whitespace-only valida…

…tion, and transplant interactive hang

- Add sanitize_input() to hg_export for revisions and output parameters
- Reject whitespace-only input in sanitize_input()
- Make hg_transplant revisions required to prevent interactive mode hang
- Update tests for hg_transplant required revisions