원격 서버 게시
원격 서버 게시 (Publishing Remote Servers)
MCP 레지스트리는 현재 프리뷰예요. 일반 공급 전에 파괴적 변경이나 데이터 초기화가 있을 수 있어요. 문제가 있으면 GitHub에 보고해 주세요.
MCP 레지스트리는 server.json의 remotes 속성을 통해 원격 MCP 서버를 지원해요.
{
"$schema": "https://static.modelcontextprotocol.io/schemas/2025-12-11/server.schema.json",
"name": "com.example/acme-analytics",
"title": "ACME Analytics",
"description": "Real-time business intelligence and reporting platform",
"version": "2.0.0",
"remotes": [
{
"type": "streamable-http",
"url": "https://analytics.example.com/mcp"
}
]
}
원격 서버는 지정된 URL에서 공개적으로 접근 가능해야 해요(MUST).
전송 방식
원격 서버는 Streamable HTTP 전송을 사용해야 해요. SSE 전송은 더 이상 사용되지 않으므로, "sse" 리모트는 기존 클라이언트를 지원할 때만 게시하세요. 원격 서버는 서로 다른 URL에서 두 전송을 동시에 지원할 수도 있어요.
remotes 항목의 type 속성을 "streamable-http" 또는 "sse"로 설정해 전송을 지정해요.
{
"$schema": "https://static.modelcontextprotocol.io/schemas/2025-12-11/server.schema.json",
"name": "com.example/acme-analytics",
"title": "ACME Analytics",
"description": "Real-time business intelligence and reporting platform",
"version": "2.0.0",
"remotes": [
{
"type": "streamable-http",
"url": "https://analytics.example.com/mcp"
},
{
"type": "sse",
"url": "https://analytics.example.com/sse"
}
]
}
URL 템플릿 변수
원격 서버는 {curly_braces} 표기법으로 URL 템플릿 변수를 정의할 수 있어요. 이로써 단일 서버 정의가 구성 가능한 값으로 여러 엔드포인트를 지원하는 멀티테넌트 배포가 가능해요.
{
"$schema": "https://static.modelcontextprotocol.io/schemas/2025-12-11/server.schema.json",
"name": "com.example/acme-analytics",
"title": "ACME Analytics",
"description": "Real-time business intelligence and reporting platform",
"version": "2.0.0",
"remotes": [
{
"type": "streamable-http",
"url": "https://{tenant_id}.analytics.example.com/mcp",
"variables": {
"tenant_id": {
"description": "Your tenant identifier (e.g., 'us-cell1', 'emea-cell1')",
"isRequired": true
}
}
}
]
}
이 서버를 구성할 때 사용자는 자신의 tenant_id 값을 제공하고, URL 템플릿이 적절한 엔드포인트(예: https://us-cell1.analytics.example.com/mcp)로 해석돼요.
변수는 default, choices, isSecret 같은 추가 속성을 지원해요.
{
"$schema": "https://static.modelcontextprotocol.io/schemas/2025-12-11/server.schema.json",
"name": "com.example/multi-region-mcp",
"title": "Multi-Region MCP",
"description": "MCP server with regional endpoints",
"version": "1.0.0",
"remotes": [
{
"type": "streamable-http",
"url": "https://api.example.com/{region}/mcp",
"variables": {
"region": {
"description": "Deployment region",
"isRequired": true,
"choices": [
"us-east-1",
"eu-west-1",
"ap-southeast-1"
],
"default": "us-east-1"
}
}
}
]
}
HTTP 헤더
remotes 항목에 headers 속성을 추가하면 MCP 클라이언트가 특정 HTTP 헤더를 보내도록 지시할 수 있어요.
{
"$schema": "https://static.modelcontextprotocol.io/schemas/2025-12-11/server.schema.json",
"name": "com.example/acme-analytics",
"title": "ACME Analytics",
"description": "Real-time business intelligence and reporting platform",
"version": "2.0.0",
"remotes": [
{
"type": "streamable-http",
"url": "https://analytics.example.com/mcp",
"headers": [
{
"name": "X-API-Key",
"description": "API key for authentication",
"isRequired": true,
"isSecret": true
}
]
}
]
}
원격 및 비원격 설치 모두 지원
remotes 속성은 server.json의 packages 속성과 공존할 수 있어, MCP 호스트 애플리케이션이 선호하는 설치 방법을 고르게 해줘요.
{
"$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",
"remotes": [
{
"type": "streamable-http",
"url": "https://email.example.com/mcp"
}
],
"packages": [
{
"registryType": "npm",
"identifier": "@example/email-integration-mcp",
"version": "1.0.0",
"transport": {
"type": "stdio"
}
}
]
}
더 알아보기 (Learn more)
- MCP 공식 문서 — Publishing Remote Servers
- MCP 공식 문서 — Connect to remote MCP servers
- MCP 공식 문서 — Registry quickstart