참고 항목
- 구성된 MCP 레지스트리를 기반으로 사용 가능한 MCP 서버의 표시 기능은 VS Code Stable 및 Insiders에서 지원됩니다.
- "Registry only" 설정에 대한 정책 적용은 현재 VS Code Insiders에서만 사용할 수 있으며, VS Code Stable에서는 2025년 10월부터 지원됩니다. MCP 레지스트리 및 허용 목록 지원은 향후 몇 개월 안에 다른 모든 Copilot IDE에 제공될 예정입니다.
개요
MCP 레지스트리는 IDE 및 Copilot(및 기타 호스트 애플리케이션)을 위한 일종의 카탈로그 역할을 하는 MCP(모델 컨텍스트 프로토콜) 서버의 디렉터리입니다. 각 레지스트리 항목은 서버의 매니페스트를 가리키며, 여기에는 서버가 제공하는 도구, 리소스, 프롬프트가 설명되어 있습니다.
엔터프라이즈나 조직 소유자는 액세스 제어 정책과 함께 MCP 레지스트리 URL을 구성하여, 개발자가 GitHub Copilot을 통해 지원하는 IDE에서 볼 수 있고 실행할 수 있는 MCP 서버를 결정할 수 있습니다.
MCP 레지스트리를 구성하여 다음을 수행할 수 있습니다.
- 개발자가 발견하고 사용할 수 있는 MCP 서버의 큐레이팅된 카탈로그 제공
- 승인되지 않은 서버에 대한 액세스 제한을 통해 더욱 세부적인 액세스 제어 가능
- 정책에 의해 차단된 서버에 대해 개발자가 명확히 인식할 수 있도록 지원
아직 MCP 레지스트리를 설정하지 않았다면, 이 문서의 후반부에 있는 MCP 레지스트리 설정을 참조하세요.
MCP 정책 설정 정보
다음 설정을 통해 조직 또는 엔터프라이즈에서 MCP 서버를 검색하고 액세스하는 방법을 제어할 수 있습니다.
MCP 서버 정책
먼저, 전반적인 Copilot의 MCP 서버 정책을 설정해야 합니다.
- 사용: MCP 서버 사용 허용(기본 동작은 레지스트리 구성에 따라 다름)
- 사용 안 함: 이 엔터프라이즈 또는 조직의 Copilot 사용자 라이선스를 보유한 사용자는 MCP 서버를 사용할 수 없음
- 정책 없음(엔터프라이즈 전용): 자식 조직은 자체 MCP 정책을 설정할 수 있음
MCP 레지스트리 URL
MCP Registry URL은 검색 가능하거나 제한된 내부 MCP 레지스트리의 엔드포인트를 지정하는 선택 필드입니다.
구성 시:
- 레지스트리에 나열된 서버는 MCP를 지원하는 IDE에 표시됩니다.
- "Restrict MCP access to registry servers" 옵션을 사용하도록 설정합니다.
"Restrict MCP access to registry servers" 설정
Restrict MCP access to registry servers 설정에서 레지스트리 기반 액세스를 얼마나 엄격하게 적용할지 선택할 수 있습니다.
- Allow all(기본값): 개발자는 모든 로컬 및 원격 MCP 서버를 실행할 수 있습니다. 레지스트리 서버는 더 쉽게 검색할 수 있도록 IDE 카탈로그에 큐레이팅된 목록으로 계속 표시됩니다.
- Registry only: 개발자는 업로드된 MCP 레지스트리에 명시적으로 나열된 MCP 서버만 실행할 수 있습니다. 그 외의 모든 서버는 원격(호스트됨) 서버이든 또는 사용자의 머신(클라이언트 측)에서 실행되는 로컬 서버이든 관계없이 런타임 시 차단됩니다. IDE UI에서는 차단된 서버가 경고 메시지와 함께 회색으로 표시됩니다.
mcp.json
구성 파일에서는"run": "blocked"
로 표시될 수 있습니다.
경고
- 올바른 형식의 MCP 레지스트리 URL을 제공하고 "Save"를 클릭하지 않으면 "Registry only" 옵션을 구성할 수 없습니다.
- "Registry only" 적용은 현재 VS Code Insiders에서만 활성화되어 있습니다. 다른 Copilot 환경에 대한 지원은 향후 몇 개월 안에 추가될 예정입니다.
엔터프라이즈용 MCP 허용 목록 정책 구성
- GitHub의 오른쪽 위 모서리에서 프로필 사진을 클릭합니다.
- 사용자 환경에 따라 사용자 엔터프라이즈를 클릭하거나 사용자 엔터프라이즈를 클릭한 다음, 보고 싶은 엔터프라이즈를 클릭합니다.
- 페이지 상단에서 정책을 클릭합니다.{ %else %}페이지의 왼쪽에 있는 엔터프라이즈 계정 사이드바에서 정책을 클릭합니다.
- "Policies" 섹션에서 Copilot 를 클릭하세요.
- 페이지에 정책이 나열되어 있지 않으면 Policies 탭을 클릭하세요.
- "Features" 아래에서 MCP servers in Copilot 이 Enabled로 설정되어 있는지 확인합니다.
- MCP Registry URL (optional) 필드에 사양을 준수하는 MCP 레지스트리의 URL을 입력합니다.
- 저장을 클릭합니다.
- Restrict MCP access to registry servers 옆에 있는 드롭다운에서 다음 중 하나를 선택합니다.
-
Allow all: 제한이 없습니다. 모든 MCP 서버를 사용할 수 있습니다.
-
Registry only: 레지스트리의 서버만 실행할 수 있습니다.
참고 항목
레지스트리 URL이 설정되지 않은 경우, "Registry only" 옵션은 모든 MCP 서버를 차단합니다.
-
선택한 정책은 엔터프라이즈의 개발자에게 즉시 적용됩니다.
조직용 MCP 허용 목록 정책 구성
- GitHub의 오른쪽 위 모서리에서 프로필 사진을 클릭한 다음, Your organizations를 클릭합니다.
- 조직 옆에 있는 설정을 클릭합니다.
- 사이드바의 "Code, planning, and automation"에서 Copilot 을 클릭한 다음, Policies를 클릭합니다.
- "Features" 아래에서 MCP servers in Copilot 이 Enabled로 설정되어 있는지 확인합니다.
- MCP Registry URL (optional) 필드에 사양을 준수하는 MCP 레지스트리의 URL을 입력합니다.
- 저장을 클릭합니다.
- Restrict MCP access to registry servers 옆에 있는 드롭다운에서 다음 중 하나를 선택합니다.
-
Allow all: 제한이 없습니다. 모든 MCP 서버를 사용할 수 있습니다.
-
Registry only: 레지스트리의 서버만 실행할 수 있습니다.
참고 항목
레지스트리 URL이 설정되지 않은 경우, "Registry only" 옵션은 모든 MCP 서버를 차단합니다.
-
선택한 조직은 엔터프라이즈의 개발자에게 즉시 적용됩니다.
MCP 허용 목록은 어떻게 적용되나요?
GitHub는 MCP 허용 목록 적용을 위해 다음 전략을 사용합니다.
로컬 서버
MCP 허용 목록 적용은 로컬 MCP 서버에도 동일하게 적용됩니다. "Registry only"가 구성된 경우, 허용하려면 로컬 서버를 레지스트리에 포함해야 합니다.
레지스트리에 로컬 서버 포함:
- 로컬 서버는 올바른 서버 ID로 레지스트리에 나열되어야 합니다.
- 서버 ID는 레지스트리 항목과 설치된 서버 간에 정확히 일치해야 합니다.
- 서버의 문서 또는 매니페스트에서 Canonical ID를 참조하세요.
- 조직 전체에서 일관된 배포를 위해 사용자가 예상 ID를 사용하여 서버를 설치하도록 하는 설치 지침을 제공합니다.
여러 라이선스를 보유한 사용자의 정책 해결
MCP 허용 목록 적용은 항상 GitHub Copilot 사용자 수를 할당하는 조직 또는 엔터프라이즈에 연결됩니다. 사용자가 여러 개의 라이선스를 가지고 있는 경우(예: 여러 조직에 속해 있거나 엔터프라이즈와 그 자식 조직 모두에 속해 있는 경우), GitHub는 자동으로 충돌을 해결하고 단일 활성 정책을 적용합니다.
해결 논리는 다음과 같습니다.
- Scope: 부모 엔터프라이즈에서 설정한 정책은 조직에서 설정한 정책을 재정의합니다. 엔터프라이즈 정책은 해당 엔터프라이즈 내의 모든 조직과 구성원에게 적용됩니다.
- Enforcement strictness:
Registry only
가Allow all
보다 우선합니다. - Recency of registry upload: 두 정책의 범위와 엄격성이 동일하다면, 가장 최근에 업로드(저장)된 레지스트리가 우선합니다.
- Tie-breaker: 다른 모든 조건이 동일하다면, 가장 낮은 내부 ID가 우선합니다(드물게 발생하는 예외 사례).
중요
현재는 하나의 레지스트리 URL만 사용자에게 적용할 수 있습니다. 여러 조직 또는 엔터프라이즈가 서로 다른 레지스트리를 제공하더라도, 위의 규칙에 따라 결정되는 성공적인 레지스트리만 사용됩니다.
권장 사항: 일관성을 보장하고 여러 조직에서 충돌을 방지하려면 가능할 때마다 항상 **엔터프라이즈 **수준에서 MCP 레지스트리 URL 및 허용 목록 정책을 설정하고 유지 관리합니다.
MCP 레지스트리 설정
아직 MCP 레지스트리를 구성하지 않았다면, 필요에 따라 만들 수 있는 몇 가지 방법이 있습니다.
단순/정적 레지스트리
기본적으로 레지스트리는 MCP 서버 매니페스트 목록을 제공하는 HTTPS 엔드포인트일 뿐입니다. GitHub Pages, S3 버킷, 웹 서버에 정적 JSON 파일로 게시할 수 있습니다. 가장 빠르고 가장 간단한 방법입니다.
레지스트리 형식 예시
레지스트리는 다음과 같은 구조의 JSON 응답을 반환해야 합니다.
{
"servers": [
{
"id": "github",
"name": "GitHub MCP Server",
"description": "Tools and resources for GitHub repos, issues, PRs, and Actions.",
"manifest_url": "https://registry.yourcompany.com/servers/github/manifest.json",
"categories": ["code", "devops", "github"],
"version": "1.0.0",
"release_date": "2025-09-01T00:00:00Z",
"latest": true
},
{
"id": "local-linter",
"name": "Local Linter",
"description": "Runs lint checks against local files",
"manifest_url": "file:///path/to/local/manifest.json",
"categories": ["linting", "local", "devtools"],
"version": "1.0.0",
"release_date": "2025-09-01T00:00:00Z",
"latest": true
}
],
"total_count": 2,
"updated_at": "2025-09-09T12:00:00Z"
}
필수 필드:
id
: 서버의 고유 식별자name
: 서버 표시 이름description
: 서버 기능에 대한 간단한 설명manifest_url
: 서버의 MCP 매니페스트를 가리키는 URL
추가 메타데이터를 제공하는 선택적 필드:
categories
: 범주 태그 배열version
: 버전 식별자release_date
: ISO 형식의 릴리스 날짜latest
: 해당 버전이 최신 버전인지 여부를 나타내는 부울- 루트 수준의
total_count
및updated_at
과 같은 추가 필드 가능
Azure API 센터
동적인 완전 관리형 옵션을 원하는 엔터프라이즈의 경우, Azure API 센터(Azure API Management 일부)를 MCP 레지스트리로 사용할 수 있습니다. 이 기능은 거버넌스, 검색 UI, 기존 API 카탈로그와의 통합을 제공합니다.
Azure API Center를 사용하여 설정하는 단계:
- Azure API Center 포털로 이동합니다.
- 새 API Center 인스턴스를 만들거나 기존 인스턴스를 다시 사용합니다.
- 매니페스트 및 메타데이터를 포함하여 MCP 서버를 API로 추가합니다.
- API Center 인스턴스를 게시합니다.
- API Center 엔드포인트 URL을 복사합니다. 이 URL이 MCP 레지스트리 URL이 됩니다.
- GitHub Enterprise 또는 조직 설정의 MCP Registry URL (optional) 필드에 이 URL을 붙여넣습니다.
참고 항목
Azure API Center에는 기본 API 카탈로그 및 검색을 위한 무료 계층이 포함되어 있습니다. 대규모 조직에서는 더 높은 스케일링 및 고급 거버넌스를 위해 유료 Azure API Management 플랜을 사용하도록 선택할 수 있습니다.
자세한 내용은 Azure API Center 문서 및 Azure API Center 빠른 시작을 참조하세요.