Releases: roddutra/agent-mcp-gateway
v0.2.5
Fixed
- Graceful shutdown of downstream MCP servers - stdio subprocesses are now properly terminated when gateway exits
- Gateway now follows MCP specification for stdio shutdown: close stdin, wait 2s, SIGTERM, then SIGKILL
Added
ProxyManager.close_all_connections()now iterates through all clients and callsclient.close()to trigger proper transport cleanup- Shutdown logging to stderr for visibility during gateway termination
- Unit tests for graceful shutdown behavior in
tests/test_graceful_shutdown.py
Installation
Install or upgrade using uvx (no installation required):
uvx [email protected] --versionOr install persistently:
uv tool install [email protected]
# Or upgrade existing installation
uv tool upgrade agent-mcp-gateway📦 PyPI Package: https://pypi.org/project/agent-mcp-gateway/0.2.5/
v0.2.4
Changed
- Enhanced MCP Registry metadata with title, repository info, and environment variable documentation
- Condensed release process documentation (57% reduction) while maintaining all key information
- Improved documentation readability for both human and AI consumers
Installation
Install or upgrade using uvx (no installation required):
uvx [email protected] --versionOr install persistently:
uv tool install [email protected]
# Or upgrade existing installation
uv tool upgrade agent-mcp-gateway📦 PyPI Package: https://pypi.org/project/agent-mcp-gateway/0.2.4/
v0.2.3
Added
- MCP Registry publishing support via automated GitHub Actions workflow
server.jsonconfiguration for MCP Registry metadata- MCP Registry identifier in README.md for PyPI ownership validation
.github/workflows/publish-mcp-registry.ymlworkflow for automated registry publishing- MCP Registry token files to
.gitignorefor security
Changed
- Gateway tools now report ~2k tokens (updated from ~400 tokens) to reflect actual usage
- Updated documentation with MCP Registry publishing guide
Installation
Install or upgrade using uvx (no installation required):
uvx [email protected] --versionOr install persistently:
uv tool install [email protected]
# Or upgrade existing installation
uv tool upgrade agent-mcp-gateway📦 PyPI Package: https://pypi.org/project/agent-mcp-gateway/0.2.3/
v0.2.2
Fixed
- MCP config hot reload now works correctly -
list_serversimmediately reflects configuration changes - Fixed architectural issue where
list_serversread from stale module-level variable instead of ProxyManager - ProxyManager is now the single source of truth for server configuration state
Changed
list_serversnow queries ProxyManager directly viaget_servers_config()method- Added
ProxyManager.get_servers_config()to expose current server configuration - Deprecated
update_mcp_config()function (retained for backward compatibility with tests)
Technical
- Removed 34 lines of unnecessary state synchronization code from hot reload callback
- Simplified architecture by eliminating module-level state mirroring
- Hot reload now works reliably without complex threading state synchronization
Installation
Install or upgrade using uvx (no installation required):
uvx [email protected] --versionOr install persistently:
uv tool install [email protected]
# Or upgrade existing installation
uv tool upgrade agent-mcp-gateway📦 PyPI Package: https://pypi.org/project/agent-mcp-gateway/0.2.2/
v0.2.1
Fixed
- Configuration file discovery now correctly checks
~/.config/agent-mcp-gateway/directory (step 3 in search order) - Files created by
--initcommand now use consistent dot-prefix naming (.mcp.json,.mcp-gateway-rules.json) - Fixed
--initcreating files in a location that would never be auto-discovered by the gateway
Changed
- Improved
--initcommand output with step-by-step setup instructions and formatted JSON example - Restructured README to prioritize end-user installation (uvx/PyPI) over local development
- Enhanced policy configuration examples to demonstrate implicit grants and deny-before-allow precedence
- Standardized all config file names to use dot-prefix (
.mcp.json,.mcp-gateway-rules.json) across all locations
Removed
- Unused
examples/directory with demo scripts and duplicate config files
Installation
Install or upgrade using uvx (no installation required):
uvx [email protected] --versionOr install persistently:
uv tool install [email protected]
# Or upgrade existing installation
uv tool upgrade agent-mcp-gateway📦 PyPI Package: https://pypi.org/project/agent-mcp-gateway/0.2.1/
v0.2.0
Changed
- BREAKING (behavioral): Policy engine now implicitly grants all tools when server is allowed without explicit tool rules
allow.serverswithout correspondingallow.tools.{server}entry now grants all tools from that server- Explicit
allow.tools.{server}entries narrow access from implicit grant deny.tools.{server}entries filter tools from granted set- Existing configs with explicit tool grants continue to work unchanged
- BREAKING (security): Fixed policy precedence order - all deny rules now checked before any allow rules
- Wildcard deny rules now correctly override explicit allow rules
- Fixes security vulnerability where explicit allow could override wildcard deny
- Example: With
allow: ["delete_user"]anddeny: ["delete_*"], access is now correctly DENIED
Migration
- Review agents with
allow.serversbut noallow.tools- these now grant all tools instead of denying by default - Configs relying on implicit deny-by-default may now grant unintended access
- Add explicit
allow.tools.{server}entries to maintain previous restricted behavior if needed - Security audit recommended: ensure wildcard deny patterns are sufficient for production environments
Added
- Comprehensive test suite for implicit grant behavior (7 new tests)
- Server-specific tool rule documentation in README.md
Installation
Install or upgrade using uvx (no installation required):
uvx [email protected] --versionOr install persistently:
uv tool install [email protected]
# Or upgrade existing installation
uv tool upgrade agent-mcp-gateway📦 PyPI Package: https://pypi.org/project/agent-mcp-gateway/0.2.0/
v0.1.5
Fixed
- Gateway now respects custom Authorization headers (e.g., GitHub Personal Access Tokens) instead of forcing OAuth for all HTTP servers
- Fixed "Client.init() got an unexpected keyword argument 'headers'" error when using Bearer token authentication
- HTTP clients with Authorization headers now use
StreamableHttpTransportto properly pass custom headers to FastMCP
Added
- Documentation of OAuth limitations: DCR-only support (no pre-registered OAuth apps)
- GitHub MCP setup guide with Personal Access Token (PAT) configuration examples
- OAuth authentication method comparison table (what works vs what doesn't)
Changed
- OAuth auto-detection now only activates when no Authorization header is provided
- Custom authentication headers take precedence over OAuth flow
Installation
Install or upgrade using uvx (no installation required):
uvx [email protected] --versionOr install persistently:
uv tool install [email protected]
# Or upgrade existing installation
uv tool upgrade agent-mcp-gateway📦 PyPI Package: https://pypi.org/project/agent-mcp-gateway/0.1.5/
v0.1.4
Fixed
- Fixed tool execution responses failing when downstream MCP servers return Pydantic model objects in content field
- Gateway now properly serializes Pydantic models (e.g., TextContent) to dictionaries before validation
- Added regression test to prevent future serialization issues with Pydantic responses
Installation
Install or upgrade using uvx (no installation required):
uvx [email protected] --versionOr install persistently:
uv tool install [email protected]
# Or upgrade existing installation
uv tool upgrade agent-mcp-gateway📦 PyPI Package: https://pypi.org/project/agent-mcp-gateway/0.1.4/
v0.1.3
Fixed
- Default audit log path now uses user-writable location (
~/.cache/agent-mcp-gateway/logs/audit.jsonl) instead of relative path (./logs/audit.jsonl) - Fixes "Read-only file system" error when running via
uvx agent-mcp-gateway(uvx runs from read-only cache directory) - Gateway now works out-of-the-box with uvx without requiring
GATEWAY_AUDIT_LOGenvironment variable override
Installation
Install or upgrade using uvx (no installation required):
uvx [email protected] --versionOr install persistently:
uv tool install [email protected]
# Or upgrade existing installation
uv tool upgrade agent-mcp-gateway📦 PyPI Package: https://pypi.org/project/agent-mcp-gateway/0.1.3/
v0.1.2
Added
- GitHub Actions workflows for automated releases
.github/workflows/publish-pypi.yml- Automated PyPI publishing using OpenID Connect (OIDC) trusted publishing.github/workflows/release-github.yml- Automated GitHub release creation with changelog extraction and installation instructions
Changed
- Release process documentation updated with automated workflow instructions
- Quick reference commands updated to reflect automated release process
- PyPI publishing now uses trusted publishing (no API tokens required)
Installation
Install or upgrade using uvx (no installation required):
uvx [email protected] --versionOr install persistently:
uv tool install [email protected]
# Or upgrade existing installation
uv tool upgrade agent-mcp-gateway📦 PyPI Package: https://pypi.org/project/agent-mcp-gateway/0.1.2/