skills/mcp-use/mcp-use/mcp-builder

mcp-builder

Installation
Summary

DEPRECATED: Build MCP servers with tools, resources, prompts, and interactive widgets using mcp-use.

  • This skill is deprecated; use mcp-app-builder instead
  • Supports defining tools, resources, prompts, and interactive React widgets within a single MCP server
  • Includes response helpers for formatting outputs as text, markdown, HTML, images, objects, and custom widgets
  • Provides server composition and proxying to aggregate multiple MCP servers into a unified interface
SKILL.md

MCP Server Builder

Build production-ready MCP servers with tools, resources, prompts, and interactive widgets using mcp-use.

Before You Code

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.

Implementation

  • Tools, resources, promptstools-and-resources.md: when writing server-side server.tool(), server.resource(), server.prompt() code
  • Visual widgets (React TSX)widgets.md: when creating interactive UI widgets in resources/ folder
  • Response helper APIresponse-helpers.md: when choosing how to format tool/resource return values
  • URI template patternsresource-templates.md: when defining parameterized resources
  • Server proxying & compositionproxy.md: when composing multiple MCP servers into a unified aggregator

Quick Reference

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 tool
  • server.resource() - Define static/dynamic resource
  • server.resourceTemplate() - Define parameterized resource
  • server.prompt() - Define prompt template
  • server.proxy() - Compose/Proxy multiple MCP servers
  • server.uiResource() - Define widget resource
  • server.listen() - Start server
Weekly Installs
9.0K
Repository
mcp-use/mcp-use
GitHub Stars
9.8K
First Seen
Feb 2, 2026
Installed on
codex9.0K
cursor9.0K
claude-code8.9K
gemini-cli365
opencode364
github-copilot359