
lucky-aeon/mcp-gateway
Developer toolsЭта страница переведена автоматически. Технические детали смотрите в оригинале. Открыть оригинал
lucky-aeon/mcp-gateway - кандидат на сервер MCP, импортированный из T0
Обзор
lucky-aeon/mcp-gateway - кандидат на сервер MCP, импортированный из T0
Обзор (машинный перевод)
Описание
Шлюз MCP — это обратный прокси-сервер, который пересылает запросы клиентов на сервер MCP или использует все серверы MCP под шлюзом через унифицированный портал.
Поддержка двух транспортных протоколов (переключаемых при запуске):
SSE (по умолчанию, устаревший транспорт MCP)
Streamable HTTP (MCP spec 2025-03-26)
Особенности
Развертывание нескольких MCP-серверов Подключение к MCP-серверу Используйте шлюз для вызова MCP-серверов Получите все потоки SSE MCP-серверов Получите все инструменты MCP-серверов
- потоковая HTTP-агрегированная конечная точка с управлением сеансом через заголовок
Mcp-Session-IdДинамическая агрегация возможностей (шлюз рекламирует только те возможности, которые поддерживает хотя бы один MCP) MCP OAuth 2.1 аутентификации сервера ресурсов с обнаружением метаданных защищенного ресурса
##Установка
- вытащить пакет github
2 Самосоздание Docker Image
Использование
Скачать GitHub Docker Container
Создайте самодельный контейнер
Конфигурация
Ворота читают config.json из каталога конфигураций (по умолчанию ./vm, когда присутствуют, в противном случае .). Минимальный пример:
Ключевые поля:
| Поле | Дефолт | Описание
Эта страница переведена автоматически. Технические детали смотрите в оригинале.
README
Показан фрагмент оригинального README. Открыть оригинал.
MCP Gateway
Description
The MCP gateway is a reverse proxy server that forwards requests from clients to the MCP server or uses all MCP servers under the gateway through a unified portal.
Supports two transport protocols (switchable at startup):
- SSE (default, legacy MCP transport)
- Streamable HTTP (MCP spec
2025-03-26)
Features
- Deploy multiple MCP servers
- Connect to MCP server
- Use gateway to call MCP servers
- Get all MCP servers’ SSE streams
- Get all MCP servers’ tools
- Streamable HTTP aggregated endpoint with session management via
Mcp-Session-Idheader - Dynamic capability aggregation (gateway only advertises capabilities that at least one downstream MCP supports)
- MCP OAuth 2.1 resource server authentication with Protected Resource Metadata discovery
Installation
- pull github package
docker pull ghcr.io/lucky-aeon/mcp-gateway:latest
- self build docker image
docker build -t mcp-gateway .
Usage
run github docker container
docker run -d --name mcp-gateway -p 8080:8080 ghcr.io/lucky-aeon/mcp-gateway
run self build docker container
docker run -d --name mcp-gateway -p 8080:8080 mcp-gateway
Configuration
The gateway reads config.json from the config directory (defaults to ./vm when present, otherwise .). A minimal example:
{
"LogLevel": 0,
"Bind": "[::]:8080",
"Auth": {
"Enabled": true,
"AuthorizationServers": ["https://auth.example.com"],
"TokenIssuer": "https://auth.example.com",
"TokenJWKSURI": "https://auth.example.com/.well-known/jwks.json",
"TokenAudience": "http://localhost:8080/stream",
"RequiredScopes": ["mcp:read"],
"ScopesSupported": ["mcp:read"]
},
"GatewayProtocol": "all",
"McpServiceMgrConfig": {
"McpServiceRetryCount": 3
}
}
Key fields:
| Field | Default | Description |
|---|---|---|
Bind |
[::]:8080 |
Server listen address. |
GatewayProtocol |
all |
Exposed gateway protocols: all, sse, or streamhttp. Also overridable via --protocol flag. |
Auth.Enabled |
true |
Whether to enforce authentication. Set false for local unauthenticated MCP use. |
Auth.ApiKey |
123456 |
Legacy single-key management API login token; not used as MCP auth. |
Auth.Mode |
single-key |
single-key or saas. SaaS mode uses MCP Gateway accounts and password login. |
Установка
uvx mcp-server-time --local-timezone=America/New_YorkКонфигурация
POST /deploy HTTP/1.1
Host: localhost:8080
Content-Type: application/json
{
"mcpServers": {
"time": {
"url": "http://mcp-server:8080", // url 和 command 二选一
"command": "uvx", // url 和 command 二选一
"args": ["mcp-server-time", "--local-timezone=America/New_York"], // 可选,command 的参数
"env": { // 可选,环境变量
"KEY1": "VALUE1",
"KEY2": "VALUE2"
}
}
}
}