AmoyLab

Unla

Built by AmoyLab โ€ข 2,075 stars

What is Unla?

A high-performance MCP server implementation for Unla that bridges the gap between the Model Context Protocol and external services. It allows Large Language Models to interact with your data and tools with low latency and native support.

How to use Unla?

1. Ensure you have an MCP-compatible client (like Claude Desktop) installed. 2. Configure your server with: npx @modelcontextprotocol/Unla 3. Restart your client and verify the new tools are available in the system catalog.
๐Ÿ›ก๏ธ Scoped (Restricted)
npx @modelcontextprotocol/unla --scope restricted
๐Ÿ”“ Unrestricted Access
npx @modelcontextprotocol/unla

Key Features

Native MCP Protocol Support
High-performance Data Streaming
Type-safe Tool Definitions
Seamless Environment Integration

Optimized Use Cases

Connecting external databases to AI workflows
Automating workflow tasks via natural language
Augmenting developer productivity with specialized tools

Unla FAQ

Q

What is an MCP server?

MCP is an open standard that enables developers to build secure, two-way integrations between AI models and local or remote data sources.

Q

Is this server ready for production?

Yes, this server follows standard MCP security patterns and tool-restricted access.

Official Documentation

View on GitHub

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 <a href="https://llmapis.com?source=https%3A%2F%2Fgithub.com%2FAmoyLab%2FUnla" target="_blank"><img src="https://llmapis.com/api/badge/AmoyLab/Unla" alt="LLMAPIS" width="20" /></a>


โšก 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:

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:

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:

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

  • Support for converting RESTful APIs to MCP Server โ€” Client โ†’ MCP Gateway โ†’ APIs
  • 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
  • Support for MCP SSE
  • Support for MCP Streamable HTTP
  • Support for MCP responses including text, images, and audio

๐Ÿง  Session & Multi-Tenant Support

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

๐Ÿ›  Configuration & Management

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

๐Ÿ” Security & Authentication

  • OAuth-based pre-authentication support for MCP Servers

๐Ÿ–ฅ User Interface

  • Intuitive and lightweight management UI

๐Ÿ“ฆ Deployment & Operations

  • Multi-replica service support
  • Docker support
  • 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.

<img src="web/public/wechat-qrcode.png" alt="WeChat QR Code" width="350" height="350" />

๐Ÿ“ˆ Star History

Star History Chart

Global Ranking

7.4
Trust ScoreMCPHub Index

Based on codebase health & activity.

Manual Config

{ "mcpServers": { "unla": { "command": "npx", "args": ["unla"] } } }