Reve AI
리소스 마켓
MCP개발무료

mcp-use

The fullstack MCP framework to develop MCP Apps for ChatGPT / Claude & MCP Servers for AI Agents.

9.8k
  <source media="(prefers-color-scheme: dark)" srcset="./static/logo_white.svg">
  <source media="(prefers-color-scheme: light)" srcset="./static/logo_black.svg">
  <img alt="mcp use logo" src="./static/logo_black.svg" width="60%" >

 

<a href="https://discord.gg/XkNkSkMz3V" alt="Discord">
    <img src="https://dcbadge.limes.pink/api/server/XkNkSkMz3V?style=flat" /></a>



<a href="https://pypi.org/project/mcp_use/" alt="PyPI Downloads">
    <img src="https://static.pepy.tech/badge/mcp-use" /></a>




About

mcp-use is the fullstack MCP framework to build MCP Apps for ChatGPT / Claude & MCP Servers for AI Agents.

  • Build with mcp-use SDK (ts | py): MCP Servers and MCP Apps
  • Preview on mcp-use MCP Inspector (online | oss): Test and debug your MCP Servers and Apps
  • Deploy on Manufact MCP Cloud: Connect your GitHub repo and have your MCP Server and App up and running in production with observability, metrics, logs, branch-deployments, and more

Documentation

Visit our docs or jump to a quickstart (TypeScript | Python)

Skills for Coding Agents

Using Claude Code, Codex, Cursor or other AI coding agents?

Install mcp-use skill for MCP Apps

Quickstart: MCP Servers and MCP Apps

TypeScript

Build your first MCP Server or MPC App:

npx create-mcp-use-app@latest

Or create a server manually:

import { MCPServer, text } from "mcp-use/server";
import { z } from "zod";

const server = new MCPServer({
  name: "my-server",
  version: "1.0.0",
});

server.tool({
  name: "get_weather",
  description: "Get weather for a city",
  schema: z.object({ city: z.string() }),
}, async ({ city }) => {
  return text(`Temperature: 72°F, Condition: sunny, City: ${city}`);
});

await server.listen(3000);
// Inspector at http://localhost:3000/inspector

→ Full TypeScript Server Documentation

MCP Apps

MCP Apps let you build interactive widgets that work across Claude, ChatGPT, and other MCP clients — write once, run everywhere.

Server: define a tool and point it to a widget:

import { MCPServer, widget } from "mcp-use/server";
import { z } from "zod";

const server = new MCPServer({
  name: "weather-app",
  version: "1.0.0",
});

server.tool({
  name: "get-weather",
  description: "Get weather for a city",
  schema: z.object({ city: z.string() }),
  widget: "weather-display", // references resources/weather-display/widget.tsx
}, async ({ city }) => {
  return widget({
    props: { city, temperature: 22, conditions: "Sunny" },
    message: `Weather in ${city}: Sunny, 22°C`,
  });
});

await server.listen(3000);

Widget: create a React component in resources/weather-display/widget.tsx:

import { useWidget, type WidgetMetadata } from "mcp-use/react";
import { z } from "zod";

const propSchema = z.object({
  city: z.string(),
  temperature: z.number(),
  conditions: z.string(),
});

export const widgetMetadata: WidgetMetadata = {
  description: "Display weather information",
  props: propSchema,
};

const WeatherDisplay: React.FC = () => {
  const { props, isPending, theme } = useWidget<z.infer<typeof propSchema>>();
  const isDark = theme === "dark";

  if (isPending) return Loading...;

---

*[GitHub에서 전체 내용 보기](https://github.com/mcp-use/mcp-use)*