Releases: github/gh-aw-mcpg
v0.1.0
🌟 Release Highlights
Welcome to v0.1.0, the first stable release of MCP Gateway! This milestone represents a production-ready Go-based proxy server for Model Context Protocol (MCP) servers, designed for use with GitHub Agentic Workflows.
✨ Core Features
🔀 Flexible Routing Modes
- Routed Mode: Access individual MCP servers at
/mcp/{serverID}endpoints for dedicated connections - Unified Mode: Single
/mcpendpoint with intelligent routing across all configured servers
🐳 Docker-Native Backend Management
- Launch and manage MCP servers as containerized processes
- Automatic container lifecycle management with proper cleanup
- Environment variable injection for secure credential handling
🔧 Configuration Flexibility
- Support for both TOML files and JSON stdin configuration
- Spec-compliant validation with fail-fast error handling and detailed messages
- Environment variable expansion with
${VAR_NAME}syntax for secure credential management - Full configuration specification available
🛡️ Robust Error Handling
- Enhanced debugging with detailed error context and troubleshooting suggestions
- Per-server log files (
{serverID}.log) for easier isolation of issues - Automatic schema normalization to fix malformed JSON schemas from backends
- Container detection with security warnings for nested containerization
🔌 Protocol Support
- JSON-RPC 2.0 over stdio transport for MCP communication
- Full Model Context Protocol implementation
- Transparent proxy with minimal latency overhead
🚀 Getting Started
Build and run the gateway locally:
# Clone and build
make build
# Configure your MCP servers (config.toml)
[gateway]
port = 3000
api_key = "your-api-key"
[servers.github]
command = "docker"
args = ["run", "--rm", "-e", "GITHUB_PERSONAL_ACCESS_TOKEN", "-i", "ghcr.io/github/github-mcp-server:latest"]
# Start the gateway
./awmg --config config.toml🐳 Docker Image
The Docker image for this release is available at:
docker pull ghcr.io/github/gh-aw-mcpg:v0.1.0
# or
docker pull ghcr.io/github/gh-aw-mcpg:latestSupported platforms: linux/amd64, linux/arm64
📚 Documentation
- README - Quick start and overview
- CONTRIBUTING.md - Development setup and building from source
- Configuration Reference - Complete configuration specification
For complete details, see the full release notes.
Generated by Release
What's Changed
- Lpcox/update large xfer action by @lpcox in #860
- Hide enable-difc flag from public documentation by @Copilot in #864
- Sanitize sensitive data in all log outputs by @claude in #878
- [test-improver] Improve tests for main package by @github-actions[bot] in #871
- Fix workflow documentation to use dynamic workspace paths by @claude in #879
- Close #867: Test samples already exist in repository by @claude in #880
- Increase Test Coverage Improver timeout from 30 to 45 minutes by @claude in #881
- Clarify payload.json structure in large payload instructions by @claude in #883
- Implement Cobra v1.10.0 improvements: context support, declarative flag validation, and lifecycle hooks by @claude in #882
New Contributors
Full Changelog: v0.0.113...v0.1.0
v0.0.114
What's Changed
- Lpcox/update large xfer action by @lpcox in #860
- Hide enable-difc flag from public documentation by @Copilot in #864
- Sanitize sensitive data in all log outputs by @claude in #878
- [test-improver] Improve tests for main package by @github-actions[bot] in #871
- Fix workflow documentation to use dynamic workspace paths by @claude in #879
- Close #867: Test samples already exist in repository by @claude in #880
- Increase Test Coverage Improver timeout from 30 to 45 minutes by @claude in #881
- Clarify payload.json structure in large payload instructions by @claude in #883
- Implement Cobra v1.10.0 improvements: context support, declarative flag validation, and lifecycle hooks by @claude in #882
New Contributors
Full Changelog: v0.0.113...v0.0.114
v0.0.113
🌟 Release Highlights
This maintenance release improves session management, test reliability, and documentation accuracy for MCP Gateway v0.0.113.
✨ What's New
Simplified Session Management (#831)
- Sessions are now automatically created on first request - no manual initialization required
- Removed the
sys___initrequirement, streamlining the client workflow - Reduces integration complexity for developers using MCP Gateway
🐛 Bug Fixes & Improvements
Enhanced Test Reliability (#844, #853)
- Fixed filesystem and playwright MCP server configurations in stress tests
- Improved
PayloadMetadataschema structure for better data handling - Resolved flaky playwright test behavior for more consistent CI runs
Documentation Accuracy (#854, #855)
- Updated HTTP transport documentation to reflect production-ready status
- Documented known transient test failures with no action required
🐳 Docker Image
The Docker image for this release is available at:
docker pull ghcr.io/github/gh-aw-mcpg:v0.0.113
# or
docker pull ghcr.io/github/gh-aw-mcpg:latestSupported platforms: linux/amd64, linux/arm64
For complete details, see the full changelog.
Generated by Release
What's Changed
- fix: Remove sys___init requirement - sessions always auto-created by @lpcox in #831
- Fix filesystem and playwright MCP server configurations in stress test by @Copilot in #844
- refactor: Improve PayloadMetadata schema and fix flaky playwright test by @lpcox in #853
- Fix HTTP transport documentation status by @Copilot in #854
- Document Test Coverage Improver transient failure - no fix required by @Copilot in #855
Full Changelog: v0.0.111...v0.0.113
v0.0.112
What's Changed
- fix: Remove sys___init requirement - sessions always auto-created by @lpcox in #831
- Fix filesystem and playwright MCP server configurations in stress test by @Copilot in #844
- refactor: Improve PayloadMetadata schema and fix flaky playwright test by @lpcox in #853
- Fix HTTP transport documentation status by @Copilot in #854
Full Changelog: v0.0.111...v0.0.112
v0.0.111
🌟 Release Highlights
This release focuses on code quality improvements, better error diagnostics, and maintenance updates to keep MCP Gateway running smoothly.
⚡ Configuration Improvements
- Enhanced TOML error handling - Configuration errors now include precise line/column positions and detect common typos for faster debugging (#813)
- Increased payload threshold - Default payload size threshold raised from 1KB to 10KB for better performance with typical tool responses (#807)
🔧 Code Quality & Maintainability
- Reduced code duplication - Consolidated logger initialization logic and environment variable handling into reusable helpers (#815, #816)
- Better error handling - Extracted common error handling patterns into reusable helper functions (#811)
- Constructor naming conventions - Documented standard patterns (New*, Create*, Init*) for consistent codebase organization (#818)
📚 Documentation
- Clarified JSON stdin config - Removed unsupported
payloadSizeThresholdfield from documentation to prevent configuration errors (#808)
🐳 Docker Image
The Docker image for this release is available at:
docker pull ghcr.io/github/gh-aw-mcpg:v0.0.111
# or
docker pull ghcr.io/github/gh-aw-mcpg:latestSupported platforms: linux/amd64, linux/arm64
For complete details, see the full release notes.
Generated by Release
What's Changed
- docs: Remove unsupported payloadSizeThreshold from JSON stdin config by @Copilot in #808
- Increase default payload size threshold from 1KB to 10KB by @Copilot in #807
- Remove Tavily MCP from smoke tests due to 401 auth failure by @Copilot in #810
- Configure TypeScript and Python language servers in Serena container by @Copilot in #809
- Extract duplicate error handling patterns into reusable helpers by @Copilot in #811
- Improve TOML configuration error handling with position tracking and typo detection by @Copilot in #813
- Remove Multi-Device Docs Tester workflow - incompatible with repository structure by @Copilot in #814
- Consolidate logger initialization to use generic helpers by @Copilot in #815
- Refactor duplicate environment variable getters into reusable envutil package by @Copilot in #816
- Duplicate code already eliminated - close issue by @Copilot in #817
- Document constructor naming conventions per semantic analysis by @Copilot in #818
- upated aws by @lpcox in #819
Full Changelog: v0.0.109...v0.0.111
v0.0.110
What's Changed
- docs: Remove unsupported payloadSizeThreshold from JSON stdin config by @Copilot in #808
- Increase default payload size threshold from 1KB to 10KB by @Copilot in #807
- Remove Tavily MCP from smoke tests due to 401 auth failure by @Copilot in #810
- Configure TypeScript and Python language servers in Serena container by @Copilot in #809
- Extract duplicate error handling patterns into reusable helpers by @Copilot in #811
- Improve TOML configuration error handling with position tracking and typo detection by @Copilot in #813
- Remove Multi-Device Docs Tester workflow - incompatible with repository structure by @Copilot in #814
- Consolidate logger initialization to use generic helpers by @Copilot in #815
- Refactor duplicate environment variable getters into reusable envutil package by @Copilot in #816
- Duplicate code already eliminated - close issue by @Copilot in #817
- Document constructor naming conventions per semantic analysis by @Copilot in #818
- upated aws by @lpcox in #819
Full Changelog: v0.0.109...v0.0.110
v0.0.109
🌟 Release Highlights
This release focuses on improving payload handling flexibility and internal code quality.
✨ What's New
Configurable Payload Size Threshold (#790)
- MCP Gateway now allows you to control when tool response payloads are stored to disk vs. returned inline
- Configure via
--payload-size-thresholdCLI flag,MCP_GATEWAY_PAYLOAD_SIZE_THRESHOLDenvironment variable, orpayload_size_thresholdin config file - Default threshold: 1024 bytes (responses larger than this are saved to disk with metadata returned)
- Priority: CLI flag > Environment variable > Config file > Default
- Why it matters: Tune memory usage and performance based on your workload—smaller thresholds reduce memory pressure for high-volume agents, larger thresholds minimize disk I/O for agents handling moderate payloads
🔧 Internal Improvements
- Enhanced debug logging for DIFC agent module (#751)
- Improved test coverage for authentication package (#714)
🐳 Docker Image
The Docker image for this release is available at:
docker pull ghcr.io/github/gh-aw-mcpg:v0.0.109
# or
docker pull ghcr.io/github/gh-aw-mcpg:latestSupported platforms: linux/amd64, linux/arm64
For complete details, see the full release notes.
Generated by Release
What's Changed
- [test-improver] Improve tests for auth package by @github-actions[bot] in #714
- [log] Add debug logging to DIFC agent module by @github-actions[bot] in #751
- Add configurable payload size threshold for inline vs disk storage by @Copilot in #790
Full Changelog: v0.0.107...v0.0.109
v0.0.108
What's Changed
- [test-improver] Improve tests for auth package by @github-actions[bot] in #714
- [log] Add debug logging to DIFC agent module by @github-actions[bot] in #751
- Add configurable payload size threshold for inline vs disk storage by @Copilot in #790
Full Changelog: v0.0.107...v0.0.108
v0.0.107
🌟 Release Highlights
This release includes critical bug fixes for the large payload storage feature and important refactoring to improve code maintainability.
🐛 Bug Fixes
Fixed Large Payload Metadata Not Reaching Clients (#773, #766)
The large payload storage feature was saving payloads to disk correctly but not returning metadata to clients. This is now fixed:
- Payload metadata (queryID, payloadPath, schema, preview) is now properly included in
CallToolResult.Content - Agents can now access full payloads from mounted directories
- Enhanced logging provides complete visibility into payload storage lifecycle
Fixed Payload File Permissions (#773)
Payload files are now created with world-readable permissions:
- Directories:
0755(was0700) - Files:
0644(was0600) - Allows agents running in containers to read payload files without permission errors
🔧 Refactoring
Improved Middleware Type Safety (#771)
- Added
PayloadMetadatastruct for type-safe payload metadata responses - Extracted
PayloadTruncatedInstructionsas a constant for consistency - Enhanced test coverage with helper functions
🐳 Docker Image
The Docker image for this release is available at:
docker pull ghcr.io/github/gh-aw-mcpg:v0.0.107
# or
docker pull ghcr.io/github/gh-aw-mcpg:latestSupported platforms: linux/amd64, linux/arm64
For complete details, see the full release notes.
Generated by Release
What's Changed
- updated aw to latest gw by @lpcox in #767
- updated serena dockerfile by @lpcox in #769
- refactor(middleware): define PayloadMetadata as struct with constant … by @lpcox in #771
- fix(middleware): use world-readable permissions for payload files by @lpcox in #773
Full Changelog: v0.0.105...v0.0.107
v0.0.106
What's Changed
- updated aw to latest gw by @lpcox in #767
- updated serena dockerfile by @lpcox in #769
- refactor(middleware): define PayloadMetadata as struct with constant … by @lpcox in #771
- fix(middleware): use world-readable permissions for payload files by @lpcox in #773
Full Changelog: v0.0.105...v0.0.106