github agentic-community/mcp-gateway-registry v1.0.17
v1.0.17 - Okta Identity Provider, Security Hardening, and OTLP Metrics Export

latest releases: 1.24.7, 1.24.6, 1.24.5...
3 months ago

Upgrading from v1.0.16

This section covers everything you need to know to upgrade from v1.0.16 to v1.0.17.

Breaking Changes

1. Local Admin Credentials Removed

The ADMIN_USER and ADMIN_PASSWORD environment variables have been removed. All authentication now requires an identity provider (Keycloak, Entra ID, Okta, or AgentCore).

  • Action Required: Remove these variables from your .env file
  • Migration: Use identity provider accounts for admin access

2. Registry Container Port Changes (Helm/Kubernetes Only)

The registry service now uses non-privileged ports:

  • HTTP: 808080

  • HTTPS: 4438443

  • Action Required for Kubernetes/Helm: Update any external port references or ingress configurations

  • No Action Required: Docker Compose and Terraform/ECS deployments automatically map these ports

3. MongoDB Init Container Removed (Helm/Kubernetes Only)

The wait-for-mongodb init container has been removed from auth-server and registry deployments. MongoDB readiness is now handled through application-level retries and health checks.

  • Action Required: None - MongoDB connection retry logic is built into the applications
  • Benefit: Faster pod startup times and reduced security surface

New Environment Variables

Variable Default Description
OKTA_DOMAIN - Okta organization domain (e.g., dev-123456.okta.com)
OKTA_CLIENT_ID - Okta OAuth2 application client ID
OKTA_CLIENT_SECRET - Okta OAuth2 application client secret
OKTA_M2M_CLIENT_ID (uses OKTA_CLIENT_ID) Optional: Separate M2M client ID
OKTA_M2M_CLIENT_SECRET (uses OKTA_CLIENT_SECRET) Optional: Separate M2M client secret
OKTA_API_TOKEN - Optional: Okta Admin API token for IAM operations
OKTA_AUTH_SERVER_ID (uses default) Optional: Custom authorization server ID
OTEL_OTLP_ENDPOINT - OTLP endpoint URL for direct metrics push (e.g., https://otlp.datadoghq.com)
OTEL_EXPORTER_OTLP_HEADERS - OTLP headers (e.g., dd-api-key=YOUR_KEY)
OTEL_OTLP_EXPORT_INTERVAL_MS 30000 Metrics export interval in milliseconds
OTEL_EXPORTER_OTLP_METRICS_TEMPORALITY_PREFERENCE cumulative Metric temporality: cumulative or delta

Upgrade Instructions

Docker Compose

cd mcp-gateway-registry
git pull origin main
git checkout v1.0.17

# Review new env vars in .env.example and update your .env if needed
# Remove ADMIN_USER and ADMIN_PASSWORD if present

# Rebuild and restart:
./build_and_run.sh

Kubernetes / Helm (EKS)

cd mcp-gateway-registry
git pull origin main
git checkout v1.0.17

# Update values.yaml if needed, then upgrade:
cd charts/mcp-gateway-registry-stack
helm upgrade mcp-gateway . -f your-values.yaml

Terraform / ECS

cd mcp-gateway-registry
git pull origin main
git checkout v1.0.17

# Update your .tfvars with any new variables
cd terraform/aws-ecs
terraform plan
terraform apply

DockerHub Images

Pre-built images are available:

docker pull mcpgateway/registry:v1.0.17
docker pull mcpgateway/auth-server:v1.0.17
docker pull mcpgateway/currenttime-server:v1.0.17
docker pull mcpgateway/realserverfaketools-server:v1.0.17
docker pull mcpgateway/mcpgw-server:v1.0.17
docker pull mcpgateway/fininfo-server:v1.0.17
docker pull mcpgateway/metrics-service:v1.0.17

Major Features

Okta Identity Provider Support

Complete integration of Okta as a supported identity provider alongside Keycloak, Entra ID, and Amazon Bedrock AgentCore.

Key Capabilities:

  • Full OAuth 2.0/OIDC authentication flow with Okta
  • Machine-to-machine (M2M) token generation for automated workflows
  • User and group synchronization via Okta API
  • IAM group mapping and authorization
  • Support for custom authorization servers
  • Optional separate M2M client credentials
  • Helm chart configuration support

Configuration:

  • Set AUTH_PROVIDER=okta in your environment
  • Configure required variables: OKTA_DOMAIN, OKTA_CLIENT_ID, OKTA_CLIENT_SECRET
  • Optional IAM features require OKTA_API_TOKEN

PR #644
PR #657

Infrastructure Security Hardening

Comprehensive security improvements across deployment methods (Docker Compose, Helm/Kubernetes, Terraform/ECS).

Security Enhancements:

  • Container Security: Non-root user execution, dropped capabilities, read-only root filesystems
  • Secrets Management: Removed hardcoded credentials, AWS Secrets Manager integration for ECS
  • Network Security: Localhost binding for development, private IP binding for production
  • Health Checks: Liveness and readiness probes for all services
  • Resource Limits: CPU and memory constraints for all containers
  • Logging: Structured logging with AWS CloudWatch integration

Deployment-Specific Improvements:

  • Helm/Kubernetes: SecurityContext enforcement, pod security standards compliance
  • Terraform/ECS: IAM role refinement, VPC security group tightening, ALB access logging
  • Docker Compose: TLS certificate management, nginx security headers

PR #642

Direct OTLP Metrics Export

Push OpenTelemetry metrics directly to external observability platforms (Datadog, New Relic, Grafana Cloud, Honeycomb) via OTLP/HTTP.

Key Features:

  • Parallel export to both Prometheus and OTLP endpoints
  • Configurable export intervals
  • Support for cumulative and delta metric temporality
  • Pre-configured examples for major platforms
  • No additional collector required

Supported Platforms:

  • Datadog (US1/EU1 regions)
  • New Relic
  • Grafana Cloud
  • Honeycomb
  • Any OTLP-compatible platform

Configuration:

  • Set OTEL_OTLP_ENDPOINT to your platform's OTLP endpoint
  • Add platform-specific headers in OTEL_EXPORTER_OTLP_HEADERS
  • Adjust temporality for Datadog: OTEL_EXPORTER_OTLP_METRICS_TEMPORALITY_PREFERENCE=delta

PR #560
PR #543


What's New

Security Fixes

  • Shell Injection Prevention: Replaced execSync with execFileSync to prevent command injection attacks (#655)
  • Semgrep Findings: Addressed static analysis findings including SQL injection patterns, hardcoded credentials, and insecure randomness (#651)
  • CSRF Protection: Added Cross-Site Request Forgery protection with flexible token validation (#635)
  • Hardcoded Secrets Removal: Eliminated hardcoded database passwords and API tokens (#633)
  • Network Binding Security: Servers now bind to localhost in development, private IPs in production (#604)
  • Subprocess Security: Implemented hardcoded command patterns with proper validation (#577)
  • SQL Injection Prevention: Parameterized queries and allowlist validation for dynamic identifiers (#579)

Authentication & Identity

  • Complete Okta identity provider integration with M2M support (#644, #657)
  • Removed local username/password authentication (#591)
  • Fixed Keycloak SSO logout with id_token_hint parameter (#592)
  • Removed old admin username/password references (#627)

Agent Management

  • Fixed agent enable/disable 500 error after container restart (#621, #622)
  • Resolved health status race condition for enabled services (#639)
  • Agent enabled state now persists to repository on toggle (#622)

Search & Discovery

  • Fixed FAISS search initialization and entity type handling (#646)
  • Improved semantic search accuracy and performance

Deployment & Configuration

  • Helm charts now support Okta configuration (#657)
  • OpenTelemetry ConfigMap for registry metrics configuration (#638)
  • MongoDB credentials passed to configure job (#630)
  • Conditional environment variable handling (#640)
  • Docker security hardening and ECS Fargate production fixes (#624)

Infrastructure

  • Created writable /app/certs directory for DocumentDB CA bundle (#632)
  • Fixed nginx X-Forwarded-Port mapping and proxy buffer permissions (#631)
  • Federation server reconciliation and DELETE endpoint fixes (#576)

Frontend Improvements

  • ESC key now closes modals in the UI (#596)
  • Uptime display with system stats tooltip (#567)
  • IAM tool selector improvements and path normalization (#570)

Documentation

  • Added Direct OTLP Push Export documentation (#637)
  • Updated roadmap with March 2026 milestones (#653)
  • Added modern type hints (PEP 604/585) guidance (#582)
  • Comprehensive subprocess and SQL security guidelines (#580)
  • Enterprise Security Posture documentation
  • AWS Show & Tell video added to demo videos

Bug Fixes

  • Fixed FAISS search broken initialization and wrong entity types (#646)
  • Fixed agent enable/disable 500 error after container restart (#621)
  • Fixed agent enabled state persistence on toggle (#622)
  • Eliminated health status race condition for enabled services (#639)
  • Fixed writable /app/certs directory for DocumentDB CA bundle (#632)
  • Fixed nginx X-Forwarded-Port mapping and proxy buffer permissions (#631)
  • Fixed Keycloak SSO logout with id_token_hint (issue #490) (#592)
  • Fixed mcpgw API compatibility and Service Connect (#588)
  • Fixed federation server reconciliation and DELETE endpoint (issue #539) (#576)
  • Resolved Bandit B105 findings (issue #525) (#571)
  • Fixed IAM tool selector, path normalization, and UI permission sync (#570)
  • Resolved Bandit B404/B307/B310 findings (issue #526) (#568)
  • Preserved encrypted federation tokens during peer updates (#564)
  • Fixed Bandit B101 configuration for test files (#565)

Pull Requests Included

PR Title
#657 add okta envvars to charts
#655 fix: replace execSync with execFileSync to prevent shell injection
#653 docs: update roadmap with March 2026 milestones
#651 fix: implement Semgrep security findings fixes (issue #650)
#648 chore(deps): bump langgraph from 1.0.9 to 1.0.10rc1
#647 chore(deps): bump flatted from 3.3.3 to 3.4.1 in /frontend
#646 fix: FAISS search broken - missing initialization and wrong entity types
#645 chore(deps): bump orjson from 3.11.5 to 3.11.6
#644 feat: Add Okta as an Identity Provider
#643 chore(deps): bump black from 25.12.0 to 26.3.1 in /metrics-service
#642 feat: complete infrastructure security hardening implementation (issue #603)
#640 only set envvars if available
#639 fix: eliminate health status race condition for enabled services (#612)
#638 create otel configmap for registry and add variables in values
#637 docs: add Direct OTLP Push Export documentation for metrics
#635 fix: add CSRF protection, flexible validation, and security scan directories
#633 fix: remove hardcoded secret and improve credentials security
#632 fix: create writable /app/certs directory for DocumentDB CA bundle
#631 fix: nginx X-Forwarded-Port mapping and proxy buffer permissions
#630 pass mongodb credentials to configure job
#629 update helm charts for hardening PR
#627 remove old references to admin username/password
#624 Docker security hardening and ECS Fargate production fixes
#622 fix: persist agent enabled state to repository on toggle
#621 fix: agent enable/disable 500 after container restart
#606 remove mcpgw install script
#604 fix(security): address test code and network binding security findings (issue #599)
#596 esc now closes modals in the UI
#592 Fix Keycloak SSO logout with id_token_hint (issue #490)
#591 Remove local username password
#590 update mcpgw deployment and dockerfile
#589 chore(deps): bump fast-xml-parser and @aws-sdk/xml-builder in /cli
#588 fix: mcpgw API compatibility, security hardening, and Service Connect
#586 add mcpgw build and charts
#585 feat: add macOS setup and teardown Claude skill
#584 Rewrite mcpgw MCP server to use registry HTTP APIs (issue #583)
#582 docs: add modern type hints (PEP 604/585) and pre-commit hook guidance
#580 docs: add comprehensive subprocess and SQL security guidelines to CLAUDE.md
#579 522 address sql injection in metrics
#578 more ruff fixes
#577 523 address bandit finding subprocess
#576 feat: add federation server reconciliation and fix DELETE endpoint (issue #539)
#575 feat: searchable audit log filters and statistics dashboard (#572)
#571 fix: resolve Bandit B105 findings (issue #525)
#570 fix(iam): tool selector, path normalization, and UI permission sync in IAM Groups
#568 fix: resolve Bandit B404/B307/B310 findings (issue #526)
#567 feat: add uptime display with system stats tooltip (#566)
#565 fix(security): configure Bandit B101 skip for test files
#564 fix: preserve encrypted federation tokens during peer updates (#561)
#563 chore(deps): bump awscli from 1.44.4 to 1.44.38

Security Dependency Updates

Package Previous Updated Scope
langgraph 1.0.9 1.0.10rc1 Python
flatted 3.3.3 3.4.1 frontend (npm)
black 25.12.0 26.3.1 metrics-service
orjson 3.11.5 3.11.6 Python
fast-xml-parser - (updated) cli (npm)
@aws-sdk/xml-builder - (updated) cli (npm)
awscli 1.44.4 1.44.38 Infrastructure

Contributors

Thank you to all contributors for this release:


Support


Full Changelog: v1.0.16...v1.0.17

What's Changed

  • esc now closes modals in the UI by @omrishiv in #596
  • Remove local username password by @omrishiv in #591
  • fix(security): address test code and network binding security findings (issue #599) by @aarora79 in #604
  • remove old references to admin username/password by @omrishiv in #627
  • Docker security hardening and ECS Fargate production fixes by @aarora79 in #624
  • fix: nginx X-Forwarded-Port mapping and proxy buffer permissions by @aarora79 in #631
  • pass mongodb credentials to configure job by @omrishiv in #630
  • fix: add CSRF protection, flexible validation, and security scan directories by @aarora79 in #635
  • fix: persist agent enabled state to repository on toggle by @WPrintz in #622
  • fix: agent enable/disable 500 after container restart by @WPrintz in #621
  • feat: Enable OTLP push export through Docker Compose and Terraform/ECS (#543) by @abkrsinh in #560
  • docs: add Direct OTLP Push Export documentation for metrics by @aarora79 in #637
  • create otel configmap for registry and add variables in values by @omrishiv in #638
  • only set envvars if available by @omrishiv in #640
  • fix: eliminate health status race condition for enabled services (#612) by @shekharprateek in #639
  • feat: complete infrastructure security hardening implementation (issue #603) by @aarora79 in #642
  • fix: FAISS search broken - missing initialization and wrong entity types by @harshitkgupta in #646
  • chore(deps): bump orjson from 3.11.5 to 3.11.6 by @dependabot[bot] in #645
  • chore(deps): bump black from 25.12.0 to 26.3.1 in /metrics-service by @dependabot[bot] in #643
  • chore(deps): bump flatted from 3.3.3 to 3.4.1 in /frontend by @dependabot[bot] in #647
  • chore(deps): bump langgraph from 1.0.9 to 1.0.10rc1 by @dependabot[bot] in #648
  • fix: implement Semgrep security findings fixes (issue #650) by @aarora79 in #651
  • docs: update roadmap with March 2026 milestones by @aarora79 in #653
  • fix: replace execSync with execFileSync to prevent shell injection by @spidershield-contrib in #655
  • feat: Add Okta as an Identity Provider by @abkrsinh in #644
  • add okta envvars to charts by @omrishiv in #657

New Contributors

Full Changelog: v1.0.16...v1.0.17

Don't miss a new mcp-gateway-registry release

NewReleases is sending notifications on new releases.