developer-tools

MCP Use

by mcp-use

The fullstack MCP framework for developing MCP apps for ChatGPT, Claude, and building MCP servers for AI agents. Connect

The fullstack MCP framework for developing MCP apps for ChatGPT, Claude, and building MCP servers for AI agents. Connect any AI to any tool with an open protocol. 9,300+ GitHub stars.

github stars

9.4K

best for

  • / General purpose MCP workflows

capabilities

    what it does

    The fullstack MCP framework for developing MCP apps for ChatGPT, Claude, and building MCP servers for AI agents. Connect any AI to any tool with an open protocol. 9,300+ GitHub stars.

    about

    MCP Use is a community-built MCP server published by mcp-use that provides AI assistants with tools and capabilities via the Model Context Protocol. The fullstack MCP framework for developing MCP apps for ChatGPT, Claude, and building MCP servers for AI agents. Connect It is categorized under developer tools.

    how to install

    You can install MCP Use in your AI client of choice. Use the install panel on this page to get one-click setup for Cursor, Claude Desktop, VS Code, and other MCP-compatible clients. This server runs locally on your machine via the stdio transport.

    license

    MIT

    MCP Use is released under the MIT license. This is a permissive open-source license, meaning you can freely use, modify, and distribute the software.

    readme

    ## 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](https://www.npmjs.com/package/mcp-use) | [py](https://pypi.org/project/mcp_use/)): MCP Servers and MCP Apps - **Preview** on mcp-use MCP Inspector ([online](https://inspector.mcp-use.com/inspector) | [oss](https://github.com/mcp-use/mcp-use/tree/main/libraries/typescript/packages/inspector)): Test and debug your MCP Servers and Apps - **Deploy** on [Manufact MCP Cloud](https://manufact.com): 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](https://mcp-use.com/docs) or jump to a quickstart ([TypeScript](https://mcp-use.com/docs/typescript/getting-started/quickstart) | [Python](https://mcp-use.com/docs/python/getting-started/quickstart)) ### Skills for Coding Agents > **Using Claude Code, Codex, Cursor or other AI coding agents?** > > **[Install mcp-use skill for MCP Apps](https://skills.sh/mcp-use/mcp-use/mcp-apps-builder)** ## Quickstart: MCP Servers and MCP Apps ### TypeScript Build your first MCP Server or MPC App: ```bash npx create-mcp-use-app@latest ``` Or create a server manually: ```typescript 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**](https://mcp-use.com/docs/typescript/server) ## 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: ```typescript 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`: ```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>(); const isDark = theme === "dark"; if (isPending) return
    Loading...
    ; return (

    {props.city}

    {props.temperature}° — {props.conditions}

    ); }; export default WeatherDisplay; ``` Widgets in `resources/` are **auto-discovered** — no manual registration needed. Visit [**MCP Apps Documentation**](https://mcp-use.com/docs/typescript/server/ui-widgets) --- ### Python ```bash pip install mcp-use ``` ```python from typing import Annotated from mcp.types import ToolAnnotations from pydantic import Field from mcp_use import MCPServer server = MCPServer(name="Weather Server", version="1.0.0") @server.tool( name="get_weather", description="Get current weather information for a location", annotations=ToolAnnotations(readOnlyHint=True, openWorldHint=True), ) async def get_weather( city: Annotated[str, Field(description="City name")], ) -> str: return f"Temperature: 72°F, Condition: sunny, City: {city}" # Start server with auto-inspector server.run(transport="streamable-http", port=8000) # 🎉 Inspector at http://localhost:8000/inspector ``` [**→ Full Python Server Documentation**](https://mcp-use.com/docs/python/server/index) --- ## Inspector The mcp-use Inspector lets you test and debug your MCP servers interactively. **Auto-included** when using `server.listen()`: ```typescript server.listen(3000); // Inspector at http://localhost:3000/inspector ``` **Online** when connecting to hosted MCP servers:
    >Visit https://inspector.mcp-use.com **Standalone**: inspect any MCP server: ```bash npx @mcp-use/inspector --url http://localhost:3000/mcp ``` Visit [**Inspector Documentation**](https://mcp-use.com/docs/inspector/index) --- ## Deploy Deploy your MCP server to production: ```bash npx @mcp-use/cli login npx @mcp-use/cli deploy ``` Or connect your GitHub repo on [manufact.com](https://manufact.com) — production-ready with observability, metrics, logs, and branch-deployments. --- ## Package Overview This monorepo contains multiple packages for both Python and TypeScript: ### Python Packages | Package | Description | Version | | ----------- | ------------------------------------- | --------------------------------------------------------------------------------------- | | **mcp-use** | Complete MCP server and MCP agent SDK | [![PyPI](https://img.shields.io/pypi/v/mcp_use.svg)](https://pypi.org/project/mcp_use/) | ### TypeScript Packages | Package | Description | Version | | ---------------------- | ----------------------------------------------- | --------------------------------------------------------------------------------------------------------------- | | **mcp-use** | Core framework for MCP servers, MCP apps, and MCP agents | [![npm](https://img.shields.io/npm/v/mcp-use.svg)](https://www.npmjs.com/package/mcp-use) | | **@mcp-use/cli** | Build tool with hot reload and auto-inspector | [![npm](https://img.shields.io/npm/v/@mcp-use/cli.svg)](https://www.npmjs.com/package/@mcp-use/cli) | | **@mcp-use/inspector** | Web-based previewer and debugger for MCP servers | [![npm](https://img.shields.io/npm/v/@mcp-use/inspector.svg)](https://www.npmjs.com/package/@mcp-use/inspector) | | **create-mcp-use-app** | Project scaffolding tool | [![npm](https://img.shields.io/npm/v/create-mcp-use-app.svg)](https://www.npmjs.com/package/create-mcp-use-app) | --- ## Also: MCP Agent & Client mcp-use also provides a full MCP Agent and Client implementation.
    Build an AI Agent ### Python ```bash pip install mcp-use langchain-openai ``` ```python import asyncio from langchain_openai import ChatOpenAI from mcp_use import MCPAgent, MCPClient async def main(): config = { "mcpServers": { "filesystem": { "command": "npx", "args": ["-y", "@modelcontextprotocol/server-filesystem", "/tmp"] } } } client = MCPClient.from_dict(config) llm = ChatOpenAI(model="gpt-4o") agent = MCPAgent(llm=llm, client=client) result = ---