DEPRECATED: This skill has been replaced by `mcp-app-builder`. Check if `mcp-app-builder` is available in the skills folder. If not, install it: `npx skills install mcp-use/mcp-use --skill mcp-app-builder` Use `mcp-app-builder` instead of this skill. Build Model Context Protocol (MCP) servers with mcp-use framework. Use when creating MCP servers, defining tools/resources/prompts, working with mcp-use, bootstrapping MCP projects, or when user mentions MCP development, tools, resources, or prompts.
Build production-ready MCP servers with tools, resources, prompts, and interactive widgets using mcp-use.
Decompose user requests into tools, widgets, and resources. Decide what needs UI vs text.
Read design-and-architecture.md: when planning what to build, deciding tool vs widget, or designing UX flows.
server.tool(), server.resource(), server.prompt() coderesources/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" });
// Tool
server.tool(
{ name: "my-tool", description: "...", schema: z.object({ param: z.string().describe("...") }) },
async ({ param }) => text("result")
);
// Resource
server.resource(
{ uri: "config://settings", name: "Settings", mimeType: "application/json" },
async () => object({ key: "value" })
);
// Prompt
server.prompt(
{ name: "my-prompt", description: "...", schema: z.object({ topic: z.string() }) },
async ({ topic }) => text(`Write about ${topic}`)
);
server.listen();
Response helpers: text(), object(), markdown(), html(), image(), audio(), binary(), error(), mix(), widget()
Server methods:
server.tool() - Define executable toolserver.resource() - Define static/dynamic resourceserver.resourceTemplate() - Define parameterized resourceserver.prompt() - Define prompt templateserver.proxy() - Compose/Proxy multiple MCP serversserver.uiResource() - Define widget resourceserver.listen() - Start server