HI

helv-io/skgate

Developer tools

Эта страница переведена автоматически. Технические детали смотрите в оригинале. Открыть оригинал

13 stars 0 forks Качество 82 Тренд 29MIT

Self-hosted MCP gateway and LLM proxy. Serve any MCP server or REST API behind OAuth 2.1, run stdio/git MCP servers on demand, and proxy AI providers (OpenAI, Anthropic, Gemini, Grok, Ollama) through...

Обзор

Self-hosted MCP gateway and LLM proxy. Serve any MCP server or REST API behind OAuth 2.1 from one address, and proxy your LLM providers (OpenAI, Anthropic, Gemini, Grok, Ollama and more) through one OpenAI-compatible API with model aliases and virtual keys. Your Grok subscription works too, no API key needed. Any MCP server. skgate can run them for you, so you do not need one container per server. "sk" is how a lot of SI API keys start, and "gate" is for gateway. Not a great name, but it's ours. The plane in the logo is an inside joke. The public wouldn't understand it, and I'm not about to explain it. Sorry. You need an OIDC provider with a confidential client for skgate. Admin login is OIDC only. Trying it on one machine? docs/quickstart.md runs skgate with a bundled provider and no accounts. 1. docker compose up -d 2. Open https://skgate.example.com/admin and sign in through your OIDC provider. 3.

README

Показан фрагмент оригинального README. Открыть оригинал.

skgate

Self-hosted MCP gateway and LLM proxy. Serve any MCP server or REST API behind OAuth 2.1 from one address, and proxy your LLM providers (OpenAI, Anthropic, Gemini, Grok, Ollama and more) through one OpenAI-compatible API with model aliases and virtual keys. Your Grok subscription works too, no API key needed.

Any MCP server. skgate can run them for you, so you do not need one container per server.

Name Origin

skgate /ɛsˈkɑːɡeɪt/ (ess-KAH-gate)

“sk” is how a lot of SI API keys start, and “gate” is for gateway. Not a great name, but it’s ours.

The plane in the logo is an inside joke. The public wouldn’t understand it, and I’m not about to explain it. Sorry.

Quality

Quick start

You need an OIDC provider with a confidential client for skgate. Admin login is OIDC only. Trying it on one machine? docs/quickstart.md runs skgate with a bundled provider and no accounts.

# docker-compose.yml
services:
  skgate:
    container_name: skgate
    image: ghcr.io/helv-io/skgate:latest
    restart: always
    ports:
      - 8080:8080
    environment:
      - PUBLIC_URL=https://skgate.example.com
      - OIDC_ISSUER=https://auth.example.com
      - OIDC_CLIENT_ID=skgate
      - OIDC_CLIENT_SECRET=change-me
    volumes:
      - ./data:/data
    healthcheck:
      test: ["CMD", "/skgate", "healthcheck"]
      interval: 30s
      timeout: 5s
      retries: 3
  1. docker compose up -d
  2. Open https://skgate.example.com/admin and sign in through your OIDC provider.
  3. mcp upstreams > Add upstream: a remote MCP server, or a GitHub repository, npm package, or PyPI package that skgate runs for you (see Add an MCP server with Suggest configuration).
  4. Point your MCP client at https://skgate.example.com/mcp or the site root for every included upstream, or at https://skgate.example.com/mcp/ for one upstream. Sign in when it asks.

Image tags:

  • latest: proxy + managed MCP servers. Bundles Node.js (npx), pnpm, Bun (bunx), Deno, Python (uv, uvx), Go, .NET and git.
  • slim: proxy only

To upgrade, back up ./data, then docker compose pull && docker compose up -d.

Proxy your SI providers

skgate is also an OpenAI-compatible API in front of your SI providers. Point your apps at one address; switch the provider behind them without changing the apps. User-defined model aliases give your apps a stable model name of your choosing.

Открыть полный README на GitHub

Установка

uvx mcp-server-time
Новичок в MCP? Начните с руководства на mcpskill.org →

Конфигурация

{"mcpServers": {"skgate": {"type": "http", "url": "https://skgate.example.com/mcp/<alias>", "headers": {"Authorization": "Bearer sk-..."}}}}