MCP 레지스트리

MCP 레지스트리 (The MCP Registry)

MCP 레지스트리는 공개적으로 접근 가능한 MCP 서버를 위한 공식 중앙 메타데이터 저장소예요. Anthropic, GitHub, PulseMCP, Microsoft 등 MCP 생태계의 신뢰받는 주요 기여자들이 뒷받침하고 있습니다.

이 글은 레지스트리가 무엇이고, 생태계의 구성 요소들과 어떻게 관계를 맺는지, 그리고 신뢰·보안을 어떻게 다루는지 소개해요.

출처: MCP 공식 문서 - The MCP Registry

💡 MCP 레지스트리는 현재 프리뷰 단계예요. 일반 공개 전에 파괴적 변경이나 데이터 리셋이 있을 수 있습니다. 이슈가 있으면 GitHub에 보고해 주세요.

MCP 레지스트리가 제공하는 것

  • 서버 제작자가 자기 서버에 대한 메타데이터를 게시할 수 있는 단일 장소
  • DNS 검증을 통한 네임스페이스 관리
  • MCP 클라이언트와 애그리게이터가 사용 가능한 서버를 발견할 수 있는 REST API
  • 표준화된 설치·구성 정보

서버 메타데이터는 표준화된 server.json 형식으로 저장되며, 여기에는 다음이 들어가요.

  • 서버의 고유 이름(예: io.github.user/server-name)
  • 서버를 어디서 찾을지(예: npm 패키지 이름, 원격 서버 URL)
  • 실행 방법(예: 커맨드라인 인자, env 변수)
  • 기타 발견 데이터(예: 설명, 서버 기능)

MCP 레지스트리 생태계

패키지 레지스트리와의 관계

npm, PyPI, Docker Hub 같은 패키지 레지스트리는 코드와 바이너리가 담긴 패키지를 호스팅해요. MCP 레지스트리는 그 패키지를 가리키는 메타데이터를 호스팅합니다.

예를 들어 weather-mcp 패키지가 npm에 호스팅되고, MCP 레지스트리의 메타데이터가 "weather v1.2.0" 서버를 npm:weather-mcp에 매핑할 수 있어요.

패키지 유형 가이드가 지원되는 패키지 유형과 레지스트리를 나열합니다. 커뮤니티 수요에 따라 더 많은 패키지 레지스트리가 나중에 지원될 수 있어요. 패키지 레지스트리 지원을 구축하는 데 관심이 있다면 이슈를 열어 주세요.

서버 개발자와의 관계

MCP 레지스트리는 오픈소스·클로즈드소스 서버를 모두 지원해요. 서버 개발자는 서버의 설치 방법이 공개적으로 제공되는 한(npm 패키지나 공개 레지스트리의 Docker 이미지 등) 또는 서버 자체가 공개적으로 접근 가능한 한(사설 네트워크로 제한되지 않은 원격 서버 등) 메타데이터를 게시할 수 있어요.

MCP 레지스트리는 사설(private) 서버를 지원하지 않습니다. 사설 서버는 좁은 사용자 집합만 접근할 수 있는 서버예요. 예를 들어 사설 네트워크(mcp.acme-corp.internal 같은)나 사설 패키지 레지스트리(npx -y @acme/mcp --registry https://artifactory.acme-corp.internal/npm 같은)에 게시된 서버가 그렇죠. 사설 서버를 게시하려면 자체 사설 MCP 레지스트리를 호스팅해 거기에 추가하는 것을 권장해요.

다운스트림 애그리게이터와의 관계

MCP 레지스트리는 주로 다운스트림 애그리게이터(예: MCP 서버 마켓플레이스)가 소비하도록 설계됐어요.

MCP 레지스트리가 호스팅하는 메타데이터는 의도적으로 특정 견해를 강요하지 않아요(unopinionated). 다운스트림 애그리게이터는 커뮤니티 평점 같은 큐레이션이나 추가 메타데이터를 제공할 수 있어요.

다운스트림 애그리게이터가 MCP 레지스트리 API로 정기적이지만 드물게(예: 한 시간에 한 번) 새 메타데이터를 가져올 것으로 예상해요. 자세한 내용은 MCP 레지스트리 애그리게이터 가이드를 보세요.

다른 MCP 레지스트리와의 관계

공개 REST API에 더해, MCP 레지스트리는 다른 MCP 레지스트리가 구현할 수 있는 OpenAPI 스펙을 정의합니다. 그래서 MCP 호스트 애플리케이션에 표준화된 인터페이스를 제공해요.

많은 다운스트림 애그리게이터가 이 인터페이스를 구현할 것으로 예상합니다. 사설 MCP 레지스트리도 기존 호스트 애플리케이션 지원의 혜택을 받으려면 이것을 구현할 수 있어요.

공식 MCP 레지스트리 코드베이스는 셀프호스팅용으로 설계되지 않았고, 레지스트리 관리자가 이 사용 사례를 지원할 수 없음에 주의하세요. 포크한다면 독립적으로 유지·운영해야 해요.

MCP 호스트 애플리케이션과의 관계

MCP 레지스트리는 호스트 애플리케이션이 직접 소비하도록 설계되지 않았어요. 대신 호스트 애플리케이션은 공식 MCP 레지스트리의 OpenAPI 스펙을 따르는 REST API를 통해 다운스트림 마켓플레이스 같은 다른 MCP 레지스트리를 소비해야 합니다.

신뢰와 보안

서버 진위 검증

MCP 레지스트리는 네임스페이스 인증을 사용해 서버가 주장하는 출처에서 왔음을 보장해요. 서버 이름은 역방향 DNS 형식(io.github.username/server 또는 com.example/server 같은)을 따르며, 검증된 GitHub 계정이나 도메인에 묶입니다.

이 네임스페이스 시스템은 GitHub 계정 또는 도메인의 정당한 소유자만 그 네임스페이스 아래에 서버를 게시할 수 있게 해, 생태계에 신뢰와 책임을 부여해요. 인증 방법에 대한 자세한 내용은 인증 가이드를 보세요.

보안 스캔

MCP 레지스트리는 보안 스캔을 다음에 위임해요.

  • 기반 패키지 레지스트리 — npm, PyPI, Docker Hub 등이 자체 보안 스캔과 취약점 탐지를 수행해요.
  • 다운스트림 애그리게이터 — MCP 레지스트리 애그리게이터와 마켓플레이스가 추가 보안 검사, 평점, 큐레이션을 구현할 수 있어요.

MCP 레지스트리는 네임스페이스 인증과 메타데이터 호스팅에 집중하고, 실제 서버 코드의 보안 스캔은 더 넓은 생태계에 의존합니다.

스팸 방지

MCP 레지스트리는 여러 메커니즘으로 스팸을 막아요.

  • 네임스페이스 인증 요구사항 — 게시자는 GitHub, DNS, 또는 HTTP 도전을 통해 네임스페이스 소유권을 검증해야 해요. 임의의 스팸 제출을 방지하죠.
  • 문자 제한과 검증 — 자유 형식 필드는 남용을 막기 위한 엄격한 문자 제한과 정규식 검증을 가져요.
  • 수동 제거 — 레지스트리 관리자가 스팸이나 악성 서버를 수동으로 제거할 수 있어요. 무엇이 제거되는지 자세한 내용은 조정 정책을 보세요.

고려 중인 미래 스팸 방지 조치로는 더 엄격한 속도 제한, AI 기반 스팸 탐지, 커뮤니티 신고 기능이 있어요.

더 알아보기 (Learn more)