MCP Gateway について
Unla は Go で書かれた軽量なゲートウェイで、YAML による設定だけで既存の MCP サーバーや REST API を、コード変更なしに MCP エンドポイントへ変換します。個人や組織を対象とし、Docker と Kubernetes でのデプロイに対応し、管理 UI を備えます。開発は急速に進んでおり、後方互換性は保証されていません。
主な機能
- 01YAML による REST API から MCP サーバーへの変換
- 02既存の MCP サーバーのプロキシ
- 03MCP SSE と Streamable HTTP への対応
- 04設定のホットリロードと複数の永続化バックエンド
- 05OAuth による事前認証とマルチテナント対応
活用シーン
- 01社内の REST API を MCP クライアントに公開
- 02単一のゲートウェイの背後で複数の MCP サーバーをプロキシ
- 03Docker や Kubernetes 上で管理 UI 付きの MCP ゲートウェイをデプロイ
MCP 対応
Unla は MCP ゲートウェイとして、変換された REST API と代理する MCP サーバーを、SSE および Streamable HTTP のエンドポイント経由で MCP クライアントに公開します。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
このサーバーのパッケージやリモートエンドポイントはまだ取得できていません。プロジェクトの README の手順に従ってください。
ツール
ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。
詳細
Unla - MCP Gateway
🚀 既存の MCP サーバーや API を、コードを一行も変更せずに MCP エンドポイントへすぐに変換できます。
⚡ 注意:Unla は現在、急速に開発が進んでいます!後方互換性の維持に努めていますが、完全に保証することはできません。アップグレードの際は、バージョンの変更点をよく確認してください。開発サイクルが速いため、ドキュメントの更新が遅れる場合があります。問題が発生した場合は、Discord または Issues で検索するか、お気軽にお問い合わせください ❤️
✨ Unla とは?
Unla は、Go で書かれた軽量で高可用性のゲートウェイサービスです。設定だけで、既存の MCP サーバーや API を MCP プロトコルに準拠したサービスに変換できます。コードの変更は一切不要です。
https://github.com/user-attachments/assets/69480eda-7aa7-4be7-9bc7-cae57fe16c54
🔧 基本設計方針
- ✅ 既存環境に干渉しません:プラットフォームに依存せず、既存のインフラを変更することなく、ベアメタル、VM、ECS、Kubernetes などにデプロイできます
- 🔄 設定駆動:YAML 設定を使って既存の API を MCP サーバーに変換できます。コードは不要です
- 🪶 軽量かつ効率的:パフォーマンスや可用性を損なうことなく、リソース使用量を最小限に抑えるよう設計されています
- 🧭 管理 UI を内蔵:すぐに使えるウェブインターフェースにより、セットアップを簡素化し、運用負荷を軽減します
🚀 はじめに
Unla は、すぐに実行できる Docker デプロイに対応しています。デプロイと設定の詳しい手順はドキュメントをご覧ください。
Docker ですぐに起動
環境変数を設定します:
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"
コンテナを起動します:
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
アクセスと設定
-
ウェブインターフェースにアクセスします:
- ブラウザーで http://localhost:8080/ を開きます
- 設定した管理者の認証情報でログインします
-
MCP サーバーを追加します:
- 次の設定をコピーします:https://github.com/amoylab/unla/blob/main/configs/proxy-mock-server.yaml
- ウェブインターフェースで「Add MCP Server」をクリックします
- 設定を貼り付けて保存します
使用可能なエンドポイント
設定後、サービスは次のエンドポイントで利用できます:
- MCP SSE:https://localhost:5235/mcp/user/sse
- MCP SSE メッセージ:https://localhost:5235/mcp/user/message
- MCP Streamable HTTP:https://localhost:5235/mcp/user/mcp
利用を開始するには、MCP クライアントで /sse または /mcp サフィックス付きの URL を設定します。
テスト
次の方法でサービスをテストできます:
- ウェブインターフェースの MCP Chat ページ
- 独自の MCP クライアント(推奨)
📖 詳しいガイドを読む → クイックスタート »
🚀 主な機能
🔌 プロトコルとプロキシ機能
- RESTful API を MCP サーバーに変換する機能をサポート — クライアント → MCP Gateway → API
- MCP サービスのプロキシ機能をサポート — クライアント → MCP Gateway → MCP Servers
- gRPC を MCP サーバーに変換する機能をサポート — クライアント → MCP Gateway → gRPC
- WebSocket を MCP サーバーに変換する機能をサポート — クライアント → MCP Gateway → WebSocket
- MCP SSE をサポート
- MCP Streamable HTTP をサポート
- テキスト、画像、音声を含む MCP レスポンスをサポート
🧠 セッションとマルチテナントのサポート
- 永続化および復元可能なセッションをサポート
- マルチテナントをサポート
- MCP サーバーのグループ化と集約をサポート
🛠 設定と管理
- 設定の自動取得とシームレスなホットリロード
- 設定の永続化(Disk/SQLite/PostgreSQL/MySQL)
- OS シグナル、HTTP、または Redis PubSub による設定同期
- 設定のバージョン管理
🔐 セキュリティと認証
- MCP サーバー向けの OAuth ベースの事前認証をサポート
🖥 ユーザーインターフェース
- 直感的で軽量な管理 UI
📦 デプロイと運用
- 複数レプリカのサービスをサポート
- Docker をサポート
- Kubernetes と Helm によるデプロイをサポート
📚 ドキュメント
利用パターン、設定例、統合ガイドについて詳しくは、以下をご覧ください。
👉 https://docs.unla.amoylab.com
📄 ライセンス
このプロジェクトは MIT License の下でライセンスされています。
💬 WeChat コミュニティに参加する
以下の QR コードをスキャンして、WeChat で追加してください。メッセージに mcp-gateway、mcpgw、または unla を含めてください。
📈 スター履歴
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。