PM

punkpeye/mcp-remote

Developer tools

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

1.7천 stars 313 forks 품질 90 트렌드 40MIT

로컬 서버만 지원하는 MCP 클라이언트를 원격 MCP 서버에 연결합니다.

개요

로컬 서버만 지원하는 MCP 클라이언트를 인증 지원이 있는 원격 MCP 서버에 연결합니다: 지금까지 대부분의 MCP 서버는 stdio 전송을 통해 로컬에 설치되어 있습니다. 이 방법은 몇 가지 장점이 있습니다: 클라이언트와 서버 모두 사용자가 실행 권한을 부여했기 때문에 서로를 암묵적으로 신뢰할 수 있습니다. API 키 같은 비밀 추가는 환경 변수를 사용해 할 수 있으며 기기를 떠나지 않을 수 있습니다. 또한 npx와 uvx 기반 구축 덕분에 사용자는 명시적인 설치 단계를 피할 수 있습니다. 하지만 웹으로 옮길 수 있었던 대부분의 소프트웨어가 웹으로 옮겨진 데는 이유가 있습니다. 한 번의 배포로 모든 사용자에게 업데이트를 배포할 수 있을 때, 버그를 찾고 수정하며 새로운 기능을 반복하는 것이 훨씬 쉬워졌기 때문입니다. 최신 MCP 인증 사양 덕분에 사용자 노트북에서 코드를 실행하지 않고도 MCP 서버를 전 세계와 안전하게 공유할 수 있는 방법을 갖게 되었습니다. 적어도 모든 인기 있는 MCP 클라이언트가 이를 지원한다면 그럴 것입니다.

개요(AI 번역)

로컬 서버만 지원하는 MCP 클라이언트를 인증 지원이 있는 원격 MCP 서버에 연결합니다:

왜 이게 필요한가?

지금까지 대부분의 MCP 서버는 stdio 전송을 통해 로컬에 설치되어 있습니다. 이런 방식에는 몇 가지 이점이 있습니다: 클라이언트와 서버 모두 사용자가 실행 권한을 부여했기 때문에 서로를 암묵적으로 신뢰할 수 있습니다. API 키 같은 비밀 추가는 환경 변수를 사용해 할 수 있으며 컴퓨터에서 벗어나지 않아도 됩니다. 또한 npx와 [uvx를 기반으로 구축함으로써 사용자는 명시적인 설치 단계를 피할 수 있게 되었습니다.

하지만 대부분의 소프트웨어가 웹으로 옮겨진 데는 이유가 있습니다: 한 번의 배포로 모든 사용자에게 업데이트를 푸시할 수 있을 때 버그를 찾고 수정하며 새로운 기능을 반복하는 것이 훨씬 쉽습니다.

최신 MCP 인증 사양 덕분에 사용자 노트북에서 코드를 실행하지 않고도 MCP 서버를 안전하게 전 세계와 공유할 수 있는 방법이 생겼습니다. 적어도 모든 인기 있는 MCP _클라이언트_가 이미 지원한다면 그럴 것입니다. 대부분은 stdio 전용이며, HTTP+SSE를 지원하는 서버들은 아직 필요한 OAuth 플로우를 지원하지 않습니다.

바로 그 점에서 mcp-remote가 등장합니다.

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

README

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

mcp-remote

Connect an MCP Client that only supports local (stdio) servers to a Remote MCP Server, with auth support:

Why is this necessary?

So far, the majority of MCP servers in the wild are installed locally, using the stdio transport. This has some benefits: both the client and the server can implicitly trust each other as the user has granted them both permission to run. Adding secrets like API keys can be done using environment variables and never leave your machine. And building on npx and uvx has allowed users to avoid explicit install steps, too.

But there’s a reason most software that could be moved to the web did get moved to the web: it’s so much easier to find and fix bugs & iterate on new features when you can push updates to all your users with a single deploy.

With the latest MCP Authorization specification, we now have a secure way of sharing our MCP servers with the world without running code on user’s laptops. Or at least, you would, if all the popular MCP clients supported it yet. Most are stdio-only, and those that do support HTTP+SSE don’t yet support the OAuth flows required.

That’s where mcp-remote comes in. As soon as your chosen MCP client supports remote, authorized servers, you can remove it. Until that time, drop in this one liner and dress for the MCP clients you want!

Usage

All the most popular MCP clients (Claude Desktop, Cursor & Windsurf) use the following config format:

{
  "mcpServers": {
    "remote-example": {
      "command": "npx",
      "args": [
        "mcp-remote",
        "https://remote.mcp.server/sse"
      ]
    }
  }
}

Custom Headers

To bypass authentication, or to emit custom headers on all requests to your remote server, pass --header CLI arguments:

{
  "mcpServers": {
    "remote-example": {
      "command": "npx",
      "args": [
        "mcp-remote",
        "https://remote.mcp.server/sse",
        "--header",
        "Authorization: Bearer ${AUTH_TOKEN}"
      ],
      "env": {
        "AUTH_TOKEN": "..."
      }
    },
  }
}

Note: Cursor, Codex-Cli and Claude Desktop (Windows) have a bug where spaces inside args aren’t escaped when it invokes npx, which ends up mangling these values. You can work around it using:

{
  // rest of config...
  "args": [
    "mcp-remote",
    "https://remote.mcp.server/sse",
    "--header",
    "Authorization:${AUTH_HEADER}" // note no spaces around ':'
  ],
  "env": {
    "AUTH_HEADER": "Bearer " // spaces OK in env vars
  }
},

To keep a credential out of the process arguments — where any other user on the machine can read it from the process list — put the headers in a file instead and pass --header-file. One Name: value per line; # starts a comment.

      "args": [
        "mcp-remote",
        "https://remote.mcp.server/sse",
        "--header-file",
GitHub에서 전체 README 보기

설치

npx mcp-remote https://remote.mcp.server/sse
MCP 초보자라면? mcpskill.org 가이드부터 시작하세요 →

설정

{ "mcpServers": { "remote-example": { "command": "npx", "args": [ "mcp-remote", "https://remote.mcp.server/sse" ] } } }