sitbon/magg
Magg: The MCP Aggregator
๐ฆ [Release v1.1.0](https://github.com/sitbon/magg/commit/79923f853ccb16932af35c7338b817963e395605)
- Date: Sat Jun 27 16:42:41 2026 -0700
- >
- >
- >
๐ฆ [Bump version to 1.1.0 and mark Production/Stable](https://github.com/sitbon/magg/commit/774636ebfd7f2680154508870792e077b3f4610d)
- Date: Sat Jun 27 16:33:50 2026 -0700
- >
- >
- >
๐ฆ [Defer annotations in reload.py to support Python 3.12/3.13](https://github.com/sitbon/magg/commit/7bd4281b83ed6f0e9fecf3e8793f4f3bec0b6121)
- Date: Sat Jun 27 16:15:27 2026 -0700
- >
- The unquoted ConfigManager parameter annotation is a TYPE_CHECKING-only
- name, so it raised NameError at import on 3.12/3.13, which evaluate
- annotations eagerly. 3.14 defers annotation evaluation by default, so it
- passed there. from __future__ import annotations makes all annotations
- lazy strings on every version.
- >
- + 2 more
๐ [Fix example imports and control sdist build contents](https://github.com/sitbon/magg/commit/d170607b821c8540974d0dbc54d3e3bbb755b009)
- Date: Sat Jun 27 16:07:48 2026 -0700
- >
- config_reload.py: fix the broken MaggServer import and drop the
- sys.path hack (magg is an installed dependency)
- sampling.py: remove the stale PEP 723 script header
- pyproject.toml: delete the inert Poetry packages/include keys and add a
- hatchling sdist allowlist, so the source distribution ships the package,
- tests, examples, docs, and scripts but not IDE/build/dev files
- + 3 more
๐ฆ [Adopt ruff for formatting and linting](https://github.com/sitbon/magg/commit/7a13e38806c4e31388f71905ff14bb0f621f57de)
- Date: Sat Jun 27 15:47:24 2026 -0700
- >
- Add ruff dev-dep and config (line-length 120, lint F+I)
- Format the codebase with ruff format
- Remove unused imports and dead local variables it surfaced
- reload.py: use a TYPE_CHECKING import for ConfigManager instead of a
- function-level import; drop a redundant config load; rename a loop
- variable that shadowed the dataclasses field import
- + 4 more
๐ [Fix proxy tool-call result handling for FastMCP 3.x](https://github.com/sitbon/magg/commit/87c69203a6d75b6ec3287719769043779a50d542)
- Date: Sat Jun 27 14:51:16 2026 -0700
- >
- client.call_tool() returns a CallToolResult in 3.x, not an iterable
- list, so the proxy 'call' action raised "'CallToolResult' object is
- not iterable". Iterate result.content, and add the missing test
- coverage for the proxy call path. Found while evaluating PR #10.
- >
- Co-authored-by: Leon135 <45859721+Leon135@users.noreply.github.com>
- + 2 more
๐ฆ [Pin Alpine base image to 3.24](https://github.com/sitbon/magg/commit/f0e9ba18800abd4218cc8ee5ce7fdba1d9f7188b)
- Date: Sat Jun 27 14:38:30 2026 -0700
- >
- Avoids surprise base changes from the floating alpine:latest and makes
- builds reproducible. 3.24 is the current stable series (what :latest
- already resolved to); bump the series manually as needed.
- >
- >
- >
โจ [Harden URL host checks, add workflow permissions, tidy discovery module](https://github.com/sitbon/magg/commit/ef0db9d6e69e99c5784772409127a4131dfb9773)
- Date: Sat Jun 27 14:23:48 2026 -0700
- >
- py/incomplete-url-substring-sanitization: parse the URL host and
- compare it exactly (handling www/subdomains) instead of substring-
- matching the whole URL (discovery/search.py, discovery/metadata.py)
- actions/missing-workflow-permissions: add least-privilege
- contents: read to test.yml and publish.yml
- discovery: drop unused imports and convert static-able methods to
- + 4 more
๐ฆ [Scope the uv setup cache per Python version in CI](https://github.com/sitbon/magg/commit/2d15a553ebbfc21a28fac08726391d74ab535ce2)
- Date: Sat Jun 27 13:57:46 2026 -0700
- >
- The test matrix jobs shared one setup-uv cache key (derived from
- uv.lock, not the Python version), so they raced to save it and all
- but one logged a cache-reservation warning. cache-suffix gives each
- version its own key.
- >
- >
- + 1 more
โจ [Update CI/Docker workflows and add Python 3.14 to image builds](https://github.com/sitbon/magg/commit/2434e0546227bcc53808f417e08a85a6e716c4f6)
- Date: Sat Jun 27 13:43:28 2026 -0700
- >
- Bump GitHub Actions to latest; pin behavior-sensitive ones exact
- (upload-artifact@v7.0.1, download-artifact@v8.0.1, setup-uv@v8.2.0)
- Add 3.14 to all docker build/test/push matrices and make it the
- default for the unsuffixed dev/prod image tags (verified on Alpine)
- Correct the workflows readme: drop the unpublished -pre image claims
- Use SPDX AGPL-3.0-or-later for the image license label
- + 4 more
โจ [Migrate to FastMCP 3.x and add Python 3.14 support](https://github.com/sitbon/magg/commit/57a06a31e7974aa8b7aa62c0e4f931528a001b23)
- Date: Sat Jun 27 12:51:01 2026 -0700
- >
- Auth: BearerAuthProvider -> JWTVerifier (3.x removed the old class)
- Proxy: drop removed tool_serializer; get_tools -> list_tools
- Mount: as_proxy -> create_proxy, prefix -> namespace
- Transports: add NoValidateNpxStdioTransport (3.x validates npx at construction)
- Deps: require fastmcp>=3.4,<4, add explicit mcp dependency, regenerate lock
- CI: test on 3.12/3.13/3.14, fix test path filter and pin per-version Python
- + 2 more
๐ฆ Installation
- ```bash
- uv add magg==1.1.0
- ```
๐ฆ [Release v0.10.1](https://github.com/sitbon/magg/commit/c237d4c12e30e2d3e2ab8d209ee26bf47f848489)
- Date: Wed Aug 6 18:39:44 2025 -0700
- >
- Update workflow documentation to reflect standard semver versioning
- Add contributing guidelines
- Minor documentation improvement
- Sync dependencies to latest versions
- Dependencies updated:
- ```
- + 45 more
๐ฆ Installation
- ```bash
- uv add magg==0.10.1
- ```
๐ฆ [Release v0.10.0](https://github.com/sitbon/magg/commit/9acb3e2bfc465be20d6a626828e5aeec1d95d5ba)
- Date: Sun Jul 20 10:49:54 2025 -0700
- >
- >
- >
โจ [feat: Environment inheritance, test reorganization, and Docker improvements](https://github.com/sitbon/magg/commit/7684963caa02b8ae94dfc7bf1108156fca0a77e9)
- Date: Sun Jul 20 10:45:20 2025 -0700
- >
- Add --env-pass flag to inherit parent environment for stdio servers
- Add --env-set KEY VALUE for setting specific env vars
- Move tests from magg/test/ to test/magg/ (exclude from wheel)
- Restructure Dockerfile with new proj/pkg/user stages
- Remove deprecated MAGG_DEBUG/MAGG_QUIET env vars
- Remove magg/server/main.py and cli.py (consolidated)
- + 23 more
๐ฆ Installation
- ```bash
- uv add magg==0.10.0
- ```
๐ฆ [Release v0.9.1](https://github.com/sitbon/magg/commit/881a48860781d9f5bf1f76a0cb8df8a29e98093a)
- Date: Thu Jul 17 20:18:22 2025 -0700
- >
- >
- >
โจ [feat: Add hybrid mode and improve logging levels](https://github.com/sitbon/magg/commit/9370067c9865031e84e68f3660df0923c0290c9f)
- Date: Thu Jul 17 19:40:21 2025 -0700
- >
- Major changes:
- Add hybrid mode to run Magg with both stdio and HTTP simultaneously
- New --hybrid flag for `magg serve` command
- Concurrent task management for both transports
- Useful for mbro hosting Magg while using stdio connection
- >
- + 23 more
๐ [chore: Enhance MBro CLI with script support and improve documentation](https://github.com/sitbon/magg/commit/25d1e08f398111b0f429dc8decd765d2c016c4b9)
- Date: Thu Jul 17 18:00:01 2025 -0700
- >
- Add script execution with -x/--execute-script and -X/--execute-script-n for automation
- Update documentation with examples for shell-style arguments, running scripts, and stdio mode
- Modernize examples, emphasizing key=value syntax and minimal quoting
- Implement script discovery and execution order tracking
- Improve error handling for non-interactive scripts
- Refine server connection examples and CLI tips for usability
- + 3 more
๐ [Fix whitespace issues.](https://github.com/sitbon/magg/commit/09480f2a69694ac030afe67be8f122b46571355b)
- Date: Thu Jul 17 16:57:23 2025 -0700
- >
- >
๐ฆ Installation
- ```bash
- uv add magg==0.9.1
- ```
๐ฆ [Release v0.9.0](https://github.com/sitbon/magg/commit/a145e6ec420dd2d695c8bab08ba97671c5078d92)
- Date: Wed Jul 16 21:57:36 2025 -0700*
- >
- >
- >
โป๏ธ [refactor: overhaul mbro CLI and clean up codebase](https://github.com/sitbon/magg/commit/22ba7c21685935e7ec393a2b0dc4a34a89289a78)
- Date: Wed Jul 16 21:32:48 2025 -0700*
- >
- Breaking Changes:
- Remove all specific mbro CLI flags (--connect, --list-tools, --call-tool, etc.)
- mbro now takes commands as positional arguments instead of flags
- Use semicolons to separate multiple commands
- Connect to servers with mbro shell syntax in the CLI
- >
- + 27 more
โป๏ธ [Refactor kits field to store rich metadata and clean up imports](https://github.com/sitbon/magg/commit/b4fe375c1f16bc0e0e19b7bc3fcda0475bc51fa6)
- Date: Wed Jul 16 17:01:08 2025 -0700*
- >
- Change MaggConfig.kits from list[str] to dict[str, KitInfo]
- Add KitInfo model with name, description, path, and source fields
- Maintain backward compatibility for old list format
- Extract InputValidator and PropertyTypeValidator classes to module level
- Move all imports to module level (except where needed for circular deps)
- Update all affected code and tests
- + 3 more
๐ [refactor: Modernize MBro CLI architecture and fix core CLI issues](https://github.com/sitbon/magg/commit/796df973c2598f2985b277d2f9d0e171afd98f31)
- Date: Wed Jul 16 13:24:45 2025 -0700*
- >
- Core CLI Fixes:
- Fix 'magg config' to show help instead of error when no subcommand given
- Hide deprecated commands from error messages (no MAGG_SHOW_DEPRECATED)
- Fix kit load to preserve enabled state from kit files
- >
- MBro CLI Refactoring:
- + 14 more
๐ [Update docs and workflows](https://github.com/sitbon/magg/commit/d639a558882dce88bd3e20604ed5e32267c06e90)
- Date: Wed Jul 16 01:55:54 2025 -0700*
- >
- Add magg_status/magg_check tools to docs
- Document modern mbro CLI features (shell-style args, tab completion)
- Modernize examples with shell-style syntax
- Add missing env vars to compose.yaml
- Remove compose.yaml from docker workflow triggers
- Fix dockerfile reference in workflows
- + 2 more
๐ฆ Installation
- ```bash
- uv add magg==0.9.0
- ```
๐ฆ [Release v0.8.0](https://github.com/sitbon/magg/commit/1d0952ce2bc19b2550a3cfb7970490aa1c5017ad)
- Date: Wed Jul 16 01:10:32 2025 -0700*
- >
- >
- >
โจ [chore: Add path filters to GitHub workflows for optimized trigger behavior](https://github.com/sitbon/magg/commit/d2e3aa0fe068cdb54b01e30cea4161cafec61b56)
- Date: Wed Jul 16 01:03:03 2025 -0700*
- >
- Updated `docker-publish.yml` and `test.yml` to include specific path-level filters for `push` and `pull_request` events.
- Enabled targeted workflow execution for relevant file changes only.
- >
- >
- >
๐ [fix: Handle asyncio.get_event_loop() deprecation in reload module](https://github.com/sitbon/magg/commit/ff76d93ec3b3d3d78ff76ed0ff1d4e6721c6bd05)
- Date: Wed Jul 16 00:24:51 2025 -0700*
- >
- Use get_running_loop() when available, fall back to get_event_loop()
- for compatibility with older code patterns.
- >
- >
๐งช [test: Clean up skipped tests](https://github.com/sitbon/magg/commit/85964d0bda6472b94fde7c066b79b24612deafa1)
- Date: Wed Jul 16 00:12:30 2025 -0700*
- >
- Remove obsolete circular dependency test (not applicable in new architecture)
- Remove placeholder mounting tests (actual mounting tested elsewhere)
- Remove all mbro integration tests (high maintenance, low value)
- Keep conditional skips for internet/platform-specific tests
- Keep API exploration tests that document unsupported features
- >
- + 4 more
๐ [refactor: Make prefix_sep configurable instead of class constant](https://github.com/sitbon/magg/commit/79e97e5c824ff9fde5a680621688f5ca340e057d)
- Date: Wed Jul 16 00:07:13 2025 -0700*
- >
- Change PREFIX_SEP from ClassVar to prefix_sep field on MaggConfig
- Add MAGG_PREFIX_SEP env var support (default: "_")
- Update ServerManager to use config.prefix_sep
- Remove unused generate_prefix_from_name() method
- Update docs to explain configurable separator
- Add tests for prefix_sep configuration
- + 4 more
โป๏ธ [refactor: Clean up trailing whitespace across project files](https://github.com/sitbon/magg/commit/1c98a905b7c171fb8654a832c407a19f4d7720a9)
- Date: Tue Jul 15 23:37:49 2025 -0700*
- >
- Removed unnecessary trailing spaces and blank lines for better readability and consistency.
- Updated test cases, CLI components, and utility functions to follow formatting standards.
- No functional changes introduced; purely cosmetic for code hygiene.
- >
- >
- >
๐ [fix: Remove deprecated FastMCP mount pattern from tests](https://github.com/sitbon/magg/commit/b60e2dd827befa24e9f6ecefc62f86038941c35b)
- Date: Tue Jul 15 23:35:14 2025 -0700*
- >
- Comment out test code that used deprecated mount(server=client, as_proxy=True)
- pattern which triggered DeprecationWarning. Production code already uses the
- correct FastMCP.as_proxy() approach. Keep as commented documentation of what
- not to do.
- >
- >
โจ [feat: Add proxy pagination, MBro stdio support, subprocess stderr control, and FastMCP 2.10.5 compatibility](https://github.com/sitbon/magg/commit/596fa166bbb727bd30e102581a43e85214d61ba0)
- Date: Tue Jul 15 23:29:41 2025 -0700*
- >
๐ Major Changes
- >
๐ฆ Proxy Tool Pagination
- Add limit, offset, and filter_server parameters to proxy tool
- Default limit of 100 items to prevent token limit errors
- Support filtering results by server name prefix
- Update documentation with pagination examples
- >
๐ฆ MBro Enhancements
- Fix stdio transport support using Magg's transport inference
- Improve tab completion with browse-then-apply behavior
- Show completion menu on TAB even for single items
- Fix ESC key handling for single-press menu cancellation
- Add rich parameter completion with type info and descriptions
- >
๐ฆ Subprocess Output Control
- Add MAGG_STDERR_SHOW environment variable (default: false)
- Suppress subprocess MCP server stderr output by default
- Create stdio_patch utility for clean stderr redirection
- Document new configuration option
- >
๐ฆ FastMCP 2.10.5 Compatibility
- Update all tests for CallToolResult API change
- Suppress FastMCP banner with show_banner=False
- Configure FastMCP logger to ERROR level
- Fix transport URL tests for trailing slash changes
- >
๐ฆ Other Improvements
- Fix outdated server mounting message in CLI
- Add parse_command_string utility for command parsing
- Update FastMCP to 2.10.5 in pyproject.toml
- Improve logging configuration for cleaner output
- >
๐ฆ Technical Details
- >
- FastMCP 2.10.5 returns CallToolResult objects instead of content lists
- Subprocess stderr suppression uses monkey-patching of stdio_client
- Tab completion uses prompt-toolkit's select_first=False for better UX
- Pagination prevents loading 200+ tools into context window
- >
- Resolves token limit issues when proxying servers with many tools.
- Provides cleaner output by default while maintaining debuggability.
- + 3 more
โจ [feat: Add kit management CLI and improve server command structure](https://github.com/sitbon/magg/commit/8a0e92331df1f8b0479b4f94476aed40505028cd)
- Date: Tue Jul 15 20:33:37 2025 -0700*
- >
- Introduced `kit` command for managing kits (list, load, and info actions).
- Added `cmd_kit` functionality to handle kit operations via CLI.
- Implemented tests for kit actions (list, load, info) with edge-case handling.
- Improved server commands by creating `server` subcommand with structured actions (list, add, remove, enable, disable, info).
- Deprecated old `add-server`, `list-servers`, and similar commands with warnings for backward compatibility.
- Enhanced configuration system with new utilities for managing kits and servers.
- + 4 more
๐ [feat: Allow duplicate and empty server prefixes, optimize config loading](https://github.com/sitbon/magg/commit/39f1f2dbce97722391ca403c87c521ce522e5293)
- Date: Tue Jul 15 18:38:59 2025 -0700*
- >
- Major changes:
- Allow duplicate prefixes across servers (including None/empty prefixes)
- Remove duplicate prefix validation from config reload
- Optimize config loading to use cached version when reload is enabled
- Make None the default prefix instead of auto-generating from server name
- >
- + 22 more
๐ฆ Installation
- ```bash
- uv add magg==0.8.0
- ```
๐ฆ [Release v0.7.1](https://github.com/sitbon/magg/commit/7f310616a659706ec56fdba4efc72a6ed111139c)
- Date: Sun Jun 29 19:43:41 2025 -0700*
- >
- >
- >
โจ [Add kit management system with MCP resources and enhance MBro CLI](https://github.com/sitbon/magg/commit/aacc500f71a02a88f71beeef3d9e0d8686ec9250)
- Date: Sun Jun 29 17:50:35 2025 -0700*
- >
- Kit Management System:
- Add KitManager class for discovering, loading, and managing MCP server bundles
- Implement KitConfig model with optional description field
- Auto-create kits in memory when referenced but not found on disk
- Add protection to strip 'kits' field from server definitions in kit files
- Expose kit configurations as MCP resources at magg://kit/{name} and magg://kits/all
- + 27 more
๐ [Fix MBro CLI multiline input handling and argument parsing issues](https://github.com/sitbon/magg/commit/9cc9dcdfc8a209ea8eccec92028c6d6cd84b05e4)
- Date: Sat Jun 28 14:50:45 2025 -0700*
- >
- Improve `Enter` key behavior for immediate command submission
- Fix argument parsing to simplify handling of key=value pairs
- Enhance multiline command processing with proper continuation and spacing support
- Improve error feedback for missing required tool parameters and unsupported positional arguments
- Update help messages and examples for better clarity
- >
- + 1 more
๐ฆ Installation
- ```bash
- uv add magg==0.7.1
- ```
๐ฆ [Release v0.7.0](https://github.com/sitbon/magg/commit/fc253c5cf1a2b04bb2d149e3421c1f41b57869bb)
- Date: Thu Jun 26 22:09:06 2025 -0700*
- >
- >
- >
โจ [Add FastMCP messaging support and enhance MBro CLI multiline capabilities](https://github.com/sitbon/magg/commit/08d10d053e356c60a5d22ceae2d7161c25f6db4d)
- Date: Thu Jun 26 21:49:36 2025 -0700*
- >
๐ฆ FastMCP Messaging & Notifications
- Implement full support for FastMCP's bidirectional messaging (PR #939)
- Add MaggMessageHandler with callback-based and class-based APIs
- Create MessageRouter for multi-handler message distribution
- Implement ServerMessageCoordinator for notification aggregation
- Add BackendMessageHandler for per-server message forwarding
- Update ProxyFastMCP with message routing infrastructure
- Complete test suite with 8 passing messaging tests
- >
๐ฆ MBRO CLI Multiline Enhancements
- Fix multiline input handling with Python REPL-style behavior
- Add shell-like key=value argument parsing (e.g., name="test" count=42)
- Enable native multiline mode with proper history support
- Fix _create_smart_auto_suggest missing method error
- Handle backslash line continuations correctly
- Preserve multiline commands in history with newlines
- Add custom Enter key binding for submit on empty line
- Support editing multiline commands loaded from history
- + 1 more
๐ Bug Fixes
- Fix asyncio.get_event_loop() deprecation warning in logs/queue.py
- Fix mbro CLI test expecting JSON error for shell-style args
- Fix tool delegation test being too strict about tool count
- Update terminal banner with dynamic width support
- >
โจ Additional Improvements
- Fix import issues and type hints for Python 3.13+
- Add comprehensive messaging documentation and examples
- Update README with messaging feature documentation
- >
- >
- >
๐ [Fix Docker workflow dependencies by explicitly requiring `test-dev-image`](https://github.com/sitbon/magg/commit/a12e3780dc63eb5d07abf16d364f2397871a71f1)
- Date: Thu Jun 26 12:26:01 2025 -0700*
- >
- Update `needs` to include both `build-dev-image` and `test-dev-image` for better dependency management
- Adjust conditional expressions to use `needs.<job>.result` instead of `jobs.<job>.result`
- >
- >
๐ฆ Installation
- ```bash
- uv add magg==0.7.0
- ```
๐ฆ [Release v0.6.1](https://github.com/sitbon/magg/commit/d385a118eaba417a4cfe4059bfe07de074071963)
- Date: Thu Jun 26 10:28:21 2025 -0700*
- >
- >
- >
โจ [feat(mbro): add rich tab completion with parameter documentation](https://github.com/sitbon/magg/commit/68a5196f3f3aac9857efd37925e51e7130976060)
- Date: Thu Jun 26 10:23:56 2025 -0700*
- >
- Add intelligent tab completion system showing tool parameters with types,
- requirements, and descriptions in popup menus
- Fix completion cache not populating when using --connect CLI option
- Implement Python REPL-style multiline support with '...' continuation
- prompts for incomplete input
- Add parameter value completion with type-aware suggestions (enums,
- + 11 more
๐ [Fixup: Push versioned docker image tags after publish](https://github.com/sitbon/magg/commit/ff9b2606e34193c3234544d87b89632ac8947240)
- Date: Wed Jun 25 22:34:00 2025 -0700*
- >
- >
- >
๐ฆ [Release v0.6.0](https://github.com/sitbon/magg/commit/30b4831b85460decb326540448a2b322759714b5)
- Date: Wed Jun 25 22:11:58 2025 -0700*
- >
- >
- >
๐ฆ [Simplify server architecture and consolidate tool implementations](https://github.com/sitbon/magg/commit/0ccd1fc1b494e79b69b511776c0be060cbd06bb7)
- Date: Wed Jun 25 22:10:27 2025 -0700*
- >
- Major Changes:
- Move lifecycle management (setup, run, context manager) from MaggServer to ManagedServer base class
- Consolidate all MCP tools back into MaggServer from failed mixin experiment (~875 lines)
- Add enable_config_reload parameter to ManagedServer constructor
- Fix ManagedServer initialization to properly support config reload functionality
- Move magg.mbro.test -> magg.test.mbro
- + 21 more
โจ [Add dynamic config reload with file watching](https://github.com/sitbon/magg/commit/d9bd13d0fd4d8d6a8665aa9340c7e9d9dd3240ee)
- Date: Wed Jun 25 21:04:02 2025 -0700*
- >
- Major Features:
- Implement ConfigReloader with watchdog (polling fallback) for file monitoring
- Add SIGHUP signal handler for Unix-style config reloading
- Add magg_reload_config MCP tool with proper restrictions
- Move reload logic from ServerManager to ConfigManager for better architecture
- Add config reload documentation and examples
- + 33 more
โป๏ธ [Refactor GitHub Actions workflows for cleaner versioning and releases](https://github.com/sitbon/magg/commit/724044f21f233f222a4dca1814895605cd4fb3f7)
- Date: Wed Jun 25 16:31:39 2025 -0700*
- >
- Publish workflow:
- Add version checking to skip publishing when unchanged
- Use PAT_TOKEN to enable cascading workflow triggers
- Create clean semver tags (v0.5.1) without magg/ prefix
- Create movable 2-digit tags (v0.5) for minor version tracking
- Rename magg/latest to latest-publish for clarity
- + 23 more
๐ฆ Installation
- ```bash
- uv add magg==0.6.1
- ```
๐ฆ [Release v0.6.0](https://github.com/sitbon/magg/commit/30b4831b85460decb326540448a2b322759714b5)
- > Date: Wed Jun 25 22:11:58 2025 -0700*
- >
- >
- >
๐ฆ [Simplify server architecture and consolidate tool implementations](https://github.com/sitbon/magg/commit/0ccd1fc1b494e79b69b511776c0be060cbd06bb7)
- > Date: Wed Jun 25 22:10:27 2025 -0700*
- >
- > Major Changes:
- > - Move lifecycle management (setup, run, context manager) from MaggServer to ManagedServer base class
- > - Consolidate all MCP tools back into MaggServer from failed mixin experiment (~875 lines)
- > - Add enable_config_reload parameter to ManagedServer constructor
- > - Fix ManagedServer initialization to properly support config reload functionality
- > - Move magg.mbro.test -> magg.test.mbro
- + 20 more
๐ฆ Installation
- ```bash
- uv add magg==0.6.0
- ```
๐ [Fix GitHub Actions workflow dependencies and Docker tagging](https://github.com/sitbon/magg/commit/d116235be626f4bc0ca57796622df7b6dccafc86)
- > Date: Wed Jun 25 12:13:22 2025 -0700*
- >
- > - Make Publish workflow depend on Tests workflow success instead of duplicating tests
- > - Use PAT_TOKEN instead of GITHUB_TOKEN to enable cascading workflow triggers
- > - Fix Docker metadata to support 4-digit semver tags (v0.5.1.52)
- > - Remove 'v' prefix from Docker tags while keeping it in Git tags
- > - Ensure dev tags only created for branch builds, not tag events
- > - Fix missing tags for Python 3.12 builds
- + 5 more
๐ฆ Installation
- ```bash
- uv add magg==0.5.1.53
- ```
๐ [Simplify publish workflow and improve changelog generation](https://github.com/sitbon/magg/commit/1a7b2157c71fa7b0fd34295760814a9353425cdb)
- > Date: Wed Jun 25 10:54:53 2025 -0700*
- >
- > - Shorten workflow name to "Publish" for brevity
- > - Replace `secrets.GITHUB_TOKEN` with `secrets.PAT_TOKEN` for enhanced permissions
- > - Allows triggering of Docker workflow
- > - Update changelog formatting to exclude "Signed-off-by" lines and include commit links
- > - Remove unnecessary changelog code block from release notes
- >
- + 1 more
๐ฆ Installation
- ```bash
- uv add magg==0.5.1.52
- ```
๐ฆ [Merge Release v0.5.1](https://github.com/sitbon/magg/commit/7368c6c)
- > *Date: Wed Jun 25 00:53:21 2025 -0700*
- >
๐ [Release 0.5.1: Python 3.12, auth, and docker support.](https://github.com/sitbon/magg/commit/1ea9c57)
- > *Date: Wed Jun 25 00:52:02 2025 -0700*
- >
- > - Expand README with new features and enhancements
- > - Add details on bearer token authentication, Docker support, and health monitoring tools.
- > - Highlight Python 3.12+ compatibility.
- > - Introduce `magg_status` and `magg_check` tools.
- >
๐ฆ [Rename `MAGG` references to `Magg` for consistency.](https://github.com/sitbon/magg/commit/7468b13)
- > *Date: Wed Jun 25 00:02:33 2025 -0700*
- >
- > - Updates all modules, tests, and documentation to reflect the naming convention change.
- > - Adjusts examples and comments to use `Magg` styling throughout.
- > - Modifies `docker-publish.yml` to handle docker tag parsing properly.
- >
๐ [Simplify `docker-publish.yml` workflow and update badges](https://github.com/sitbon/magg/commit/4220be7)
- > *Date: Tue Jun 24 22:58:17 2025 -0700*
- >
- > - Comment out unused Docker labels and cache settings
- > - Disable SBOM and provenance generation in Docker builds
- > - Adjust `build-and-push` matrix order for clarity
- > - Update README badges:
- > - Replace old test badge reference with code comments
- > - Add Docker workflow badge alongside tests badge
- + 4 more
๐ [Fix Python 3.12 container tests and simplify CI matrix](https://github.com/sitbon/magg/commit/74bb2d3)
- > *Date: Tue Jun 24 21:48:09 2025 -0700*
- >
- > - Add conditional symlink fix for Python 3.12 on Alpine Linux
- > - Python 3.12 expects linux-gnu extension suffix, but Alpine provides linux-musl
- > - Create symlinks from *-linux-gnu.so to *-linux-musl.so for C extensions
- > - Fix is only applied when PYTHON_VERSION="3.12" to avoid affecting other versions
- >
- > - Fix dockerfile stage reference: FROM beta AS pro โ FROM pre AS pro
- + 12 more
โจ [Add Docker support, Python 3.12 compatibility, and streamline CI/CD](https://github.com/sitbon/magg/commit/2e3a37c)
- > *Date: Tue Jun 24 21:11:28 2025 -0700*
- >
- > Docker Implementation:
- > - Add multi-stage Dockerfile with pro/pre/dev variants
- > - Create docker-publish.yml workflow for automated ghcr.io publishing
- > - Add compose.yaml with service inheritance for easy local development
- > - Include .env.example for Docker configuration
- >
- + 29 more
โจ [Add `magg_status` and `magg_check` tools with tests](https://github.com/sitbon/magg/commit/61d1b15)
- > *Date: Mon Jun 23 16:03:53 2025 -0700*
- >
- > - Implement `magg_status` to fetch server stats and tool info
- > - Add `magg_check` for server health with configurable actions
- > (`report`, `remount`, `unmount`, `disable`)
- > - Update tests to cover new tools and actions
- > - Clean trailing whitespace in `embedding.py` and other files
- > - Fix handling of HTTP endpoint redirects in mbro client
- + 2 more
๐งช [Update auth tests to validate key-based configuration](https://github.com/sitbon/magg/commit/437500e)
- > *Date: Mon Jun 23 15:01:16 2025 -0700*
- >
- > - Replace `test_enabled_with_config` with `test_enabled_with_keys`
- > - Generate and use temporary RSA keys for testing auth initialization
- >
โจ [Add bearer token authentication and major improvements](https://github.com/sitbon/magg/commit/d8b94ec)
- > *Date: Mon Jun 23 14:51:03 2025 -0700*
- >
- > Authentication:
- > - Add RSA keypair-based bearer token authentication using PyJWT
- > - Support private key from env var (MAGG_PRIVATE_KEY) or .env file
- > - Add auth CLI commands: init, status, token, public-key, private-key
- > - Integrate FastMCP's BearerAuthProvider for server auth
- > - Auth is optional - server runs without auth if no keys exist
- + 23 more
๐ [Markdown formatting for release changelog](https://github.com/sitbon/magg/commit/6160f88)
- > *Date: Sun Jun 22 22:20:22 2025 -0700*
- >
๐ฆ Installation
- ```bash
- uv add magg==0.5.1.51
- ```
๐ [Fix publish workflow: delete remote tag before pushing](https://github.com/sitbon/magg/commit/6bb893e)
- > *Date: Sun Jun 22 20:57:03 2025 -0700*
- >
- >
- >
๐ฆ [Update workflow and release scripts](https://github.com/sitbon/magg/commit/6b0b199)
- > *Date: Sun Jun 22 20:29:21 2025 -0700*
- >
- > - Disabled requirement of test status check to pass for the
- > Default Branch Protection ruleset.
- >
- >
- >
๐ฆ [Merge Release v0.4.0](https://github.com/sitbon/magg/commit/3a47686)
- > *Date: Sun Jun 22 18:59:09 2025 -0700*
- >
- >
- >
๐ [Release 0.4.0: Proxy support refactoring and documentation](https://github.com/sitbon/magg/commit/9c90fd8)
- > *Date: Sun Jun 22 18:29:05 2025 -0700*
- >
- > - Make prompt-toolkit a required dependency (remove mbro extra)
- > - mbro might still become its own package later
- > - Add test status badge to README
- > - Add local/ to gitignore for development files
- >
- >
- + 1 more
๐ [Fix tests: use mode="json" for model_dump.](https://github.com/sitbon/magg/commit/b362a5f)
- > *Date: Sun Jun 22 17:57:31 2025 -0700*
- >
- > 24 occurrences of model_dump across 9 files reviewed.
- >
- > Issue arose from using Path type in config data.
- >
- >
- >
๐ [Documentation updates.](https://github.com/sitbon/magg/commit/507d2d6)
- > *Date: Sun Jun 22 17:37:29 2025 -0700*
- >
- > Note: Tests currently failing.
- >
- >
- >
๐ [Fix working directory validation and use Path type consistently](https://github.com/sitbon/magg/commit/6b5dc5e)
- > *Date: Sun Jun 22 16:04:56 2025 -0700*
- >
- > - Change ServerConfig.working_dir from str to Path type for better type safety
- > - Fix validate_working_directory to only validate when working_dir is provided
- > rather than trying clever defaults that could never work
- > - Convert Path to str when passing to transport classes (which aren't Pydantic)
- > - Make setup() explicit requirement for in-memory usage via FastMCPTransport
- > - Required due to async context, but called automatically on server start
- + 10 more
๐๏ธ [Move proxy to magg.proxy package, remove client.runner](https://github.com/sitbon/magg/commit/8bb4367)
- > *Date: Sun Jun 22 15:11:57 2025 -0700*
- >
- > - Create magg.proxy package with server/client/mixin modules
- > - Remove client.runner - use FastMCPTransport directly
- > - Rename ServerRunner to MAGGRunner with signal handling
- > - Update fix_whitespace.py to walk directories itself
- >
- > Tests pass unchanged.
- + 3 more
โจ [Add MCP proxy pattern implementation and client utilities](https://github.com/sitbon/magg/commit/b4a3b81)
- > *Date: Sat Jun 21 23:58:27 2025 -0700*
- >
- > Implement proxy tool pattern for dynamic MCP capability access,
- > including client utilities for embedding MAGG in applications.
- >
- > Core Implementation:
- > - Add ProxyMCP mixin with validation, introspection, and result transformation
- > - Implement ProxyClient with transparent mode for drop-in MCP client replacement
- + 22 more
๐ฆ Installation
- ```bash
- uv add magg==0.4.2.40
- ```
๐ฆ Package Info
- Version: 0.3.6.30
- Commit: 4e6c6f29ba3f4fca0f532d76bb22146eb36035ce
- SHA512: 06914f3ede97c5648ef12d278392db14cc900a35f3ffa09acd7458f3d5588c5c7b227d6872c51960d18b6c2ed9afacb72a1eff38c1c182059f3b748869db9cc3 dist/magg-0.3.6.30.tar.gz
๐ฆ Installation
- ```bash
- pip install magg==0.3.6.30
- ```
