trackmcp
Back to directory

🧩 MCP Gateway - A lightweight gateway service that instantly transforms existing MCP Servers and APIs into MCP servers with zero code changes.

1,883 stars TypeScriptServers & Infrastructure Updated Nov 4, 2025
awesomemcpmcp-adaptermcp-gatewaymcp-serverrest-to-mcprestful-to-mcp

Documentation

Unla - MCP Gateway

> 🚀 Instantly transform your existing MCP Servers and APIs into MCP endpoints — without changing a line of code.

English
简体中文
繁體中文
Release
Docs
Ask DeepWiki
Discord
Go Report Card
Snyk Security

> ⚡ Note: Unla is under rapid development! We strive to maintain backward compatibility, but it cannot be 100% guaranteed. Please make sure to check version changes carefully when upgrading. Due to the fast iteration, documentation updates may sometimes lag behind. If you encounter any issues, feel free to search or ask for help via Discord or Issues ❤️


✨ What is Unla?

Unla is a lightweight and highly available gateway service written in Go. It enables individuals and organizations to convert their existing MCP Servers and APIs into services compliant with the MCP Protocol — all through configuration, with zero code changes.

https://github.com/user-attachments/assets/69480eda-7aa7-4be7-9bc7-cae57fe16c54

🔧 Core Design Principles

  • ✅ Zero Intrusion: Platform-agnostic, supports deployment on bare metal, VMs, ECS, Kubernetes, etc., without modifying existing infrastructure
  • 🔄 Configuration-Driven: Convert legacy APIs to MCP Servers using YAML configuration — no code required
  • 🪶 Lightweight & Efficient: Designed for minimal resource usage without compromising on performance or availability
  • 🧭 Built-in Management UI: Ready-to-use web interface to simplify setup and reduce operational overhead

🚀 Getting Started

Unla supports a ready-to-run Docker deployment. Full deployment and configuration instructions are available in the docs.

Quick Launch with Docker

Configure environment variables:

bash
export APISERVER_JWT_SECRET_KEY="changeme-please-generate-a-random-secret"
export SUPER_ADMIN_USERNAME="admin"
export SUPER_ADMIN_PASSWORD="changeme-please-use-a-secure-password"

Launch the container:

bash
docker run -d \
  --name unla \
  -p 8080:80 \
  -p 5234:5234 \
  -p 5235:5235 \
  -p 5335:5335 \
  -p 5236:5236 \
  -e ENV=production \
  -e TZ=Asia/Shanghai \
  -e APISERVER_JWT_SECRET_KEY=${APISERVER_JWT_SECRET_KEY} \
  -e SUPER_ADMIN_USERNAME=${SUPER_ADMIN_USERNAME} \
  -e SUPER_ADMIN_PASSWORD=${SUPER_ADMIN_PASSWORD} \
  --restart unless-stopped \
  ghcr.io/amoylab/unla/allinone:latest

Access and Configuration

1. Access the Web Interface:

    2. Add an MCP Server:

      Available Endpoints

      After configuration, the service will be available at these endpoints:

      • MCP SSE: http://localhost:5235/mcp/user/sse
      • MCP SSE Message: http://localhost:5235/mcp/user/message
      • MCP Streamable HTTP: http://localhost:5235/mcp/user/mcp

      Configure your MCP Client with the `/sse` or `/mcp` suffix URLs to start using it.

      Testing

      You can test the service using:

      1. The MCP Chat page in the web interface

      2. Your own MCP Client (recommended)

      📖 Read the full guide → Quick Start »


      🚀 Core Features

      🔌 Protocol & Proxy Capabilities

      • [x] Support for converting RESTful APIs to MCP Server — Client → MCP Gateway → APIs
      • [x] Support proxying MCP services — Client → MCP Gateway → MCP Servers
      • [ ] Support for converting gRPC to MCP Server — Client → MCP Gateway → gRPC
      • [ ] Support for converting WebSocket to MCP Server — Client → MCP Gateway → WebSocket
      • [x] Support for MCP SSE
      • [x] Support for MCP Streamable HTTP
      • [x] Support for MCP responses including text, images, and audio

      🧠 Session & Multi-Tenant Support

      • [x] Persistent and recoverable session support
      • [x] Multi-tenant support
      • [ ] Support for grouping and aggregating MCP servers

      🛠 Configuration & Management

      • [x] Automatic configuration fetching and seamless hot-reloading
      • [x] Configuration persistence (Disk/SQLite/PostgreSQL/MySQL)
      • [x] Configuration sync via OS Signals, HTTP, or Redis PubSub
      • [x] Version control for configuration

      🔐 Security & Authentication

      • [x] OAuth-based pre-authentication support for MCP Servers

      🖥 User Interface

      • [x] Intuitive and lightweight management UI

      📦 Deployment & Operations

      • [x] Multi-replica service support
      • [x] Docker support
      • [x] Kubernetes and Helm deployment support

      📚 Documentation

      For more usage patterns, configuration examples, and integration guides, please visit:

      👉 https://docs.unla.amoylab.com


      📄 License

      This project is licensed under the MIT License.

      💬 Join Our WeChat Community

      Scan the QR code below to add us on WeChat. Please include a note: `mcp-gateway`, `mcpgw` or `unla`.

      📈 Star History

      Star History Chart

      Frequently asked questions

      What is unla?

      unla is 🧩 MCP Gateway - A lightweight gateway service that instantly transforms existing MCP Servers and APIs into MCP servers with zero code changes.

      How do I install unla?

      Open the GitHub repository and follow its README. Most MCP servers are added to your client's MCP config, then called by your agent.

      Is unla open source?

      Yes — it is hosted on GitHub at https://github.com/mcp-ecosystem/mcp-gateway and has 1,883 stars.

      Related MCP tools

      Run your own MCP server? See who uses it and what to fix.

      Measure it with TrackMCP