byteforce

CPN 한국어 자습서 · 외부 문서 한국어 미러

MCP 문서 · Registry

MCP 레지스트리 지원 패키지 유형

MCP Registry Supported Package Types · 원문: modelcontextprotocol.io/registry/package-types

아래는 원문을 한국어로 옮긴 미러입니다. 코드·명령은 원문 그대로이며, 가장 최신 정보는 하단 원문 링크에서 확인하세요.

참고: MCP 레지스트리는 현재 프리뷰 중입니다.

MCP 레지스트리는 여러 패키지 유형을 지원하며, 각 패키지 유형마다 자체적인 검증 방법이 있습니다.

npm 패키지

npm 패키지의 경우, MCP 레지스트리는 현재 npm 공개 레지스트리(https://registry.npmjs.org)만 지원합니다.

npm 패키지는 server.json에서 "registryType": "npm"을 사용합니다:

코드 · 명령
{
  "$schema": "https://static.modelcontextprotocol.io/schemas/2025-12-11/server.schema.json",
  "name": "io.github.username/email-integration-mcp",
  "title": "Email Integration",
  "description": "Send emails and manage email accounts",
  "version": "1.0.0",
  "packages": [
    {
      "registryType": "npm",
      "identifier": "@username/email-integration-mcp",
      "version": "1.0.0",
      "transport": {
        "type": "stdio"
      }
    }
  ]
}

소유권 검증

MCP 레지스트리는 package.json의 mcpName을 확인하여 npm 패키지의 소유권을 검증합니다. mcpName 속성은 server.json의 서버 이름과 반드시 일치해야 합니다:

코드 · 명령
{
  "name": "@username/email-integration-mcp",
  "version": "1.0.0",
  "mcpName": "io.github.username/email-integration-mcp"
}

PyPI 패키지

PyPI 패키지의 경우, MCP 레지스트리는 현재 공식 PyPI 레지스트리(https://pypi.org)만 지원합니다.

PyPI 패키지는 server.json에서 "registryType": "pypi"를 사용합니다:

코드 · 명령
{
  "packages": [
    {
      "registryType": "pypi",
      "identifier": "database-query-mcp",
      "version": "1.0.0",
      "transport": {
        "type": "stdio"
      }
    }
  ]
}

소유권 검증

패키지 README에 mcp-name: $SERVER_NAME 문자열을 포함하여 소유권을 검증합니다. 이 문자열은 주석에 숨겨질 수 있지만 $SERVER_NAME 부분은 반드시 server.json의 서버 이름과 일치해야 합니다:

코드 · 명령
<!-- mcp-name: io.github.username/database-query-mcp -->

NuGet 패키지

NuGet 패키지의 경우, MCP 레지스트리는 현재 공식 NuGet 레지스트리(https://api.nuget.org/v3/index.json)만 지원합니다.

NuGet 패키지는 server.json에서 "registryType": "nuget"을 사용합니다:

코드 · 명령
{
  "packages": [
    {
      "registryType": "nuget",
      "identifier": "Username.AzureDevOpsMcp",
      "version": "1.0.0",
      "transport": {
        "type": "stdio"
      }
    }
  ]
}

소유권 검증

패키지 README에 mcp-name: $SERVER_NAME 문자열을 포함합니다:

코드 · 명령
<!-- mcp-name: io.github.username/azure-devops-mcp -->

Docker/OCI 이미지

Docker/OCI 이미지의 경우, MCP 레지스트리는 현재 다음을 지원합니다:

Docker/OCI 이미지는 server.json에서 "registryType": "oci"를 사용합니다:

코드 · 명령
{
  "packages": [
    {
      "registryType": "oci",
      "identifier": "docker.io/yourusername/kubernetes-manager-mcp:1.0.0",
      "transport": {
        "type": "stdio"
      }
    }
  ]
}

identifier 형식은 registry/namespace/repository:tag입니다. 태그는 다이제스트로도 지정할 수 있습니다.

소유권 검증

Dockerfile에 io.modelcontextprotocol.server.name 어노테이션을 추가합니다. io.modelcontextprotocol.server.name 어노테이션의 값은 반드시 server.json의 서버 이름과 일치해야 합니다:

코드 · 명령
LABEL io.modelcontextprotocol.server.name="io.github.username/kubernetes-manager-mcp"

MCPB 패키지

MCPB 패키지의 경우, MCP 레지스트리는 GitHub 또는 GitLab 릴리스를 통해 호스팅되는 MCPB 아티팩트를 지원합니다.

MCPB 패키지는 server.json에서 "registryType": "mcpb"를 사용합니다:

코드 · 명령
{
  "packages": [
    {
      "registryType": "mcpb",
      "identifier": "https://github.com/username/image-processor-mcp/releases/download/v1.0.0/image-processor.mcpb",
      "fileSha256": "fe333e598595000ae021bd27117db32ec69af6987f507ba7a63c90638ff633ce",
      "transport": {
        "type": "stdio"
      }
    }
  ]
}

검증

MCPB 패키지 URL(identifier)은 반드시 "mcp" 문자열을 포함해야 합니다. 패키지 메타데이터에는 fileSha256 속성이 반드시 포함되어야 합니다. SHA-256 해시는 다음 명령으로 계산할 수 있습니다:

코드 · 명령
openssl dgst -sha256 image-processor.mcpb

MCP 레지스트리는 이 해시를 검증하지 않지만, MCP 클라이언트는 설치 전에 파일 무결성을 보장하기 위해 해시를 검증합니다.

원문(영어): https://modelcontextprotocol.io/registry/package-types · 본 문서는 학습용 한국어 번역이며 원본의 권리는 원저작자(Model Context Protocol)에게 있습니다.

원문(영어): https://modelcontextprotocol.io/registry/package-types