This quickstart covers the mcp-use Server SDK.Building an AI agent or MCP Client instead? Head to the MCP Agent or MCP Client introductions instead.
Prerequisites
- Node.js 22.22.2+
- Basic familiarity with React and TypeScript
Create your server
Scaffold a new project:- What is your project name? Sets the folder name and the server’s
name. Enter.to scaffold into the current directory. - Select a template: Pick one of the three below with the arrow keys.
mcp-appsis highlighted by default. - Install AI coding skills for Cursor, Claude Code, and Codex? Adds mcp-use skills so your coding agent understands the framework. Defaults to yes.
- Install dependencies? Installs with the package manager you ran the command with (npm, pnpm, or Bun). Defaults to yes.
To skip the questions, pass the name and template as arguments:
Start the dev server
npm run dev runs mcp-use dev, which:
- serves the MCP endpoint at
http://localhost:3000/mcp - opens the Inspector at
http://localhost:3000/mcp/inspector - hot-reloads tools, resources, prompts, and views as you edit; the next stateless request uses the refreshed server
mcp-apps template, calling search-tools renders the widget inline.
You can also test the running server from the terminal with the mcp-use client CLI. This is the quickest path for scripts and coding agents, which can’t drive the Inspector’s UI:
local; later commands address it by that name. See the CLI client reference for the full command set.
Explore the project
index.ts is where you register your tools, resources, and prompts. Each folder under views/ is an MCP App view; its folder name matches the view.name a tool references.
Add a tool
Openindex.ts and add a tool to the existing server:
mcp-env.d.ts uses those exported tool refs to type calls from your widget, so TypeScript will flag a useCallTool("greeting-card") call when its matching ref is not exported.
Run npm run typecheck after editing tools or views. The scaffolded script refreshes mcp-env.d.ts for the server entry, then runs the project’s own TypeScript compiler with --noEmit.
The tool’s view.name points at a folder under views/. Its validated structuredContent becomes the view’s typed tool output.
Add a view
Createviews/greeting-card/view.tsx. The folder name must match the tool’s view.name:
greeting-card with { name: "Ada", message: "Welcome aboard!" }; the card renders inline.
Deploy to Manufact Cloud
When you’re ready to share your server, deploy it with one command:mcp-use deploy, which builds your server and deploys it to Manufact Cloud with a public MCP URL, logs, and metrics. The first run walks you through logging in and connecting your project.
Deployment guide
GitHub connection, environment variables, regions, and redeploys.
Next steps
MCP Server
Tools, resources, prompts, and server configuration.
MCP Apps
Build interactive widgets for ChatGPT and Claude.
Inspector
Test and debug your server interactively.
MCP 101
How clients, servers, and the three primitives fit together.