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.
87
Quality
84%
Does it follow best practices?
Impact
Pending
No eval scenarios have been run
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/ folderimport { 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 server56a5818
If you maintain this skill, you can claim it as your own. Once claimed, you can manage eval scenarios, bundle related skills, attach documentation or rules, and ensure cross-agent compatibility.