MCP Gateway

by mcp-ecosystem

2.2k stars
4.9k downloads
Not rated
GitHub Website

About

๐Ÿงฉ MCP Gateway - A lightweight gateway service that instantly transforms existing MCP Servers and APIs into MCP servers with zero code changes. Features Docker deployment and management UI, requiring no infrastructure modifications.

Details

Author
mcp-ecosystem
GitHub stars
2,164
Downloads
4,907
Categories
Cloud Service, Other

- Convert RESTful APIs to MCP Servers via YAML configuration
- Proxy existing MCP services without code changes
- Support for MCP SSE and Streamable HTTP transports
- Built-in management UI for configuration and monitoring
- Multi-tenant support with persistent, recoverable sessions
- OAuth-based pre-authentication for MCP Servers
- Hot-reloading configuration from disk, SQLite, PostgreSQL, or MySQL

Setting up with Highlight

This MCP is not yet compatible with Highlight’s one-click setup. However, you can still use it with Highlight by following these steps:

  1. Download and install Highlight from highlightai.com/download
  2. Navigate to the plugins tab and select "Add Custom Plugin"
  3. Configure the plugin with the settings below
    Plugin Name MCP Gateway
    Command (node, npx, python, etc.)

    Please refer to the README for specific instructions on how to obtain API keys or other required environment variables.

  4. Enable "Start Automatically" if you want the plugin to start when Highlight launches

From the repository

Deploy with Docker using environment variables (secret key, admin credentials), then access the built-in web UI at port 8080 to add MCP Server configurations via YAML. After setup, use the exposed SSE or Streamable HTTP endpoints (port 5235) to connect your MCP client.

Claude Desktop / Cursor

Paste into your MCP client config file to install this server.

{
    "mcpServers": {
        "mcp gateway": {
            "mcp-gateway": {
                "command": "fake-mcp-gateway"
            }
        }
    }
}

McpServers

{
    "mcp-gateway": {
        "command": "fake-mcp-gateway"
    }
}
# Unla - MCP Gateway > ๐Ÿš€ Instantly transform your existing MCP Servers and APIs into [MCP](https://modelcontextprotocol.io/) endpoints โ€” without changing a line of code. [![English](https://img.shields.io/badge/English-Click-yellow)](./README.md) [![็ฎ€ไฝ“ไธญๆ–‡](https://img.shields.io/badge/็ฎ€ไฝ“ไธญๆ–‡-็‚นๅ‡ปๆŸฅ็œ‹-orange)](docs/README.zh-CN.md) [![็น้ซ”ไธญๆ–‡](https://img.shields.io/badge/็น้ซ”ไธญๆ–‡-้ปžๆ“ŠๆŸฅ็œ‹-blue)](docs/README.zh-TW.md) [![Release](https://img.shields.io/github/v/release/mcp-ecosystem/mcp-gateway)](https://github.com/amoylab/unla/releases) [![Docs](https://img.shields.io/badge/Docs-View%20Online-blue)](https://docs.unla.amoylab.com) [![Ask DeepWiki](https://deepwiki.com/badge.svg)](https://deepwiki.com/mcp-ecosystem/mcp-gateway) [![Discord](https://img.shields.io/badge/Discord-Join%20our%20Discord-5865F2?logo=discord&logoColor=white)](https://discord.gg/udf69cT9TY) [![Go Report Card](https://goreportcard.com/badge/github.com/amoylab/unla)](https://goreportcard.com/report/github.com/amoylab/unla) [![Snyk Security](https://img.shields.io/badge/Snyk-Secure-blueviolet?logo=snyk)](https://snyk.io/test/github/mcp-ecosystem/mcp-gateway) <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](https://discord.gg/udf69cT9TY) or [Issues](https://github.com/amoylab/unla/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](https://modelcontextprotocol.io/) โ€” 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](https://docs.unla.amoylab.com/getting-started/quick-start). ### 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: - Open http://localhost:8080/ in your browser - Login with the administrator credentials you configured 2. Add an MCP Server: - Copy the config from: https://github.com/amoylab/unla/blob/main/configs/proxy-mock-server.yaml - Click "Add MCP Server" in the web interface - Paste the configuration and save ### 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 ยป](https://docs.unla.amoylab.com/getting-started/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](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](https://api.star-history.com/svg?repos=AmoyLab/Unla&type=Date)](https://star-history.com/#AmoyLab/Unla&Date)
No reviews yet โ€” be the first

Sign in to leave a review

Use Google, GitHub, or an email account so ratings stay tied to real people.

Email sign in

No reviews posted yet.