AM

asashiki/mcp-switch

Developer tools

이 페이지는 AI로 자동 번역되었습니다. 기술적인 세부 사항은 원문을 확인하세요. 원문 보기

23 stars 1 forks 품질 79 트렌드 18MIT

로컬 stdio 및 원격 HTTP MCP 서버를 하나의 OAuth 엔드포인트에 통합 한 셀프 호스팅 게이트웨이 - 한 번 연결, 모든 AI에서 도구에 도달.

개요

웹/앱 AIs는 MCP 서버에만 연결하고, 그들 중 대부분은 당신 다만 주문 연결관 구멍 줍니다. 그 사이에 유용한 MCP 서버는 클래드 데스크탑 / CLI 만 도달 할 수있는 (npx/uvx stdio 프로세스)입니다. - MCP 서버의 모든 수 - 원격 (URL) 또는 로컬 (당신의 상자에서 호스팅) - 한 엔드 포인트로. - 당신의 AI는 단 하나 연결관을 봅니다; 뒤에 그것은 당신의 공구 전부입니다. - - 서버, 그룹 도구, 에이전트가 무엇을 볼 수있는 범위, 감사 로그를보십시오. - 지원되는 브라우저 에이전트는 게이트웨이를 검사 할 수 있으며, App Lab 진단을 열고 같은 서명 페이지의 검토 전용 연결 초안을 준비합니다. - MCP의 Switch는 자체의 도구가 없습니다. 도구, 스키마, 결과 및 MCP-Apps UI 위젯을 투명하게 전달합니다. 별도의 백엔드 없음, 인터 서비스 HTTP 없음 - 게이트웨이는 업스트림 서버에 직접 이야기하고 그들을 집계합니다. - 건강: 컬 http://127.0.0.1:4577/health - 콘솔: 오픈 http://127.0.0.

개요(AI 번역)

** 로컬 및 원격 MCP 서버에 대한 하나의 자체 호스팅 엔드 포인트. **

English · 한국어

12.1 **원래 콘솔 데모 ** ·


왜

웹/앱 AIs는 remote MCP 서버에서만 연결할 수 있으며, 그 중 대부분은 당신을 제공합니다. ** 하나 ** 주문 연결관 구멍. 그 사이에 유용한 MCP 서버는 local (npx]/uvx stdio process)는 Claude Desktop / CLI만 도달할 수 있습니다.

사이트맵 스위치는 중간에 앉습니다:

  • **Aggregate ** MCP 서버 수 - 원격 (URL) 또는 로컬 (stdio, 호스트 당신의 상자) — 1개의 엔드포인트로.
  • ** 한 번 연결.** AI는 단 하나 연결관을 봅니다; 뒤에 그것은 모든 공구입니다.
  • ** 콘솔에서 관리 ** - 서버 추가, 그룹 도구, 에이전트가 무엇을 볼 수있는 범위, 감사 로그보기.
  • **WebMCP를 통해 콘솔에서 작업 ** - 지원되는 브라우저 에이전트는 검사 할 수 있습니다 Gateway, open App Lab 진단 및 검토 전용 연결 초안 준비 같은 로그인 페이지에서. -Pure 릴레이. MCP Switch는 자체의 도구가 없습니다. 도구, 스키마, 결과 및 MCP-Apps UI 위젯은 투명하게.

건축

A ** 단일 서비스 ** (:4577) + 콘솔 SPA 그것은 봉사:

| 역할 | |—|||

이 페이지는 AI로 자동 번역되었습니다. 기술적인 세부 사항은 원문을 확인하세요.

README

원문 README의 일부입니다. 원문 보기.


Why

Web/app AIs can only connect to remote MCP servers, and most of them give you just one custom connector slot. Meanwhile half the useful MCP servers are local (npx/uvx stdio processes) that only Claude Desktop / a CLI can reach.

MCP Switch sits in the middle:

   local stdio MCP  ─┐
                     ┼──►  MCP Switch  ──►  one OAuth URL  ──►  claude.ai / ChatGPT / …
   yet another MCP  ─┘     (your VPS)
  • Aggregate any number of MCP servers — remote (URL) or local (stdio, hosted on your box) — into one endpoint.
  • Connect once. Your AI sees a single connector; behind it are all your tools.
  • Manage from a console — add servers, group tools, scope which agent sees what, watch an audit log.
  • Work with the console through WebMCP — supported browser agents can inspect the gateway, open App Lab diagnostics, and prepare review-only connection drafts in the same signed-in page.
  • Pure relay. MCP Switch ships no tools of its own; it forwards tools, schemas, results and even MCP-Apps UI widgets transparently.

Architecture

A single service (:4577) + a console SPA it serves:

Part Role
MCP gateway Public MCP endpoint (/mcp), OAuth 2.1, management console (/console)
Registry Connects to upstream MCP servers in-process — remote (HTTP) and local (stdio)
Store One SQLite file: agents, OAuth, audit, the skill registry, and the server registry

No separate backend, no inter-service HTTP — the gateway talks to upstream servers directly and aggregates them.

Quick start (Docker)

git clone https://github.com/asashiki/mcp-switch.git
cd mcp-switch
cp .env.example .env
# edit .env → set MCP_PUBLIC_URL to enable OAuth + the console (leave empty for local)

docker compose -f infra/docker/compose.yaml --env-file .env up -d --build

Then:

  • Health: curl http://127.0.0.1:4577/health
  • Console: open http://127.0.0.1:4577/console (set a password first — see below)

Behind a reverse proxy on the same VPS? Set MCP_PUBLIC_URL; keep the host-side port bound to 127.0.0.1.

Set the console password

docker compose -f infra/docker/compose.yaml exec mcp-switch \
  node dist/cli/console-admin.js set admin "your-password"

Quick start (local dev)

pnpm install
cp .env.example .env          # leave MCP_PUBLIC_URL empty for an anonymous local /mcp
pnpm dev                      # gateway :4577 + console :5173
GitHub에서 전체 README 보기

설치

npx -y steam-mcp-server
MCP 초보자라면? mcpskill.org 가이드부터 시작하세요 →

설정

{ "mcpServers": { "context7": { "serverUrl": "https://mcp.context7.com/mcp", "headers": { "CONTEXT7_API_KEY": "..." } }}}