From ecc
Node/TypeScript SDK로 MCP 서버를 구축합니다. 도구, 리소스, 프롬프트, Zod 검증, stdio와 Streamable HTTP 선택을 다루며 최신 API는 Context7 또는 공식 MCP 문서를 확인합니다.
npx claudepluginhub sam42-lab/everything-claude-code-krThis skill uses the workspace's default tool permissions.
MCP(Model Context Protocol)는 AI 어시스턴트가 서버의 도구를 호출하고, 리소스를 읽고, 프롬프트를 사용할 수 있게 해줍니다. MCP 서버를 만들거나 유지보수할 때 이 스킬을 사용합니다. SDK API는 계속 바뀌므로 현재 메서드 이름과 시그니처는 Context7이나 공식 MCP 문서로 확인합니다.
Mandates invoking relevant skills via tools before any response in coding sessions. Covers access, priorities, and adaptations for Claude Code, Copilot CLI, Gemini CLI.
Share bugs, ideas, or general feedback.
MCP(Model Context Protocol)는 AI 어시스턴트가 서버의 도구를 호출하고, 리소스를 읽고, 프롬프트를 사용할 수 있게 해줍니다. MCP 서버를 만들거나 유지보수할 때 이 스킬을 사용합니다. SDK API는 계속 바뀌므로 현재 메서드 이름과 시그니처는 Context7이나 공식 MCP 문서로 확인합니다.
기능이 rule, skill, MCP, 일반 CLI/API 워크플로 중 어디에 속해야 하는지 더 넓은 라우팅 판단은 docs/capability-surface-selection.md를 봅니다.
다음 상황에서 사용합니다.
registerTool() 또는 tool()로 등록합니다.registerResource() 또는 resource()로 등록합니다.uri 인자를 받습니다.Node/TypeScript SDK는 버전에 따라 tool() / resource() 또는 registerTool() / registerResource()를 노출할 수 있습니다. 항상 현재 SDK 문서를 확인합니다.
로컬 클라이언트에서는 stdio transport를 만들고 서버의 connect 메서드에 전달합니다. 정확한 API는 SDK 버전에 따라 다릅니다. 현재 패턴은 공식 MCP 문서나 Context7의 "MCP stdio server" 질의 결과를 참고합니다.
도구와 리소스 등 서버 로직은 transport와 분리해 두어, 엔트리포인트에서 stdio와 HTTP를 바꿔 꽂을 수 있게 유지합니다.
Cursor, 클라우드, 기타 원격 클라이언트에는 Streamable HTTP를 사용합니다. 기존 HTTP/SSE는 하위 호환성이 꼭 필요할 때만 지원합니다.
npm install @modelcontextprotocol/sdk zod
import { McpServer } from "@modelcontextprotocol/sdk/server/mcp.js";
import { z } from "zod";
const server = new McpServer({ name: "my-server", version: "1.0.0" });
도구와 리소스 등록은 현재 SDK 버전에 맞는 API를 사용합니다. 어떤 버전은 server.tool(name, description, schema, handler)처럼 위치 인자를 쓰고, 다른 버전은 객체 인자나 registerTool()을 씁니다. 리소스도 마찬가지입니다. 현재 시그니처는 공식 MCP 문서나 Context7에서 검증합니다.
입력 검증은 Zod 또는 SDK가 권장하는 스키마 형식을 사용합니다.
package.json에서 SDK 버전을 고정하고, 업그레이드 시 릴리스 노트를 확인합니다.@modelcontextprotocol/sdkmodelcontextprotocol/go-sdk