Skip to content

[MCP Registry] Version compatibility, pinning & upgrade safety #6355

Description

@TimothyZhang7

Parent

Part of #6321 — MCP Server Registry

PRD Reference

docs/mcp-registry-prd.md — Section 5.2 (Version Compatibility & Upgrade Safety)

Why this matters

Without version management, hive mcp update can silently break agents. A server author renames a tool or changes its parameters, the user updates, and their agent starts failing with no explanation. Version pinning, dry-run diffs, and breaking-change warnings protect users from surprise breakage — which is especially critical for production deployments where agents run unattended. This directly targets G11: zero undetected tool-signature changes on upgrade.

Scope

Implement version management so server upgrades don't silently break agents.

Version tracking

  • Manifest version (semver) for registry entry version (VC-1)
  • Manifest mcp_protocol_version for MCP spec version (VC-1)
  • hive block min_version / max_version for Hive compatibility (VC-2)
  • installed.json records resolved_package_version (actual pip/npm version) (VC-4)

Install with version pinning

  • hive mcp install <name> installs latest by default (VC-3)
  • hive mcp install <name> --version X pins a specific version (VC-3)
  • installed.json records pinned: true when version is specified (FR-25)

Safe updates

  • hive mcp update <name> compares old and new tool lists (VC-5)
  • Warns if tools were removed or signatures changed
  • hive mcp update --dry-run shows what would change without applying (VC-8)
  • Tool names and parameter schemas are a compatibility contract; breaking changes require major version bump (VC-9)

Agent version pinning

  • mcp_registry.json supports "versions": {"jira": "1.2.0"} (VC-6)
  • If pinned version unavailable, agent logs error with rollback instructions (VC-7)

Files to modify

  • core/framework/runner/mcp_registry.py — version logic in install/update
  • core/framework/runner/mcp_registry_cli.py--version and --dry-run flags

Acceptance criteria

  • install --version X pins the specified version
  • update detects and warns about removed/changed tools
  • update --dry-run shows diff without applying
  • Agent-level version pins are respected
  • Pinned version unavailable produces clear error with instructions
  • Zero undetected tool-signature changes on upgrade (G11)

Requirements

ID Requirement
VC-1 – VC-9 Full version compatibility requirements

Metadata

Metadata

Assignees

Type

No type

Fields

No fields configured for issues without a type.

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions