mcp-builder

Build Model Context Protocol servers with tools, resources, prompts, and React widgets using mcp-use.

Updated May 9, 2026
One-click install
npx skills add https://github.com/23wj1a0541/L.E.N.S --skill mcp-builder-23wj1a0541
Or copy as Structured Prompt for Agent▼
Please help me install this Agent Skill.
Skill: mcp-builder
Source: https://github.com/23wj1a0541/L.E.N.S/tree/main/.cursor/skills/mcp-builder
Command: npx skills add https://github.com/23wj1a0541/L.E.N.S --skill mcp-builder-23wj1a0541

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill requires mcp-use, zod, and includes references (resource) components.

What problem does it solve? Building MCP servers requires coordinating tools, resources, prompts, and interactive widgets with correct schemas and response formats. This Skill guides the design and implementation of MCP servers using the mcp-use TypeScript framework, from architecture decisions to working code. Note: this Skill is deprecated and directs users to the mcp-app-builder skill when available. ## Core Features & Use Cases - Architecture Guidance: Decompose user requests into tools, widget tools, resources, and prompts, with rules for when visual UI is warranted versus text-only responses. - Implementation References: Detailed patterns for server.tool(), server.resource(), server.resourceTemplate(), server.prompt(), response helpers (text(), object(), widget(), error()), and React widget components via useWidget. - Server Composition: Proxy and aggregate multiple MCP servers into a unified endpoint with namespaced tools. - Use Case: Ask the agent to build a weather app, and it produces a get-weather widget tool with a React display component, mock data, and a matching tool definition in index.ts. ## Quick Start Ask the agent to build an MCP server for a todo list with an interactive checklist widget using mcp-use.

Frequently Asked Questions about mcp-builder

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I create a tool in an MCP server with mcp-use?▼

Use server.tool() with a name, description, and Zod schema where every field has .describe(). The callback returns a response helper like text(), object(), or error(). Add a widget config if the tool should render visual UI.

When should an MCP tool use a widget instead of text output?▼

Use a widget when browsing multiple items, displaying visual data like charts or colors, or enabling interactive selection. Use text-only tools for simple outputs like translations, calculations, or status checks where visual UI adds no value.

Why does my MCP widget show undefined for prop values?▼

Widgets render before tool execution completes, so props are initially empty. Check the isPending flag from useWidget() first and render a loading state, then access props only after isPending is false.

How do I fix duplicate tool registration errors with mcp-use widgets?▼

The error occurs when a widget sets exposeAsTool: true while a custom tool also references it via widget: { name }. Remove exposeAsTool from widgetMetadata since it defaults to false and the custom tool handles registration.

Can mcp-use combine multiple MCP servers into one endpoint?▼

Yes, server.proxy() composes multiple MCP servers into a unified aggregator. Pass a config object where keys become namespaces, so child server tools are prefixed (e.g., database_query) to prevent naming collisions.

Is the mcp-builder skill still maintained?▼

No, this skill is deprecated and replaced by mcp-app-builder. The frontmatter instructs checking for mcp-app-builder in the skills folder or installing it via npx skills install mcp-use/mcp-use --skill mcp-app-builder.