Back to Home
duddn2012 icon

go-mcp-server-gateway

Verified Safe

by duddn2012

Overview

Multi-tenant gateway for Model Context Protocol (MCP) servers, dynamically managing and serving MCP instances per tenant with isolated databases.

Installation

Run Command
./build.sh run

Environment Variables

  • APP_ENV
  • LOG_LEVEL
  • BRIO_DATABASE_HOST
  • BRIO_DATABASE_PORT
  • BRIO_DATABASE_USER
  • BRIO_DATABASE_PASSWORD
  • BRIO_DATABASE_NAME
  • BRIO_SERVER_PORT
  • BRIO_X_MCP_KEY
  • BRIO_LOGGING_LEVEL
  • BRIO_LOGGING_BASE_DIR
  • BRIO_LOGGING_SERVICE_MAX_SIZE
  • BRIO_LOGGING_SERVICE_MAX_AGE
  • BRIO_LOGGING_SERVICE_MAX_BACKUPS
  • BRIO_LOGGING_SERVICE_COMPRESS
  • BRIO_LOGGING_SERVICE_DIR
  • BRIO_LOGGING_TLO_MAX_SIZE
  • BRIO_LOGGING_TLO_MAX_AGE
  • BRIO_LOGGING_TLO_MAX_BACKUPS
  • BRIO_LOGGING_TLO_COMPRESS
  • BRIO_LOGGING_TLO_DIR
  • BRIO_LOGGING_TLO_ROTATION_MINUTES
  • BRIO_LOGGING_TLO_MAX_RETENTION_DAYS
  • BRIO_LOGGING_TLO_ZONE_ID
  • BRIO_TIMEOUT_SERVER_READ
  • BRIO_TIMEOUT_SERVER_WRITE
  • BRIO_TIMEOUT_HTTP_CLIENT
  • BRIO_ALLOWED_ORIGINS

Security Notes

Sensitive configuration values (DB passwords, API keys) are encrypted at rest using a custom Rust FFI-based library. However, the decryption key (likely an RSA key) appears to be embedded within the compiled Rust library, which is then linked statically into the Go binary. This means an attacker with access to the compiled binary can extract the decryption key and decrypt all 'encrypted' configuration values. While it protects against casual viewing of `.env` or YAML files, it does not provide robust protection against a determined attacker who obtains the binary. Hardcoded DB credentials in test config (test/testutils/test_config.go) are for testing purposes only and not production.

Similar Servers

Stats

Interest Score0
Security Score5
Cost ClassMedium
Avg Tokens1000
Stars0
Forks0
Last Update2026-01-11

Tags

Multi-tenantGatewayMCPGoAPIDatabase