MCP 서버 빌더
mcp-use를 사용하여 도구, 리소스, 프롬프트 및 대화형 위젯을 갖춘 프로덕션 준비 MCP 서버를 구축합니다.
코딩 전에
사용자 요청을 도구, 위젯 및 리소스로 분해합니다. UI가 필요한지 텍스트가 필요한지 결정합니다.
design-and-architecture.md를 읽으십시오: 무엇을 구축할지 계획할 때, 도구와 위젯을 결정할 때, 또는 UX 흐름을 설계할 때.
구현
- 도구, 리소스, 프롬프트 → tools-and-resources.md: 서버 측
server.tool(),server.resource(),server.prompt()코드를 작성할 때 - 시각적 위젯 (React TSX) → widgets.md:
resources/폴더에 대화형 UI 위젯을 생성할 때 - 응답 헬퍼 API → response-helpers.md: 도구/리소스 반환 값을 포맷할 방법을 선택할 때
- URI 템플릿 패턴 → resource-templates.md: 매개변수화된 리소스를 정의할 때
빠른 참조
import {
MCPServer,
text,
object,
markdown,
html,
image,
widget,
error,
} from "mcp-use/server";
import { z } from "zod";
const server = new MCPServer({ name: "my-server", version: "1.0.0" });
// 도구
server.tool(
{
name: "my-tool",
description: "...",
schema: z.object({ param: z.string().describe("...") }),
},
async ({ param }) => text("result"),
);
// 리소스
server.resource(
{ uri: "config://settings", name: "Settings", mimeType: "application/json" },
async () => object({ key: "value" }),
);
// 프롬프트
server.prompt(
{
name: "my-prompt",
description: "...",
schema: z.object({ topic: z.string() }),
},
async ({ topic }) => text(`Write about ${topic}`),
);
server.listen();
응답 헬퍼: text(), object(), markdown(), html(), image(), audio(), binary(), error(), mix(), widget()
서버 메서드: server.tool(), server.resource(), server.resourceTemplate(), server.prompt(), server.listen()