CPN 한국어 자습서 · 외부 문서 한국어 미러
MCP 문서 · Registry
Versioning Published MCP Servers · 원문: modelcontextprotocol.io/registry/versioning
아래는 원문을 한국어로 옮긴 미러입니다. 코드·명령은 원문 그대로이며, 가장 최신 정보는 하단 원문 링크에서 확인하세요.
참고: MCP 레지스트리는 현재 프리뷰 단계입니다. 일반 공개 전까지 주요 변경 사항이나 데이터 초기화가 발생할 수 있습니다. 문제가 발생하면 GitHub에 보고해 주세요.
MCP 서버는 server.json에 버전 문자열을 반드시(MUST) 정의해야 합니다. 예를 들면:
{
"$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"
}
}
]
}
버전 문자열은 서버를 게시할 때마다 고유해야 합니다(MUST). 게시 후에는 버전 문자열(및 기타 메타데이터)을 변경할 수 없습니다.
MCP 레지스트리는 시맨틱 버전 관리를 권장하지만, 모든 버전 문자열 형식을 지원합니다. 서버가 게시되면 MCP 레지스트리는 정렬 목적으로 버전을 시맨틱 버전 문자열로 파싱하려 시도하고, 적절하면 "latest"로 표시합니다. 파싱에 실패하면 버전은 항상 "latest"로 표시됩니다.
주의: 서버가 시맨틱 버전 문자열을 사용하다가 시맨틱 버전 관리를 따르지 않는 새 버전을 게시하면, 해당 새 버전은 시맨틱 버전 문자열보다 앞에 정렬되더라도 "latest"로 표시됩니다.
오류 방지 메커니즘으로, MCP 레지스트리는 버전 범위를 나타내는 것처럼 보이는 버전 문자열을 허용하지 않습니다.
| 예시 | 유형 | 안내 |
|---|---|---|
1.0.0 |
시맨틱 버전 | 권장 |
2.1.3-alpha |
시맨틱 사전 릴리스 | 권장 |
1.0.0-beta.1 |
시맨틱 사전 릴리스 | 권장 |
3.0.0-rc.2 |
시맨틱 사전 릴리스 | 권장 |
2025.11.25 |
시맨틱 날짜 | 권장 |
2025.6.18 |
시맨틱 날짜 | 권장 (⚠️주의!⚠️) |
2025.06.18 |
비시맨틱 날짜 | 허용 (⚠️주의!⚠️) |
2025-06-18 |
비시맨틱 날짜 | 허용 |
v1.0 |
접두사 버전 | 허용 |
^1.2.3 |
버전 범위 | 금지 |
~1.2.3 |
버전 범위 | 금지 |
>=1.2.3 |
버전 범위 | 금지 |
<=1.2.3 |
버전 범위 | 금지 |
>1.2.3 |
버전 범위 | 금지 |
<1.2.3 |
버전 범위 | 금지 |
1.x |
버전 범위 | 금지 |
1.2.* |
버전 범위 | 금지 |
1 - 2 |
버전 범위 | 금지 |
1.2 \|\| 1.3 |
버전 범위 | 금지 |
버전 문자열에는 시맨틱 버전 관리를 사용합니다.
로컬 서버의 경우, 혼동을 방지하기 위해 서버 버전을 기반 패키지 버전과 일치시킵니다:
{
"version": "1.2.3",
"packages": [
{
"registryType": "npm",
"identifier": "@my-username/my-server",
"version": "1.2.3",
"transport": {
"type": "stdio"
}
}
]
}
기반 패키지가 여러 개인 경우 서버 버전을 전체 릴리스 버전으로 사용합니다:
{
"version": "1.3.0",
"packages": [
{
"registryType": "npm",
"identifier": "@my-username/my-server",
"version": "1.3.0",
"transport": {
"type": "stdio"
}
},
{
"registryType": "nuget",
"identifier": "MyUsername.MyServer",
"version": "1.0.0",
"transport": {
"type": "stdio"
}
}
]
}
API 버전이 있는 원격 서버의 경우, 서버 버전을 API 버전과 일치시켜야 합니다:
{
"version": "2.1.0",
"remotes": [
{
"type": "streamable-http",
"url": "https://api.myservice.com/mcp/v2.1"
}
]
}
기반 패키지나 원격 URL을 변경하지 않고 서버를 여러 번 게시해야 하는 경우(예: 메타데이터의 다른 부분 업데이트), 시맨틱 사전 릴리스 버전을 사용합니다:
{
"version": "1.2.3-1",
"packages": [
{
"registryType": "npm",
"identifier": "@my-username/my-server",
"version": "1.2.3",
"transport": {
"type": "stdio"
}
}
]
}
주의: 시맨틱 버전 관리에 따르면,
1.2.3-1과 같은 사전 릴리스 버전은1.2.3과 같은 정식 시맨틱 버전보다 앞에 정렬됩니다. 따라서 해당 정식 버전 이후에 사전 릴리스 버전을 게시하면, 사전 릴리스 버전은 "latest"로 표시되지 않습니다.
MCP 레지스트리 애그리게이터는 다음을 따라야(SHOULD) 합니다:
원문(영어): https://modelcontextprotocol.io/registry/versioning · 본 문서는 학습용 한국어 번역이며 원본의 권리는 원저작자(Model Context Protocol)에게 있습니다.