CtrlK
BlogDocsLog inGet started
Tessl Logo

mcp-builder

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.

70

Quality

85%

Does it follow best practices?

Run evals on this skill

Adds up to 20 points to the overall score

View guide

SecuritybySnyk

Passed

No findings from the security scan

SKILL.md
Quality
Evals
Security

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

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(), server.resource(), server.resourceTemplate(), server.prompt(), server.listen()

Repository
Shubhamsaboo/awesome-llm-apps
Last updated
First committed

Is this your skill?

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.