InfoGrab DocsInfoGrab Docs

MCP 서버 동적 등록

요약

MCP 서버 동적 등록을 사용하면 Teleport 관리자는 Teleport Application Service 인스턴스가 읽는 정적 설정 파일을 업데이트하지 않고도 새 MCP 서버를 등록하거나 기존 MCP 서버를 업데이트/등록 해제할 수 있습니다.

MCP 서버 동적 등록을 사용하면 Teleport 관리자는 Teleport Application Service 인스턴스가 읽는 정적 설정 파일을 업데이트하지 않고도 새 MCP 서버를 등록하거나 기존 MCP 서버를 업데이트/등록 해제할 수 있습니다.

MCP 서버 리소스는 Teleport 백엔드에 app 리소스로 등록됩니다. Application Service 인스턴스는 주기적으로 Teleport Auth Service에 app 리소스를 쿼리하며, 각 리소스에는 Application Service가 애플리케이션을 프록시하는 데 필요한 정보가 포함되어 있습니다.

필요한 권한#

동적으로 등록된 애플리케이션과 상호작용하려면, 사용자는 app 리소스를 관리할 권한이 있는 Teleport 역할을 가지고 있어야 합니다.

다음 예시에서 역할은 사용자가 app 리소스에 대해 가능한 모든 작업을 수행할 수 있도록 허용합니다:

allow:
  rules:
    - resources:
        - app
      verbs: [list, create, read, update, delete]

동적 등록 활성화#

동적 등록을 활성화하려면, 이 서비스가 등록을 위해 모니터링할 리소스 레이블 셀렉터 목록을 담은 resources 섹션을 Application Service 구성에 포함합니다:

app_service:
  enabled: true
  resources:
  - labels:
      "*": "*"

와일드카드 셀렉터를 사용하여 클러스터 내 모든 동적 애플리케이션 리소스를 Application Service에 등록하거나, 특정 레이블 집합을 지정하여 일부만 등록할 수 있습니다:

resources:
- labels:
    "env": "prod"
- labels:
    "env": "test"

MCP 서버 생성#

다음 예시는 docker를 통해 "Everything" MCP 서버를 실행하여 Teleport가 이를 프록시하도록 설정합니다.

kind: app
version: v3
metadata:
  name: everything
  description: The Everything MCP server
  labels:
    env: dev
spec:
  mcp:
    # Command to launch stdio-based MCP servers.
    command: "docker"
    # Args to execute with the command.
    args: ["run", "-i", "--rm", "mcp/everything"]
    # Name of the host user account under which the command will be
    # executed. Required for stdio-based MCP servers.
    run_as_host_user: "docker"

전체 리소스 스펙 참조를 확인하세요.

리소스를 생성하려면 다음을 실행하세요.

# Log in to your cluster with tsh so you can use tctl from your local machine.
# You can also run tctl on your Auth Service host without running "tsh login"
# first.
$ tsh login --proxy=teleport.example.com --user=myuser
$ tctl create mcp_server.yaml

리소스가 생성되면, 적어도 하나의 Application Service 인스턴스가 해당 라벨 셀렉터에 따라 이를 인식하는 한 사용 가능한 MCP 서버 목록(tsh mcp ls 또는 UI에서)에 나타납니다.

기존 애플리케이션 리소스를 업데이트하려면 다음을 실행하세요.

$ tctl create -f mcp_server.yaml

업데이트된 리소스의 라벨이 더 이상 특정 앱 에이전트와 일치하지 않으면 해당 에이전트는 등록을 해제하고 프록시를 중단합니다.

리소스를 삭제하려면 다음을 실행하세요.

$ tctl rm app/everything

MCP 서버 동적 등록

Teleport v18.9
원문 보기
요약

MCP 서버 동적 등록을 사용하면 Teleport 관리자는 Teleport Application Service 인스턴스가 읽는 정적 설정 파일을 업데이트하지 않고도 새 MCP 서버를 등록하거나 기존 MCP 서버를 업데이트/등록 해제할 수 있습니다.

MCP 서버 동적 등록을 사용하면 Teleport 관리자는 Teleport Application Service 인스턴스가 읽는 정적 설정 파일을 업데이트하지 않고도 새 MCP 서버를 등록하거나 기존 MCP 서버를 업데이트/등록 해제할 수 있습니다.

MCP 서버 리소스는 Teleport 백엔드에 app 리소스로 등록됩니다. Application Service 인스턴스는 주기적으로 Teleport Auth Service에 app 리소스를 쿼리하며, 각 리소스에는 Application Service가 애플리케이션을 프록시하는 데 필요한 정보가 포함되어 있습니다.

필요한 권한#

동적으로 등록된 애플리케이션과 상호작용하려면, 사용자는 app 리소스를 관리할 권한이 있는 Teleport 역할을 가지고 있어야 합니다.

다음 예시에서 역할은 사용자가 app 리소스에 대해 가능한 모든 작업을 수행할 수 있도록 허용합니다:

allow:
  rules:
    - resources:
        - app
      verbs: [list, create, read, update, delete]

동적 등록 활성화#

동적 등록을 활성화하려면, 이 서비스가 등록을 위해 모니터링할 리소스 레이블 셀렉터 목록을 담은 resources 섹션을 Application Service 구성에 포함합니다:

app_service:
  enabled: true
  resources:
  - labels:
      "*": "*"

와일드카드 셀렉터를 사용하여 클러스터 내 모든 동적 애플리케이션 리소스를 Application Service에 등록하거나, 특정 레이블 집합을 지정하여 일부만 등록할 수 있습니다:

resources:
- labels:
    "env": "prod"
- labels:
    "env": "test"

MCP 서버 생성#

다음 예시는 docker를 통해 "Everything" MCP 서버를 실행하여 Teleport가 이를 프록시하도록 설정합니다.

kind: app
version: v3
metadata:
  name: everything
  description: The Everything MCP server
  labels:
    env: dev
spec:
  mcp:
    # Command to launch stdio-based MCP servers.
    command: "docker"
    # Args to execute with the command.
    args: ["run", "-i", "--rm", "mcp/everything"]
    # Name of the host user account under which the command will be
    # executed. Required for stdio-based MCP servers.
    run_as_host_user: "docker"

전체 리소스 스펙 참조를 확인하세요.

리소스를 생성하려면 다음을 실행하세요.

# Log in to your cluster with tsh so you can use tctl from your local machine.
# You can also run tctl on your Auth Service host without running "tsh login"
# first.
$ tsh login --proxy=teleport.example.com --user=myuser
$ tctl create mcp_server.yaml

리소스가 생성되면, 적어도 하나의 Application Service 인스턴스가 해당 라벨 셀렉터에 따라 이를 인식하는 한 사용 가능한 MCP 서버 목록(tsh mcp ls 또는 UI에서)에 나타납니다.

기존 애플리케이션 리소스를 업데이트하려면 다음을 실행하세요.

$ tctl create -f mcp_server.yaml

업데이트된 리소스의 라벨이 더 이상 특정 앱 에이전트와 일치하지 않으면 해당 에이전트는 등록을 해제하고 프록시를 중단합니다.

리소스를 삭제하려면 다음을 실행하세요.

$ tctl rm app/everything