byteforce

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

MCP 문서 · Specification

스키마 레퍼런스

Schema Reference · 원문: modelcontextprotocol.io/specification/2025-11-25/schema

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

JSON-RPC

JSONRPCErrorResponse

오류가 발생했음을 나타내는 요청에 대한 응답입니다.

코드 · 명령
interface JSONRPCErrorResponse {
  jsonrpc: "2.0";
  id?: RequestId;
  error: Error;
}

JSONRPCMessage

와이어에서 디코딩하거나 전송을 위해 인코딩할 수 있는 유효한 JSON-RPC 객체를 나타냅니다.

코드 · 명령
type JSONRPCMessage = JSONRPCRequest | JSONRPCNotification | JSONRPCResponse

JSONRPCNotification

응답을 기대하지 않는 알림입니다.

코드 · 명령
interface JSONRPCNotification {
  method: string;
  params?: { [key: string]: any };
  jsonrpc: "2.0";
}

JSONRPCRequest

응답을 기대하는 요청입니다.

코드 · 명령
interface JSONRPCRequest {
  method: string;
  params?: { [key: string]: any };
  jsonrpc: "2.0";
  id: RequestId;
}

JSONRPCResponse

결과 또는 오류를 포함하는 요청에 대한 응답입니다.

코드 · 명령
type JSONRPCResponse = JSONRPCResultResponse | JSONRPCErrorResponse

JSONRPCResultResponse

요청에 대한 성공적인(오류 없는) 응답입니다.

코드 · 명령
interface JSONRPCResultResponse {
  jsonrpc: "2.0";
  id: RequestId;
  result: Result;
}

공통 타입

Annotations

클라이언트를 위한 선택적 어노테이션입니다. 클라이언트는 어노테이션을 사용하여 객체가 어떻게 사용되거나 표시되는지 알 수 있습니다.

코드 · 명령
interface Annotations {
  audience?: Role[];
  priority?: number;
  lastModified?: string;
}

Cursor

페이지네이션을 위한 커서(cursor)를 나타내는 불투명 토큰입니다.

코드 · 명령
type Cursor = string

EmptyResult

성공을 나타내지만 데이터를 포함하지 않는 응답입니다.

코드 · 명령
type EmptyResult = Result

Error

코드 · 명령
interface Error {
  code: number;
  message: string;
  data?: unknown;
}

Icon

사용자 인터페이스에 표시할 수 있는 선택적 크기의 아이콘입니다.

코드 · 명령
interface Icon {
  src: string;
  mimeType?: string;
  sizes?: string[];
  theme?: "light" | "dark";
}

LoggingLevel

로그 메시지의 심각도입니다 (syslog RFC-5424에 매핑).

코드 · 명령
type LoggingLevel = 
  | "debug"
  | "info"
  | "notice"
  | "warning"
  | "error"
  | "critical"
  | "alert"
  | "emergency"

ProgressToken

진행 알림을 원래 요청과 연결하는 데 사용되는 진행 토큰입니다.

코드 · 명령
type ProgressToken = string | number

RequestId

JSON-RPC에서 요청을 고유하게 식별하는 ID입니다.

코드 · 명령
type RequestId = string | number

Result

코드 · 명령
interface Result {
  _meta?: { [key: string]: unknown };
  [key: string]: unknown;
}

Role

대화에서 메시지와 데이터의 발신자 또는 수신자입니다.

코드 · 명령
type Role = "user" | "assistant"

콘텐츠

AudioContent

LLM에서 제공되거나 LLM으로 전달되는 오디오입니다.

코드 · 명령
interface AudioContent {
  type: "audio";
  data: string;
  mimeType: string;
  annotations?: Annotations;
  _meta?: { [key: string]: unknown };
}

BlobResourceContents

코드 · 명령
interface BlobResourceContents {
  uri: string;
  mimeType?: string;
  _meta?: { [key: string]: unknown };
  blob: string;
}

ContentBlock

코드 · 명령
type ContentBlock = 
  | TextContent
  | ImageContent
  | AudioContent
  | ResourceLink
  | EmbeddedResource

EmbeddedResource

프롬프트(prompt) 또는 도구 호출 결과에 포함된 리소스(resource)의 내용입니다.

코드 · 명령
interface EmbeddedResource {
  type: "resource";
  resource: TextResourceContents | BlobResourceContents;
  annotations?: Annotations;
  _meta?: { [key: string]: unknown };
}

ImageContent

LLM에서 제공되거나 LLM으로 전달되는 이미지입니다.

코드 · 명령
interface ImageContent {
  type: "image";
  data: string;
  mimeType: string;
  annotations?: Annotations;
  _meta?: { [key: string]: unknown };
}

ResourceLink

프롬프트(prompt) 또는 도구 호출 결과에 포함된, 서버가 읽을 수 있는 리소스(resource)입니다.

코드 · 명령
interface ResourceLink {
  icons?: Icon[];
  name: string;
  title?: string;
  uri: string;
  description?: string;
  mimeType?: string;
  annotations?: Annotations;
  size?: number;
  _meta?: { [key: string]: unknown };
  type: "resource_link";
}

TextContent

LLM에서 제공되거나 LLM으로 전달되는 텍스트입니다.

코드 · 명령
interface TextContent {
  type: "text";
  text: string;
  annotations?: Annotations;
  _meta?: { [key: string]: unknown };
}

TextResourceContents

코드 · 명령
interface TextResourceContents {
  uri: string;
  mimeType?: string;
  _meta?: { [key: string]: unknown };
  text: string;
}

completion/complete

CompleteRequest

완성 옵션을 요청하기 위한 클라이언트에서 서버로의 요청입니다.

코드 · 명령
interface CompleteRequest {
  jsonrpc: "2.0";
  id: RequestId;
  method: "completion/complete";
  params: CompleteRequestParams;
}

CompleteRequestParams

코드 · 명령
interface CompleteRequestParams {
  _meta?: { progressToken?: ProgressToken; [key: string]: unknown };
  ref: PromptReference | ResourceTemplateReference;
  argument: { name: string; value: string };
  context?: { arguments?: { [key: string]: string } };
}

CompleteResult

completion/complete 요청에 대한 서버의 응답입니다.

코드 · 명령
interface CompleteResult {
  _meta?: { [key: string]: unknown };
  completion: { 
    values: string[];
    total?: number;
    hasMore?: boolean;
  };
  [key: string]: unknown;
}

PromptReference

프롬프트(prompt)를 식별합니다.

코드 · 명령
interface PromptReference {
  name: string;
  title?: string;
  type: "ref/prompt";
}

ResourceTemplateReference

리소스(resource) 또는 리소스 템플릿 정의에 대한 참조입니다.

코드 · 명령
interface ResourceTemplateReference {
  type: "ref/resource";
  uri: string;
}

elicitation/create

ElicitRequest

클라이언트를 통해 사용자로부터 추가 정보를 요청하기 위한 서버의 요청입니다.

코드 · 명령
interface ElicitRequest {
  jsonrpc: "2.0";
  id: RequestId;
  method: "elicitation/create";
  params: ElicitRequestParams;
}

ElicitRequestParams

코드 · 명령
type ElicitRequestParams = ElicitRequestFormParams | ElicitRequestURLParams

ElicitResult

정보 요청에 대한 클라이언트의 응답입니다.

코드 · 명령
interface ElicitResult {
  _meta?: { [key: string]: unknown };
  action: "accept" | "decline" | "cancel";
  content?: { [key: string]: string | number | boolean | string[] };
  [key: string]: unknown;
}

ElicitRequestFormParams

클라이언트의 폼을 통해 비민감 정보를 요청하기 위한 파라미터입니다.

코드 · 명령
interface ElicitRequestFormParams {
  task?: TaskMetadata;
  _meta?: { progressToken?: ProgressToken; [key: string]: unknown };
  mode?: "form";
  message: string;
  requestedSchema: {
    $schema?: string;
    type: "object";
    properties: { [key: string]: PrimitiveSchemaDefinition };
    required?: string[];
  };
}

ElicitRequestURLParams

클라이언트의 URL을 통해 정보를 요청하기 위한 파라미터입니다.

코드 · 명령
interface ElicitRequestURLParams {
  task?: TaskMetadata;
  _meta?: { progressToken?: ProgressToken; [key: string]: unknown };
  mode: "url";
  message: string;
  elicitationId: string;
  url: string;
}

참고: 이 스키마 레퍼런스 페이지는 일부 내용만 포함하고 있습니다. 완전한 스키마는 공식 MCP 명세 https://modelcontextprotocol.io/specification/2025-11-25/schema 를 참고하세요.

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

원문(영어): https://modelcontextprotocol.io/specification/2025-11-25/schema