Skip to content

🧲 Magg Release v1.2.0

Choose a tag to compare

@github-actions github-actions released this 02 Aug 20:00
· 7 commits to main since this release
v1.2.0
5af7cad

Changes

Merge pull request #16 from sitbon/claude/magg-features-cli-r92ff7

Date: Sun Aug 2 12:58:18 2026 -0700

Add server update/kit unload CLI, official MCP Registry integration, kit-membership fix, and stateless-MCP docs

Bump version and upgrade deps

Date: Sun Aug 2 12:51:21 2026 -0700

Docs: install mcp-publisher from prebuilt release binary

Date: Sun Aug 2 02:18:52 2026 +0000

Lead with the Linux prebuilt tarball instead of brew, and note the
go-install gotchas (binary is named 'publisher' and lands in GOPATH/bin,
which is usually not on PATH).

Co-Authored-By: Claude Fable 5 noreply@anthropic.com
Claude-Session: https://claude.ai/code/session_011JFaNeMxJCxXhQ3J9RQACR

Fix dev-container CI: ship server.json into the dev image and sdist

Date: Sat Aug 1 17:52:30 2026 +0000

The Test Dev Container jobs run pytest inside the docker dev stage, which
did not copy server.json - the new manifest tests failed with
FileNotFoundError. Add server.json to the dev stage and to the sdist
include list so the manifest/version-sync tests work everywhere the test
suite ships.

Co-Authored-By: Claude Fable 5 noreply@anthropic.com
Claude-Session: https://claude.ai/code/session_011JFaNeMxJCxXhQ3J9RQACR

Add official MCP Registry integration: search backend and server.json manifest

Date: Sat Aug 1 17:48:20 2026 +0000

  • magg_search_servers now queries registry.modelcontextprotocol.io as a
    first-class discovery source alongside Glama, GitHub, and npm, with
    results ranked highest since registry entries carry structured install
    metadata (packages, transports, remotes) rather than README text.
    Install commands are derived per registry type (npx/uvx/docker).
  • Add server.json manifest for publishing Magg to the registry as
    io.github.sitbon/magg (validated against the 2025-12-11 server schema),
    with a version-sync test that fails release PRs that bump
    pyproject.toml but forget server.json.
  • Document searching and publishing in docs/mcp-registry.md; link from
    readme and docs index.

Co-Authored-By: Claude Fable 5 noreply@anthropic.com
Claude-Session: https://claude.ai/code/session_011JFaNeMxJCxXhQ3J9RQACR

Address review: explicit enable default, warn on unmountable server add

Date: Sat Aug 1 17:16:30 2026 +0000

  • Make default=None explicit on 'server update --disable' (behavior was
    already correct - argparse applies the first action's default for a
    shared dest - but the intent is now self-documenting).
  • Warn when 'server add' creates a server with neither command nor URI:
    such a server cannot be mounted, and the config reloader refuses to
    apply any changes while one exists.

Co-Authored-By: Claude Fable 5 noreply@anthropic.com
Claude-Session: https://claude.ai/code/session_011JFaNeMxJCxXhQ3J9RQACR

Add server update and kit unload CLI commands, JSON output, and stateless-MCP docs

Date: Sat Aug 1 17:10:59 2026 +0000

CLI:

  • Add magg server update for changing any field of an existing server,
    with '' semantics for clearing optional fields and a guard against
    clearing both command and URI (which a running server's config reload
    would reject wholesale).
  • Add magg kit unload, which was documented in the readme but never
    implemented. Mirrors magg_unload_kit semantics: kit-exclusive servers
    are removed (with confirmation unless --force), shared servers keep
    their other kit memberships.
  • Add --json output (stdout) to server list, server info, and
    kit list for scripting; kit list now also marks loaded kits.
  • Add --transport and --disable to server add for parity with the
    magg_add_server tool, and parse --command with shlex (quoted args now
    survive), rejecting invalid shell syntax with a friendly error.
  • kit load now errors on an already-loaded kit (matching magg_load_kit)
    and records kit membership on pre-existing servers, reporting them as
    updated rather than skipped.

Fix kit membership persistence: appending to ServerConfig.kits in place
never marked the field as set, so ConfigManager.save_config
(exclude_unset) silently dropped memberships added to servers that had
no kits key in config.json - affecting magg_load_kit and kit unload
correctness for shared servers. Assign the list instead of mutating it
in magg/kit.py and the CLI.

Docs:

  • New docs/mcp-stateless.md: impact analysis and migration plan for the
    MCP 2026-07-28 stateless spec, including why aggregators matter more
    in a stateless world and how hierarchical Magg deployments fit.
  • Readme: document CLI server management; docs/kits.md: document the
    kit CLI including unload semantics.

Tests: new test/magg/test_server_cli.py and kit unload/membership
regression tests using the real parser and real config files.

Co-Authored-By: Claude Fable 5 noreply@anthropic.com
Claude-Session: https://claude.ai/code/session_011JFaNeMxJCxXhQ3J9RQACR

Installation

uv add magg==1.2.0