π‘οΈ MCP Gateway v0.4.0 - 2025-07-22 - Security, Resilience, Test Coverage and Bugfixing
π‘οΈ MCP Gateway v0.4.0 β 2025-07-22
This milestone release achieves 100% compliance across all multiple linters, 82% unit test coverage, 60% doctest coverage and new UI test automation while delivering resilience features, comprehensive testing infrastructure, and critical bug fixes. With over 52 issues resolved, v0.4.0
represents our commitment to enterprise-grade security and code quality.
π Security & Quality Achievements
This release sets new standards for code quality and security:
- 100% Linter Compliance β Zero issues across Bandit, HTMLHint, Stylelint, ESLint, Retire.js, and nodejsscan
- 100% Docstring Coverage β Every function and class fully documented
- 10/10 Pylint Score β Code quality rating maintained
- 60% Doctest Coverage β Enhanced documentation with executable examples
- 82% Pytest Coverage β Enhanced pytest suite, with additional e2e tests and input validation
- New test-ui - playwright based UI test automation (e.g.
make dev & bg; make test-ui-headless
) - Smart Retry Mechanisms β Resilient connections with exponential backoff
Important: Admin UI remains development-only. Never expose it in production. Build your own production UI with appropriate security controls. Refer to the Securing MCP Gateway documentation.
Beta Software Notice: MCP Gateway is in early beta. Expect breaking changes between minor versions, and incomplete functionality. Use only with trusted upstream MCP servers. This is an OPEN SOURCE PROJECT with community-driven support and no official support from IBM. Please refer to SECURITY.md and our Roadmap for more info and upcoming features.
β¨ Highlights
- π Zero Security Issues β All security scanners pass (#421, #415, #552)
- π Smart Retry Mechanism β HTTPX client with exponential backoff for resilient connections (#456)
- π§ͺ Security Test Suite β Comprehensive input validation testing framework (#552)
- π§ Test Connectivity Tool β Debug MCP server connections with detailed diagnostics (#181)
- πΎ Persistent Filter State β UI filters and preferences now persist across sessions (#177)
- π 60% Doctest Coverage β Executable documentation examples (#249)
- π³ Docker HEALTHCHECK β Production-ready container health monitoring (#362)
- π E2E Acceptance Tests β Complete end-to-end validation documentation (#399)
π¨ Important Security Updates
- Secure Defaults Continue β Admin UI and API disabled by default
- Enhanced Error Handling β Replaced assert statements with proper exceptions (#412)
- Fixed Critical Bugs β Resolved STREAMABLEHTTP transport issues (#213) and auth failures (#232)
- Improved Input Validation β Extended validation to RPC endpoints (#361)
π Added
Resilience & Reliability
-
HTTPX Smart Retry Client (#456):
- Exponential backoff with jitter
- Configurable retry attempts and intervals
- Automatic recovery from transient failures
- Environment variables:
HTTP_MAX_RETRIES
,HTTP_RETRY_BACKOFF_FACTOR
-
Docker Health Monitoring (#362):
- HEALTHCHECK directive in Containerfile
- Proper health endpoints for Kubernetes/Docker
- Automatic container restart on failures
Developer Experience
- Test MCP Server Connectivity (#181) β Comprehensive debugging tool in Admin UI
- Persistent UI State (#177) β Filter selections persist across browser sessions
- Contextual Help Tooltips (#233) β Hover help throughout the interface
- mcp-cli Documentation (#46) β Complete guide for CLI integration
- JSON-RPC Examples (#19) β Detailed curl commands for API testing
Security & Testing
- Input Validation Test Suite (#552) β Comprehensive security-focused tests
- Additional Security Scanners (#415, #499) β Added nodejsscan for JavaScript
- E2E Test Documentation (#399) β Complete acceptance testing guide
- 60% Doctest Coverage (#249) β Executable documentation examples
Code Quality
- 100% Docstring Coverage (#467) β Every function documented
- 10/10 Pylint Score (#210) β Perfect code quality rating
- Zero Web Lint Issues (#338) β Clean JavaScript and HTML
- Dead Code Detection (#305) β Vulture and unimport integration
π Fixed
Critical Issues
- STREAMABLEHTTP Transport (#213) β Fixed transport initialization failures
- Authentication Failures (#232) β Resolved "Auth to None" errors
- Gateway Authentication (#471, #472) β Fixed auth credentials not being populated
- XSS Vulnerabilities (#361) β Added validation to RPC endpoints
- Invalid Transport Types (#359) β Gateway now properly validates transports
UI/UX Fixes
- Dark Theme (#366) β Fixed visibility and contrast issues
- Server Connectivity Test (#367) β Repaired broken test functionality
- Duplicate Server Names (#476) β UI now shows proper error messages
- Edit Forms (#354) β Fixed fields not populating when editing
- Annotations (#356) β Made annotations properly editable
- Resource Data (#352) β Fixed incorrect data mapping
- Text Editor Spacing (#355) β Removed excessive empty space
- Console Warnings (#374) β Eliminated metrics-loading errors
API & Backend
- Federation HTTPS (#424) β Now respects X-Forwarded-Proto headers
- Version Endpoint (#369, #382) β Returns proper semantic version
- Test Server URL (#396) β Fixed incorrect URL construction
- Gateway Separator (#387) β Respects GATEWAY_TOOL_NAME_SEPARATOR
- UI-Disabled Mode (#378) β Tests handle disabled UI properly
Infrastructure
- Makefile Improvements (#371, #433) β Better Docker/Podman detection
- GHCR Push (#384) β Fixed incorrect pushes on PRs
- OpenAPI Title (#522) β Fixed formatting in specification
- Test Isolation (#495) β Tests no longer affect production database
- Configuration Cleanup (#419) β Removed unused lock_file_path
π Changed
-
Security by Default:
- Admin UI disabled:
MCPGATEWAY_UI_ENABLED=false
- Admin API disabled:
MCPGATEWAY_ADMIN_API_ENABLED=false
- Enable only for trusted development environments
- Admin UI disabled:
-
Code Quality Milestones:
- 100% Docstring Coverage β Use
make interrogate
to verify - 10/10 Pylint Score β Use
make pylint
to check - Zero Security Issues β Use
make bandit
to scan - Clean Web Code β Use
make lint-web
to verify
- 100% Docstring Coverage β Use
-
Enhanced Error Handling:
- Replaced all assert statements with proper exceptions
- Better error messages for user guidance
- Improved logging for debugging
π Security Notes
New Security Tools
Run the security lint suite locally:
make security-all # Run all security scanners
make bandit # Python security analysis
make nodejsscan # JavaScript security analysis
make grype # Container vulnerability scan
make trivy # Comprehensive security scan
make lint-web # Web code quality check
make sonar-up-docker pysonar-scanner # Run sonarqube locally and submit code
π¦ Upgrade Instructions
-
Update your package:
pip install --upgrade mcp-contextforge-gateway==0.4.0
-
Review new retry settings in
.env
:# Copy latest example with retry config cp .env.example .env
Docker / Compose / Kubernetes deployments also support alembic migrations on startup.
π Release Contributors
Thanks to our amazing contributors who made this security-focused release possible!
π Top Contributors in 0.4.0
- Mihai Criveti (@crivetimihai) - Release coordinator, security improvements, code quality, review, and extensive testing infrastructure
- Madhav Kandukuri (@madhav165) - Major input validation framework, security fixes, and test coverage improvements
- Keval Mahajan (@kevalmahajan) - HTTPX retry mechanism implementation and UI improvements
- Manav Gupta (@manavgup) - Comprehensive doctest coverage and Playwright test suite
π New Contributors
Welcome to our first-time contributors who joined us in 0.4.0:
- Satya (@TS0713) - Fixed duplicate server name handling and invalid transport type validation
- Guoqiang Ding (@dgq8211) - Improved tool description display with proper line wrapping
- Rakhi Dutta (@rakdutta) - Enhanced error messages for better user experience
- Nayana R Gowda - Fixed CodeMirror layout spacing issues
- Mohan Lakshmaiah - Contributed UI/UX improvements and test case updates
- Shoumi Mukherjee - Fixed resource data handling in the UI
- Reeve Barreto (@reevebarreto) - Implemented the Test MCP Server Connectivity feature
- ChrisPC-39/Sebastian - Achieved 10/10 Pylint score and added security scanners
- Jason Frey (@fryguy9) - Improved GitHub Actions with official IBM Cloud CLI action
πͺ Returning Contributors
Thank you to our dedicated contributors who continue to strengthen MCP Gateway:
- Thong Bui - REST API enhancements including PATCH support and path parameters
- Abdul Samad - Dark mode improvements and UI polish
This release represents a true community effort with contributions from developers around the world. Your dedication to security, code quality, and user experience has made MCP Gateway more robust than ever!
π Resources
- π Docs: https://ibm.github.io/mcp-context-forge/
- π³ Container:
ghcr.io/ibm/mcp-context-forge:v0.4.0
- π PyPI: mcp-contextforge-gateway
- π Full changelog: Compare v0.3.1β¦v0.4.0