/ 디렉터리 / 플레이그라운드 / jetski
● 커뮤니티 hyprmcp ⚡ 바로 사용

jetski

제작: hyprmcp · hyprmcp/jetski

Add OAuth, real-time logs, and prompt analytics to any MCP server without touching its code — auto-generated client onboarding included.

Jetski (hyprmcp) is an MCP gateway that sits in front of your MCP servers, adding OAuth 2.1 + DCR authentication, prompt/tool analytics, and real-time logs. Auto-generates setup instructions for Claude, Cursor, VS Code. Built in Go with a Postgres-backed Angular dashboard and Kubernetes orchestration.

왜 쓰나요

핵심 기능

라이브 데모

실제 사용 모습

jetski.replay ▶ 준비됨
0/0

설치

클라이언트 선택

~/Library/Application Support/Claude/claude_desktop_config.json  · Windows: %APPDATA%\Claude\claude_desktop_config.json
{
  "mcpServers": {
    "jetski": {
      "command": "npx",
      "args": [
        "-y",
        "jetski"
      ],
      "_inferred": true
    }
  }
}

Claude Desktop → Settings → Developer → Edit Config 열기. 저장 후 앱 재시작.

~/.cursor/mcp.json · .cursor/mcp.json
{
  "mcpServers": {
    "jetski": {
      "command": "npx",
      "args": [
        "-y",
        "jetski"
      ],
      "_inferred": true
    }
  }
}

Cursor는 Claude Desktop과 동일한 mcpServers 스키마 사용. 프로젝트 설정이 전역보다 우선.

VS Code → Cline → MCP Servers → Edit
{
  "mcpServers": {
    "jetski": {
      "command": "npx",
      "args": [
        "-y",
        "jetski"
      ],
      "_inferred": true
    }
  }
}

Cline 사이드바의 MCP Servers 아이콘 클릭 후 "Edit Configuration" 선택.

~/.codeium/windsurf/mcp_config.json
{
  "mcpServers": {
    "jetski": {
      "command": "npx",
      "args": [
        "-y",
        "jetski"
      ],
      "_inferred": true
    }
  }
}

Claude Desktop과 같은 형식. Windsurf 재시작 후 적용.

~/.continue/config.json
{
  "mcpServers": [
    {
      "name": "jetski",
      "command": "npx",
      "args": [
        "-y",
        "jetski"
      ]
    }
  ]
}

Continue는 맵이 아닌 서버 오브젝트 배열 사용.

~/.config/zed/settings.json
{
  "context_servers": {
    "jetski": {
      "command": {
        "path": "npx",
        "args": [
          "-y",
          "jetski"
        ]
      }
    }
  }
}

context_servers에 추가. 저장 시 Zed가 핫 리로드.

claude mcp add jetski -- npx -y jetski

한 줄 명령. claude mcp list로 확인, claude mcp remove로 제거.

사용 사례

실전 활용법: jetski

Add OAuth to an MCP server that doesn't speak it

👤 Platform teams deploying MCPs to users beyond themselves ⏱ ~60 min advanced

언제 쓸까: Your MCP works great locally but the upstream has no auth; you need identity before exposing it.

사전 조건
  • Kubernetes cluster (or k3s/minikube for dev) — Jetski uses Metacontroller + CRDs
  • PostgreSQL — Any reachable PG; Jetski creates its schema
흐름
  1. Deploy Jetski
    Apply Jetski's Helm chart to my cluster; confirm all pods ready.✓ 복사됨
    → Gateway + dashboard live
  2. Register your MCP upstream
    Add my internal MCP at svc.internal:9000 behind Jetski with OAuth required.✓ 복사됨
    → Jetski URL returned
  3. Share onboarding link
    Give me the copy/paste Claude Desktop config for this gateway URL.✓ 복사됨
    → Working config snippet

결과: An authenticated, per-user MCP without touching upstream code.

함정
  • Dex OIDC misconfig leaves users in a redirect loop — Verify issuer URL matches what clients see externally (not internal cluster DNS)
  • DCR creates tons of orphan clients over time — Prune stale clients periodically; Dex supports TTL
함께 쓰기: agent · proxy-2

See exactly which prompts trigger which tools

👤 MCP authors and prompt engineers ⏱ ~30 min intermediate

언제 쓸까: Users report 'it's not working' and you have no visibility into what they're saying.

흐름
  1. Open analytics
    Show me today's top 10 prompts and the tool calls each triggered.✓ 복사됨
    → Prompt-to-tool breakdown
  2. Find the failure pattern
    Filter to tool calls that returned errors. What's the common prompt shape?✓ 복사됨
    → Error clusters
  3. Improve tool description
    Propose a tool-description tweak that would route ambiguous prompts to the right tool.✓ 복사됨
    → Concrete change

결과: Data-driven improvements to your tool surface.

Onboard a teammate in one click

👤 Team leads adding people to MCP tooling ⏱ ~10 min beginner

언제 쓸까: You've set up a gateway and don't want to write setup docs.

흐름
  1. Generate onboarding
    Give teammate Alice a one-click onboarding URL for the gateway.✓ 복사됨
    → Shareable URL with per-client instructions
  2. Verify
    Confirm Alice shows up in today's analytics and her tokens are provisioned.✓ 복사됨
    → Alice visible, tools callable

결과: Zero-doc onboarding.

조합

다른 MCP와 조합해 10배 효율

jetski + agent

1mcp/agent aggregates; Jetski adds analytics on top

Put 1mcp/agent behind Jetski so we get aggregation + OAuth + analytics in one stack.✓ 복사됨
jetski + vurb-ts

Build with Vurb, operate behind Jetski

Deploy my Vurb-built MCP behind Jetski for auth and observability without code changes.✓ 복사됨

도구

이 MCP가 노출하는 것

도구입력언제 호출비용
(gateway) All upstream MCP tools pass through with OAuth Any tool invocation through Jetski 1 upstream call
admin_register_upstream name, url, auth_required Adding a new upstream (admin-only) free

비용 및 제한

운영 비용

API 쿼터
None — passes through
호출당 토큰
Minimal gateway overhead
금액
Free, open source
Run Postgres on a small shared instance; logs and analytics are the main storage cost.

보안

권한, 시크릿, 파급범위

최소 스코프: OAuth configuration at your IdP
자격 증명 저장: Env-driven; Postgres holds sessions + client registrations
데이터 외부 송신: Upstream MCP calls; OIDC to your configured IdP
절대 부여 금지: Admin scope to end users

문제 해결

자주 발생하는 오류와 해결

OIDC issuer mismatch

Issuer URL in Dex must match what clients see externally, not internal cluster DNS.

확인: curl /.well-known/openid-configuration from outside
Empty analytics dashboard

Ensure gateway is in front of at least one request; dashboard updates in near-real-time.

확인: Make a test tool call and refresh
PG connection errors

Verify DATABASE_URL env and network policy allow gateway → PG.

확인: kubectl exec into gateway pod and psql the URL

대안

jetski 다른 것과 비교

대안언제 쓰나단점/장점
1mcp/agentYou want OAuth + aggregation without K8sNo Postgres-backed analytics dashboard
tbxark/mcp-proxyMinimal; just aggregate, no authNo auth, no analytics
Build your own with Kong/EnvoyYou already have a service-mesh cultureSignificant custom work for MCP-specific routing

더 보기

리소스

📖 GitHub에서 공식 README 읽기

🐙 열린 이슈 보기

🔍 400+ MCP 서버 및 Skills 전체 보기