[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"similar-mcp-use--mcp-use":3,"tool-mcp-use--mcp-use":62},[4,18,26,36,46,54],{"id":5,"name":6,"github_repo":7,"description_zh":8,"stars":9,"difficulty_score":10,"last_commit_at":11,"category_tags":12,"status":17},4358,"openclaw","openclaw\u002Fopenclaw","OpenClaw 是一款专为个人打造的本地化 AI 助手，旨在让你在自己的设备上拥有完全可控的智能伙伴。它打破了传统 AI 助手局限于特定网页或应用的束缚，能够直接接入你日常使用的各类通讯渠道，包括微信、WhatsApp、Telegram、Discord、iMessage 等数十种平台。无论你在哪个聊天软件中发送消息，OpenClaw 都能即时响应，甚至支持在 macOS、iOS 和 Android 设备上进行语音交互，并提供实时的画布渲染功能供你操控。\n\n这款工具主要解决了用户对数据隐私、响应速度以及“始终在线”体验的需求。通过将 AI 部署在本地，用户无需依赖云端服务即可享受快速、私密的智能辅助，真正实现了“你的数据，你做主”。其独特的技术亮点在于强大的网关架构，将控制平面与核心助手分离，确保跨平台通信的流畅性与扩展性。\n\nOpenClaw 非常适合希望构建个性化工作流的技术爱好者、开发者，以及注重隐私保护且不愿被单一生态绑定的普通用户。只要具备基础的终端操作能力（支持 macOS、Linux 及 Windows WSL2），即可通过简单的命令行引导完成部署。如果你渴望拥有一个懂你",349277,3,"2026-04-06T06:32:30",[13,14,15,16],"Agent","开发框架","图像","数据工具","ready",{"id":19,"name":20,"github_repo":21,"description_zh":22,"stars":23,"difficulty_score":10,"last_commit_at":24,"category_tags":25,"status":17},3808,"stable-diffusion-webui","AUTOMATIC1111\u002Fstable-diffusion-webui","stable-diffusion-webui 是一个基于 Gradio 构建的网页版操作界面，旨在让用户能够轻松地在本地运行和使用强大的 Stable Diffusion 图像生成模型。它解决了原始模型依赖命令行、操作门槛高且功能分散的痛点，将复杂的 AI 绘图流程整合进一个直观易用的图形化平台。\n\n无论是希望快速上手的普通创作者、需要精细控制画面细节的设计师，还是想要深入探索模型潜力的开发者与研究人员，都能从中获益。其核心亮点在于极高的功能丰富度：不仅支持文生图、图生图、局部重绘（Inpainting）和外绘（Outpainting）等基础模式，还独创了注意力机制调整、提示词矩阵、负向提示词以及“高清修复”等高级功能。此外，它内置了 GFPGAN 和 CodeFormer 等人脸修复工具，支持多种神经网络放大算法，并允许用户通过插件系统无限扩展能力。即使是显存有限的设备，stable-diffusion-webui 也提供了相应的优化选项，让高质量的 AI 艺术创作变得触手可及。",162132,"2026-04-05T11:01:52",[14,15,13],{"id":27,"name":28,"github_repo":29,"description_zh":30,"stars":31,"difficulty_score":32,"last_commit_at":33,"category_tags":34,"status":17},1381,"everything-claude-code","affaan-m\u002Feverything-claude-code","everything-claude-code 是一套专为 AI 编程助手（如 Claude Code、Codex、Cursor 等）打造的高性能优化系统。它不仅仅是一组配置文件，而是一个经过长期实战打磨的完整框架，旨在解决 AI 代理在实际开发中面临的效率低下、记忆丢失、安全隐患及缺乏持续学习能力等核心痛点。\n\n通过引入技能模块化、直觉增强、记忆持久化机制以及内置的安全扫描功能，everything-claude-code 能显著提升 AI 在复杂任务中的表现，帮助开发者构建更稳定、更智能的生产级 AI 代理。其独特的“研究优先”开发理念和针对 Token 消耗的优化策略，使得模型响应更快、成本更低，同时有效防御潜在的攻击向量。\n\n这套工具特别适合软件开发者、AI 研究人员以及希望深度定制 AI 工作流的技术团队使用。无论您是在构建大型代码库，还是需要 AI 协助进行安全审计与自动化测试，everything-claude-code 都能提供强大的底层支持。作为一个曾荣获 Anthropic 黑客大奖的开源项目，它融合了多语言支持与丰富的实战钩子（hooks），让 AI 真正成长为懂上",160784,2,"2026-04-19T11:32:54",[14,13,35],"语言模型",{"id":37,"name":38,"github_repo":39,"description_zh":40,"stars":41,"difficulty_score":42,"last_commit_at":43,"category_tags":44,"status":17},8272,"opencode","anomalyco\u002Fopencode","OpenCode 是一款开源的 AI 编程助手（Coding Agent），旨在像一位智能搭档一样融入您的开发流程。它不仅仅是一个代码补全插件，而是一个能够理解项目上下文、自主规划任务并执行复杂编码操作的智能体。无论是生成全新功能、重构现有代码，还是排查难以定位的 Bug，OpenCode 都能通过自然语言交互高效完成，显著减少开发者在重复性劳动和上下文切换上的时间消耗。\n\n这款工具专为软件开发者、工程师及技术研究人员设计，特别适合希望利用大模型能力来提升编码效率、加速原型开发或处理遗留代码维护的专业人群。其核心亮点在于完全开源的架构，这意味着用户可以审查代码逻辑、自定义行为策略，甚至私有化部署以保障数据安全，彻底打破了传统闭源 AI 助手的“黑盒”限制。\n\n在技术体验上，OpenCode 提供了灵活的终端界面（Terminal UI）和正在测试中的桌面应用程序，支持 macOS、Windows 及 Linux 全平台。它兼容多种包管理工具，安装便捷，并能无缝集成到现有的开发环境中。无论您是追求极致控制权的资深极客，还是渴望提升产出的独立开发者，OpenCode 都提供了一个透明、可信",144296,1,"2026-04-16T14:50:03",[13,45],"插件",{"id":47,"name":48,"github_repo":49,"description_zh":50,"stars":51,"difficulty_score":32,"last_commit_at":52,"category_tags":53,"status":17},2271,"ComfyUI","Comfy-Org\u002FComfyUI","ComfyUI 是一款功能强大且高度模块化的视觉 AI 引擎，专为设计和执行复杂的 Stable Diffusion 图像生成流程而打造。它摒弃了传统的代码编写模式，采用直观的节点式流程图界面，让用户通过连接不同的功能模块即可构建个性化的生成管线。\n\n这一设计巧妙解决了高级 AI 绘图工作流配置复杂、灵活性不足的痛点。用户无需具备编程背景，也能自由组合模型、调整参数并实时预览效果，轻松实现从基础文生图到多步骤高清修复等各类复杂任务。ComfyUI 拥有极佳的兼容性，不仅支持 Windows、macOS 和 Linux 全平台，还广泛适配 NVIDIA、AMD、Intel 及苹果 Silicon 等多种硬件架构，并率先支持 SDXL、Flux、SD3 等前沿模型。\n\n无论是希望深入探索算法潜力的研究人员和开发者，还是追求极致创作自由度的设计师与资深 AI 绘画爱好者，ComfyUI 都能提供强大的支持。其独特的模块化架构允许社区不断扩展新功能，使其成为当前最灵活、生态最丰富的开源扩散模型工具之一，帮助用户将创意高效转化为现实。",109154,"2026-04-18T11:18:24",[14,15,13],{"id":55,"name":56,"github_repo":57,"description_zh":58,"stars":59,"difficulty_score":32,"last_commit_at":60,"category_tags":61,"status":17},6121,"gemini-cli","google-gemini\u002Fgemini-cli","gemini-cli 是一款由谷歌推出的开源 AI 命令行工具，它将强大的 Gemini 大模型能力直接集成到用户的终端环境中。对于习惯在命令行工作的开发者而言，它提供了一条从输入提示词到获取模型响应的最短路径，无需切换窗口即可享受智能辅助。\n\n这款工具主要解决了开发过程中频繁上下文切换的痛点，让用户能在熟悉的终端界面内直接完成代码理解、生成、调试以及自动化运维任务。无论是查询大型代码库、根据草图生成应用，还是执行复杂的 Git 操作，gemini-cli 都能通过自然语言指令高效处理。\n\n它特别适合广大软件工程师、DevOps 人员及技术研究人员使用。其核心亮点包括支持高达 100 万 token 的超长上下文窗口，具备出色的逻辑推理能力；内置 Google 搜索、文件操作及 Shell 命令执行等实用工具；更独特的是，它支持 MCP（模型上下文协议），允许用户灵活扩展自定义集成，连接如图像生成等外部能力。此外，个人谷歌账号即可享受免费的额度支持，且项目基于 Apache 2.0 协议完全开源，是提升终端工作效率的理想助手。",100752,"2026-04-10T01:20:03",[45,13,15,14],{"id":63,"github_repo":64,"name":65,"description_en":66,"description_zh":67,"ai_summary_zh":68,"readme_en":69,"readme_zh":70,"quickstart_zh":71,"use_case_zh":72,"hero_image_url":73,"owner_login":65,"owner_name":74,"owner_avatar_url":75,"owner_bio":76,"owner_company":77,"owner_location":77,"owner_email":78,"owner_twitter":79,"owner_website":80,"owner_url":81,"languages":82,"stars":115,"forks":116,"last_commit_at":117,"license":118,"difficulty_score":32,"env_os":119,"env_gpu":119,"env_ram":119,"env_deps":120,"category_tags":125,"github_topics":126,"view_count":32,"oss_zip_url":77,"oss_zip_packed_at":77,"status":17,"created_at":146,"updated_at":147,"faqs":148,"releases":179},9688,"mcp-use\u002Fmcp-use","mcp-use","The fullstack MCP framework to develop MCP Apps for ChatGPT \u002F Claude & MCP Servers for AI Agents.","mcp-use 是一个专为构建 MCP（Model Context Protocol）应用和服务端而设计的全栈开发框架。它旨在简化开发者为 ChatGPT、Claude 等主流大模型创建扩展功能的过程，让 AI 助手能够安全、高效地连接外部数据源或执行特定任务。\n\n对于希望扩展 AI 能力的开发者而言，mcp-use 解决了传统集成方式中配置繁琐、调试困难及部署复杂的问题。通过提供统一的 SDK，用户只需编写少量代码即可定义工具逻辑，并快速将其转化为 AI 可识别的服务。\n\n该工具主要面向软件工程师和 AI 应用开发者，特别是那些熟悉 TypeScript 或 Python 的技术人员。无论是想为编程助手添加自定义技能，还是为企业构建专属的 AI 代理后端，mcp-use 都能提供流畅的开发体验。\n\n其核心亮点在于“一站式”工作流：内置的 MCP Inspector 允许开发者在本地实时预览和调试服务；配合 Manufact MCP Cloud，还能实现从 GitHub 代码库到生产环境的自动化部署，并提供完整的日志监控与分支管理功能。这种从开发、测试到上线的无缝衔接，极大地降低了构建","mcp-use 是一个专为构建 MCP（Model Context Protocol）应用和服务端而设计的全栈开发框架。它旨在简化开发者为 ChatGPT、Claude 等主流大模型创建扩展功能的过程，让 AI 助手能够安全、高效地连接外部数据源或执行特定任务。\n\n对于希望扩展 AI 能力的开发者而言，mcp-use 解决了传统集成方式中配置繁琐、调试困难及部署复杂的问题。通过提供统一的 SDK，用户只需编写少量代码即可定义工具逻辑，并快速将其转化为 AI 可识别的服务。\n\n该工具主要面向软件工程师和 AI 应用开发者，特别是那些熟悉 TypeScript 或 Python 的技术人员。无论是想为编程助手添加自定义技能，还是为企业构建专属的 AI 代理后端，mcp-use 都能提供流畅的开发体验。\n\n其核心亮点在于“一站式”工作流：内置的 MCP Inspector 允许开发者在本地实时预览和调试服务；配合 Manufact MCP Cloud，还能实现从 GitHub 代码库到生产环境的自动化部署，并提供完整的日志监控与分支管理功能。这种从开发、测试到上线的无缝衔接，极大地降低了构建高质量 AI 应用的门槛。","\u003Cdiv align=\"center\">\n\u003Cdiv align=\"center\">\n  \u003Ca href=\"https:\u002F\u002Fmcp-use.com\">\n    \u003Cpicture>\n      \u003Csource media=\"(prefers-color-scheme: dark)\" srcset=\".\u002Fstatic\u002Flogo_white.svg\">\n      \u003Csource media=\"(prefers-color-scheme: light)\" srcset=\".\u002Fstatic\u002Flogo_black.svg\">\n      \u003Cimg alt=\"mcp use logo\" src=\".\u002Fstatic\u002Flogo_black.svg\" width=\"60%\" >\n    \u003C\u002Fpicture>\n  \u003C\u002Fa>\n\u003C\u002Fdiv>\n&nbsp;\n\n\u003Cp align=\"center\">\n    \u003Ca href=\"https:\u002F\u002Fmcp-use.com\u002Fdocs\" alt=\"Documentation\">\n        \u003Cimg src=\"https:\u002F\u002Fimg.shields.io\u002Fbadge\u002Fmcp--use-docs-blue?labelColor=white\" \u002F>\u003C\u002Fa>\n    \u003Ca href=\"https:\u002F\u002Fmanufact.com\" alt=\"Website\">\n        \u003Cimg src=\"https:\u002F\u002Fimg.shields.io\u002Fbadge\u002Fmade by-manufact.com-blue\" \u002F>\u003C\u002Fa>\n    \u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fmcp-use\u002Fmcp-use\u002Fblob\u002Fmain\u002FLICENSE\" alt=\"License\">\n        \u003Cimg src=\"https:\u002F\u002Fimg.shields.io\u002Fgithub\u002Flicense\u002Fmcp-use\u002Fmcp-use\" \u002F>\u003C\u002Fa>\n    \u003Ca href=\"https:\u002F\u002Fdiscord.gg\u002FXkNkSkMz3V\" alt=\"Discord\">\n        \u003Cimg src=\"https:\u002F\u002Fdcbadge.limes.pink\u002Fapi\u002Fserver\u002FXkNkSkMz3V?style=flat\" \u002F>\u003C\u002Fa>\n    \u003Cbr\u002F>\n    \u003Ca href=\"https:\u002F\u002Fmcp-use.com\u002Fdocs\u002Fpython\" alt=\"Python docs\">\n        \u003Cimg src=\"https:\u002F\u002Fimg.shields.io\u002Fbadge\u002Fpyhton-docs-blue?labelColor=white&logo=python\" alt=\"Badge\">\u003C\u002Fa>\n    \u003Ca href=\"https:\u002F\u002Fpypi.org\u002Fproject\u002Fmcp_use\u002F\" alt=\"PyPI Version\">\n        \u003Cimg src=\"https:\u002F\u002Fimg.shields.io\u002Fpypi\u002Fv\u002Fmcp_use.svg\"\u002F>\u003C\u002Fa>\n    \u003Ca href=\"https:\u002F\u002Fpypi.org\u002Fproject\u002Fmcp_use\u002F\" alt=\"PyPI Downloads\">\n        \u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fmcp-use_mcp-use_readme_fae08394318e.png\" \u002F>\u003C\u002Fa>\n    \u003Cbr\u002F>\n    \u003Ca href=\"https:\u002F\u002Fmcp-use.com\u002Fdocs\u002Ftypescript\" alt=\"Typescript Documentation\">\n        \u003Cimg src=\"https:\u002F\u002Fimg.shields.io\u002Fbadge\u002Ftypescript-docs-blue?labelColor=white&logo=typescript\" alt=\"Badge\">\u003C\u002Fa>\n    \u003Ca href=\"https:\u002F\u002Fwww.npmjs.com\u002Fpackage\u002Fmcp-use\" alt=\"NPM Version\">\n        \u003Cimg src=\"https:\u002F\u002Fimg.shields.io\u002Fnpm\u002Fv\u002Fmcp-use.svg\"\u002F>\u003C\u002Fa>\n    \u003Ca href=\"https:\u002F\u002Fwww.npmjs.com\u002Fpackage\u002Fmcp-use\" alt=\"NPM Downloads\">\n        \u003Cimg src=\"https:\u002F\u002Fimg.shields.io\u002Fnpm\u002Fdw\u002Fmcp-use.svg\"\u002F>\u003C\u002Fa>\n    \u003Cbr\u002F>\n\u003C\u002Fp>\n\u003C\u002Fdiv>\n\n##  About\n\n  \u003Cb>mcp-use\u003C\u002Fb> is the fullstack MCP framework\n  to build MCP Apps for ChatGPT \u002F Claude & MCP Servers for AI Agents.\n\n- **Build** with mcp-use SDK ([ts](https:\u002F\u002Fwww.npmjs.com\u002Fpackage\u002Fmcp-use) | [py](https:\u002F\u002Fpypi.org\u002Fproject\u002Fmcp_use\u002F)): MCP Servers and MCP Apps\n- **Preview** on mcp-use MCP Inspector ([online](https:\u002F\u002Finspector.mcp-use.com\u002Finspector) | [oss](https:\u002F\u002Fgithub.com\u002Fmcp-use\u002Fmcp-use\u002Ftree\u002Fmain\u002Flibraries\u002Ftypescript\u002Fpackages\u002Finspector)): Test and debug your MCP Servers and Apps\n- **Deploy** on [Manufact MCP Cloud](https:\u002F\u002Fmanufact.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\n\n## Documentation\n\nVisit our [docs](https:\u002F\u002Fmcp-use.com\u002Fdocs) or jump to a quickstart ([TypeScript](https:\u002F\u002Fmcp-use.com\u002Fdocs\u002Ftypescript\u002Fgetting-started\u002Fquickstart) | [Python](https:\u002F\u002Fmcp-use.com\u002Fdocs\u002Fpython\u002Fgetting-started\u002Fquickstart))\n\n### Skills for Coding Agents\n\n> **Using Claude Code, Codex, Cursor or other AI coding agents?**\n>\n> **[Install mcp-use skill for MCP Apps](https:\u002F\u002Fskills.sh\u002Fmcp-use\u002Fmcp-use\u002Fmcp-apps-builder)**\n\n## Quickstart: MCP Servers and MCP Apps\n\n### \u003Cimg src=\".\u002Fstatic\u002Ftypescript.svg\" height=\"14\" style=\"margin-right:4px; top:-1px; position:relative;\" align=\"center\" \u002F> TypeScript\n\nBuild your first MCP Server or MPC App:\n\n```bash\nnpx create-mcp-use-app@latest\n```\n\nOr create a server manually:\n\n```typescript\nimport { MCPServer, text } from \"mcp-use\u002Fserver\";\nimport { z } from \"zod\";\n\nconst server = new MCPServer({\n  name: \"my-server\",\n  version: \"1.0.0\",\n});\n\nserver.tool({\n  name: \"get_weather\",\n  description: \"Get weather for a city\",\n  schema: z.object({ city: z.string() }),\n}, async ({ city }) => {\n  return text(`Temperature: 72°F, Condition: sunny, City: ${city}`);\n});\n\nawait server.listen(3000);\n\u002F\u002F Inspector at http:\u002F\u002Flocalhost:3000\u002Finspector\n```\n\n[**→ Full TypeScript Server Documentation**](https:\u002F\u002Fmcp-use.com\u002Fdocs\u002Ftypescript\u002Fserver)\n\n## MCP Apps\n\nMCP Apps let you build interactive widgets that work across Claude, ChatGPT, and other MCP clients — write once, run everywhere.\n\n**Server**: define a tool and point it to a widget:\n\n```typescript\nimport { MCPServer, widget } from \"mcp-use\u002Fserver\";\nimport { z } from \"zod\";\n\nconst server = new MCPServer({\n  name: \"weather-app\",\n  version: \"1.0.0\",\n});\n\nserver.tool({\n  name: \"get-weather\",\n  description: \"Get weather for a city\",\n  schema: z.object({ city: z.string() }),\n  widget: \"weather-display\", \u002F\u002F references resources\u002Fweather-display\u002Fwidget.tsx\n}, async ({ city }) => {\n  return widget({\n    props: { city, temperature: 22, conditions: \"Sunny\" },\n    message: `Weather in ${city}: Sunny, 22°C`,\n  });\n});\n\nawait server.listen(3000);\n```\n\n**Widget**: create a React component in `resources\u002Fweather-display\u002Fwidget.tsx`:\n\n```tsx\nimport { useWidget, type WidgetMetadata } from \"mcp-use\u002Freact\";\nimport { z } from \"zod\";\n\nconst propSchema = z.object({\n  city: z.string(),\n  temperature: z.number(),\n  conditions: z.string(),\n});\n\nexport const widgetMetadata: WidgetMetadata = {\n  description: \"Display weather information\",\n  props: propSchema,\n};\n\nconst WeatherDisplay: React.FC = () => {\n  const { props, isPending, theme } = useWidget\u003Cz.infer\u003Ctypeof propSchema>>();\n  const isDark = theme === \"dark\";\n\n  if (isPending) return \u003Cdiv>Loading...\u003C\u002Fdiv>;\n\n  return (\n    \u003Cdiv style={{\n      background: isDark ? \"#1a1a2e\" : \"#f0f4ff\",\n      borderRadius: 16, padding: 24,\n    }}>\n      \u003Ch2>{props.city}\u003C\u002Fh2>\n      \u003Cp>{props.temperature}° — {props.conditions}\u003C\u002Fp>\n    \u003C\u002Fdiv>\n  );\n};\n\nexport default WeatherDisplay;\n```\n\nWidgets in `resources\u002F` are **auto-discovered** — no manual registration needed.\n\nVisit [**MCP Apps Documentation**](https:\u002F\u002Fmcp-use.com\u002Fdocs\u002Ftypescript\u002Fserver\u002Fui-widgets)\n\n## Templates\n\nReady-to-use MCP Apps you can deploy in one click or remix as your own.\n\n| Preview | Name | Tools | Demo URL | Repo | Deploy |\n| --- | --- | --- | --- | --- | --- |\n| ![Chart Builder](https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fmcp-use_mcp-use_readme_37083931f2e9.gif) | Chart Builder | `create-chart` | [Open URL](https:\u002F\u002Fyellow-shadow-21833.run.mcp-use.com\u002Fmcp) | [mcp-use\u002Fmcp-chart-builder](https:\u002F\u002Fgithub.com\u002Fmcp-use\u002Fmcp-chart-builder) | [![Deploy to mcp-use](https:\u002F\u002Fcdn.mcp-use.com\u002Fdeploy.svg)](https:\u002F\u002Fmcp-use.com\u002Fdeploy\u002Fstart?repository-url=https%3A%2F%2Fgithub.com%2Fmcp-use%2Fmcp-chart-builder&branch=main&project-name=mcp-chart-builder&port=3000&runtime=node&base-image=node%3A20) |\n| ![Diagram Builder](https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fmcp-use_mcp-use_readme_196c3298a1ad.gif) | Diagram Builder | `create-diagram`, `edit-diagram` | [Open URL](https:\u002F\u002Flucky-darkness-402ph.run.mcp-use.com\u002Fmcp) | [mcp-use\u002Fmcp-diagram-builder](https:\u002F\u002Fgithub.com\u002Fmcp-use\u002Fmcp-diagram-builder) | [![Deploy to mcp-use](https:\u002F\u002Fcdn.mcp-use.com\u002Fdeploy.svg)](https:\u002F\u002Fmcp-use.com\u002Fdeploy\u002Fstart?repository-url=https%3A%2F%2Fgithub.com%2Fmcp-use%2Fmcp-diagram-builder&branch=main&project-name=mcp-diagram-builder&port=3000&runtime=node&base-image=node%3A20) |\n| ![Slide Deck](https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fmcp-use_mcp-use_readme_ac7e4cda0e3b.gif) | Slide Deck | `create-slides`, `edit-slide` | [Open URL](https:\u002F\u002Fsolitary-block-r6m6x.run.mcp-use.com\u002Fmcp) | [mcp-use\u002Fmcp-slide-deck](https:\u002F\u002Fgithub.com\u002Fmcp-use\u002Fmcp-slide-deck) | [![Deploy to mcp-use](https:\u002F\u002Fcdn.mcp-use.com\u002Fdeploy.svg)](https:\u002F\u002Fmcp-use.com\u002Fdeploy\u002Fstart?repository-url=https%3A%2F%2Fgithub.com%2Fmcp-use%2Fmcp-slide-deck&branch=main&project-name=mcp-slide-deck&port=3000&runtime=node&base-image=node%3A20) |\n| ![Maps Explorer](https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fmcp-use_mcp-use_readme_34c20d354631.gif) | Maps Explorer | `show-map`, `get-place-details`, `add-markers` | [Open URL](https:\u002F\u002Fsuper-night-ttde2.run.mcp-use.com\u002Fmcp) | [mcp-use\u002Fmcp-maps-explorer](https:\u002F\u002Fgithub.com\u002Fmcp-use\u002Fmcp-maps-explorer) | [![Deploy to mcp-use](https:\u002F\u002Fcdn.mcp-use.com\u002Fdeploy.svg)](https:\u002F\u002Fmcp-use.com\u002Fdeploy\u002Fstart?repository-url=https%3A%2F%2Fgithub.com%2Fmcp-use%2Fmcp-maps-explorer&branch=main&project-name=mcp-maps-explorer&port=3000&runtime=node&base-image=node%3A20) |\n| ![Hugging Face Spaces](https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fmcp-use_mcp-use_readme_96721a05a40e.gif) | Hugging Face Spaces | `search-spaces`, `show-space`, `trending-spaces` | [Open URL](https:\u002F\u002Fgentle-frost-pvxpk.run.mcp-use.com\u002Fmcp) | [mcp-use\u002Fmcp-huggingface-spaces](https:\u002F\u002Fgithub.com\u002Fmcp-use\u002Fmcp-huggingface-spaces) | [![Deploy to mcp-use](https:\u002F\u002Fcdn.mcp-use.com\u002Fdeploy.svg)](https:\u002F\u002Fmcp-use.com\u002Fdeploy\u002Fstart?repository-url=https%3A%2F%2Fgithub.com%2Fmcp-use%2Fmcp-huggingface-spaces&branch=main&project-name=mcp-huggingface-spaces&port=3000&runtime=node&base-image=node%3A20) |\n| ![Recipe Finder](https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fmcp-use_mcp-use_readme_80b321b8bab1.gif) | Recipe Finder | `search-recipes`, `get-recipe`, `meal-plan`, `recipe-suggestion` | [Open URL](https:\u002F\u002Fbold-tree-1fe79.run.mcp-use.com\u002Fmcp) | [mcp-use\u002Fmcp-recipe-finder](https:\u002F\u002Fgithub.com\u002Fmcp-use\u002Fmcp-recipe-finder) | [![Deploy to mcp-use](https:\u002F\u002Fcdn.mcp-use.com\u002Fdeploy.svg)](https:\u002F\u002Fmcp-use.com\u002Fdeploy\u002Fstart?repository-url=https%3A%2F%2Fgithub.com%2Fmcp-use%2Fmcp-recipe-finder&branch=main&project-name=mcp-recipe-finder&port=3000&runtime=node&base-image=node%3A20) |\n| ![Widget Gallery](https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fmcp-use_mcp-use_readme_a2efb1ff9a17.gif) | Widget Gallery | `show-react-widget`, `html-greeting`, `mcp-ui-poll`, `programmatic-counter`, `detect-client` | [Open URL](https:\u002F\u002Fwandering-lake-mmxhs.run.mcp-use.com\u002Fmcp) | [mcp-use\u002Fmcp-widget-gallery](https:\u002F\u002Fgithub.com\u002Fmcp-use\u002Fmcp-widget-gallery) | [![Deploy to mcp-use](https:\u002F\u002Fcdn.mcp-use.com\u002Fdeploy.svg)](https:\u002F\u002Fmcp-use.com\u002Fdeploy\u002Fstart?repository-url=https%3A%2F%2Fgithub.com%2Fmcp-use%2Fmcp-widget-gallery&branch=main&project-name=mcp-widget-gallery&port=3000&runtime=node&base-image=node%3A20) |\n| ![Multi Server Hub](https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fmcp-use_mcp-use_readme_13c507cfc86a.gif) | Multi Server Hub | `hub-status`, `hub-config-example`, `audit-log` | [Open URL](https:\u002F\u002Fsoft-voice-4nxfi.run.mcp-use.com\u002Fmcp) | [mcp-use\u002Fmcp-multi-server-hub](https:\u002F\u002Fgithub.com\u002Fmcp-use\u002Fmcp-multi-server-hub) | [![Deploy to mcp-use](https:\u002F\u002Fcdn.mcp-use.com\u002Fdeploy.svg)](https:\u002F\u002Fmcp-use.com\u002Fdeploy\u002Fstart?repository-url=https%3A%2F%2Fgithub.com%2Fmcp-use%2Fmcp-multi-server-hub&branch=main&project-name=mcp-multi-server-hub&port=3000&runtime=node&base-image=node%3A20) |\n| ![File Manager](https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fmcp-use_mcp-use_readme_8384c565c6a3.gif) | File Manager | `open-vault`, `get-file`, `list-files` | [Open URL](https:\u002F\u002Fmuddy-pond-eyays.run.mcp-use.com\u002Fmcp) | [mcp-use\u002Fmcp-file-manager](https:\u002F\u002Fgithub.com\u002Fmcp-use\u002Fmcp-file-manager) | [![Deploy to mcp-use](https:\u002F\u002Fcdn.mcp-use.com\u002Fdeploy.svg)](https:\u002F\u002Fmcp-use.com\u002Fdeploy\u002Fstart?repository-url=https%3A%2F%2Fgithub.com%2Fmcp-use%2Fmcp-file-manager&branch=main&project-name=mcp-file-manager&port=3000&runtime=node&base-image=node%3A20) |\n| ![Progress Demo](https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fmcp-use_mcp-use_readme_4f833deb4e55.gif) | Progress Demo | `process-data`, `fetch-report`, `delete-dataset`, `search-external`, `failing-tool` | [Open URL](https:\u002F\u002Fcrimson-river-pzsz1.run.mcp-use.com\u002Fmcp) | [mcp-use\u002Fmcp-progress-demo](https:\u002F\u002Fgithub.com\u002Fmcp-use\u002Fmcp-progress-demo) | [![Deploy to mcp-use](https:\u002F\u002Fcdn.mcp-use.com\u002Fdeploy.svg)](https:\u002F\u002Fmcp-use.com\u002Fdeploy\u002Fstart?repository-url=https%3A%2F%2Fgithub.com%2Fmcp-use%2Fmcp-progress-demo&branch=main&project-name=mcp-progress-demo&port=3000&runtime=node&base-image=node%3A20) |\n| ![i18n Adaptive](https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fmcp-use_mcp-use_readme_131f10fbf70f.gif) | i18n Adaptive | `show-context`, `detect-caller` | [Open URL](https:\u002F\u002Ffalling-grass-58yov.run.mcp-use.com\u002Fmcp) | [mcp-use\u002Fmcp-i18n-adaptive](https:\u002F\u002Fgithub.com\u002Fmcp-use\u002Fmcp-i18n-adaptive) | [![Deploy to mcp-use](https:\u002F\u002Fcdn.mcp-use.com\u002Fdeploy.svg)](https:\u002F\u002Fmcp-use.com\u002Fdeploy\u002Fstart?repository-url=https%3A%2F%2Fgithub.com%2Fmcp-use%2Fmcp-i18n-adaptive&branch=main&project-name=mcp-i18n-adaptive&port=3000&runtime=node&base-image=node%3A20) |\n| ![Media Mixer](https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fmcp-use_mcp-use_readme_9fb182ffd659.gif) | Media Mixer | `generate-image`, `generate-audio`, `generate-pdf`, `get-report`, `get-html-snippet`, `get-xml-config`, `get-stylesheet`, `get-script`, `get-data-array` | [Open URL](https:\u002F\u002Fwandering-breeze-nuipu.run.mcp-use.com\u002Fmcp) | [mcp-use\u002Fmcp-media-mixer](https:\u002F\u002Fgithub.com\u002Fmcp-use\u002Fmcp-media-mixer) | [![Deploy to mcp-use](https:\u002F\u002Fcdn.mcp-use.com\u002Fdeploy.svg)](https:\u002F\u002Fmcp-use.com\u002Fdeploy\u002Fstart?repository-url=https%3A%2F%2Fgithub.com%2Fmcp-use%2Fmcp-media-mixer&branch=main&project-name=mcp-media-mixer&port=3000&runtime=node&base-image=node%3A20) |\n| ![Resource Watcher](https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fmcp-use_mcp-use_readme_168cf1ddf80d.gif) | Resource Watcher | `show-config`, `update-config`, `toggle-feature`, `list-roots` | [Open URL](https:\u002F\u002Ffragrant-term-zmdks.run.mcp-use.com\u002Fmcp) | [mcp-use\u002Fmcp-resource-watcher](https:\u002F\u002Fgithub.com\u002Fmcp-use\u002Fmcp-resource-watcher) | [![Deploy to mcp-use](https:\u002F\u002Fcdn.mcp-use.com\u002Fdeploy.svg)](https:\u002F\u002Fmcp-use.com\u002Fdeploy\u002Fstart?repository-url=https%3A%2F%2Fgithub.com%2Fmcp-use%2Fmcp-resource-watcher&branch=main&project-name=mcp-resource-watcher&port=3000&runtime=node&base-image=node%3A20) |\n\n---\n### \u003Cimg src=\".\u002Fstatic\u002Fpython.svg\" height=\"14\" style=\"margin-right:4px; top:-1px; position:relative;\" align=\"center\" \u002F> Python\n\n```bash\npip install mcp-use\n```\n\n```python\nfrom typing import Annotated\n\nfrom mcp.types import ToolAnnotations\nfrom pydantic import Field\n\nfrom mcp_use import MCPServer\n\nserver = MCPServer(name=\"Weather Server\", version=\"1.0.0\")\n\n@server.tool(\n    name=\"get_weather\",\n    description=\"Get current weather information for a location\",\n    annotations=ToolAnnotations(readOnlyHint=True, openWorldHint=True),\n)\nasync def get_weather(\n    city: Annotated[str, Field(description=\"City name\")],\n) -> str:\n    return f\"Temperature: 72°F, Condition: sunny, City: {city}\"\n\n# Start server with auto-inspector\nserver.run(transport=\"streamable-http\", port=8000)\n# 🎉 Inspector at http:\u002F\u002Flocalhost:8000\u002Finspector\n```\n\n[**→ Full Python Server Documentation**](https:\u002F\u002Fmcp-use.com\u002Fdocs\u002Fpython\u002Fserver\u002Findex)\n\n---\n\n## Inspector\n\nThe mcp-use Inspector lets you test and debug your MCP servers interactively.\n\n**Auto-included** when using `server.listen()`:\n\n```typescript\nserver.listen(3000);\n\u002F\u002F Inspector at http:\u002F\u002Flocalhost:3000\u002Finspector\n```\n\n**Online** when connecting to hosted MCP servers:\n\u003Cbr>\n>Visit https:\u002F\u002Finspector.mcp-use.com\n\n**Standalone**: inspect any MCP server:\n\n```bash\nnpx @mcp-use\u002Finspector --url http:\u002F\u002Flocalhost:3000\u002Fmcp\n```\n\nVisit [**Inspector Documentation**](https:\u002F\u002Fmcp-use.com\u002Fdocs\u002Finspector\u002Findex)\n\n---\n\n## Deploy\n\nDeploy your MCP server to production:\n\n```bash\nnpx @mcp-use\u002Fcli login\nnpx @mcp-use\u002Fcli deploy\n```\n\nOr connect your GitHub repo on [manufact.com](https:\u002F\u002Fmanufact.com) — production-ready with observability, metrics, logs, and branch-deployments.\n\n---\n\n## Package Overview\n\nThis monorepo contains multiple packages for both Python and TypeScript:\n\n### Python Packages\n\n| Package     | Description                           | Version                                                                                 |\n| ----------- | ------------------------------------- | --------------------------------------------------------------------------------------- |\n| **mcp-use** | Complete MCP server and MCP agent SDK | [![PyPI](https:\u002F\u002Fimg.shields.io\u002Fpypi\u002Fv\u002Fmcp_use.svg)](https:\u002F\u002Fpypi.org\u002Fproject\u002Fmcp_use\u002F) |\n\n### TypeScript Packages\n\n| Package                | Description                                     | Version                                                                                                         |\n| ---------------------- | ----------------------------------------------- | --------------------------------------------------------------------------------------------------------------- |\n| **mcp-use**            | Core framework for MCP servers, MCP apps, and MCP agents | [![npm](https:\u002F\u002Fimg.shields.io\u002Fnpm\u002Fv\u002Fmcp-use.svg)](https:\u002F\u002Fwww.npmjs.com\u002Fpackage\u002Fmcp-use)                       |\n| **@mcp-use\u002Fcli**       | Build tool with hot reload and auto-inspector   | [![npm](https:\u002F\u002Fimg.shields.io\u002Fnpm\u002Fv\u002F@mcp-use\u002Fcli.svg)](https:\u002F\u002Fwww.npmjs.com\u002Fpackage\u002F@mcp-use\u002Fcli)             |\n| **@mcp-use\u002Finspector** | Web-based previewer and debugger for MCP servers              | [![npm](https:\u002F\u002Fimg.shields.io\u002Fnpm\u002Fv\u002F@mcp-use\u002Finspector.svg)](https:\u002F\u002Fwww.npmjs.com\u002Fpackage\u002F@mcp-use\u002Finspector) |\n| **create-mcp-use-app** | Project scaffolding tool                        | [![npm](https:\u002F\u002Fimg.shields.io\u002Fnpm\u002Fv\u002Fcreate-mcp-use-app.svg)](https:\u002F\u002Fwww.npmjs.com\u002Fpackage\u002Fcreate-mcp-use-app) |\n\n---\n\n## Also: MCP Agent & Client\n\nmcp-use also provides a full MCP Agent and Client implementation.\n\n\u003Cdetails>\n\u003Csummary>Build an AI Agent\u003C\u002Fsummary>\n\n### \u003Cimg src=\".\u002Fstatic\u002Fpython.svg\" height=\"14\" style=\"margin-right:4px; top:-1px; position:relative;\" align=\"center\" \u002F> Python\n\n```bash\npip install mcp-use langchain-openai\n```\n\n```python\nimport asyncio\nfrom langchain_openai import ChatOpenAI\nfrom mcp_use import MCPAgent, MCPClient\n\nasync def main():\n    config = {\n        \"mcpServers\": {\n            \"filesystem\": {\n                \"command\": \"npx\",\n                \"args\": [\"-y\", \"@modelcontextprotocol\u002Fserver-filesystem\", \"\u002Ftmp\"]\n            }\n        }\n    }\n\n    client = MCPClient.from_dict(config)\n    llm = ChatOpenAI(model=\"gpt-4o\")\n    agent = MCPAgent(llm=llm, client=client)\n\n    result = await agent.run(\"List all files in the directory\")\n    print(result)\n\nasyncio.run(main())\n```\n\n[**→ Full Python Agent Documentation**](.\u002Flibraries\u002Fpython\u002FREADME.md#quick-start)\n\n### \u003Cimg src=\".\u002Fstatic\u002Ftypescript.svg\" height=\"14\" style=\"margin-right:4px; top:-1px; position:relative;\" align=\"center\" \u002F> TypeScript\n\n```bash\nnpm install mcp-use @langchain\u002Fopenai\n```\n\n```typescript\nimport { ChatOpenAI } from \"@langchain\u002Fopenai\";\nimport { MCPAgent, MCPClient } from \"mcp-use\";\n\nasync function main() {\n  const config = {\n    mcpServers: {\n      filesystem: {\n        command: \"npx\",\n        args: [\"-y\", \"@modelcontextprotocol\u002Fserver-filesystem\", \"\u002Ftmp\"],\n      },\n    },\n  };\n\n  const client = MCPClient.fromDict(config);\n  const llm = new ChatOpenAI({ modelName: \"gpt-4o\" });\n  const agent = new MCPAgent({ llm, client });\n\n  const result = await agent.run(\"List all files in the directory\");\n  console.log(result);\n}\n\nmain();\n```\n\n[**→ Full TypeScript Agent Documentation**](.\u002Flibraries\u002Ftypescript\u002FREADME.md#-quick-start)\n\n\u003C\u002Fdetails>\n\n\u003Cdetails>\n\u003Csummary>Use MCP Client\u003C\u002Fsummary>\n\n### \u003Cimg src=\".\u002Fstatic\u002Fpython.svg\" height=\"14\" style=\"margin-right:4px; top:-1px; position:relative;\" align=\"center\" \u002F> Python\n\n```python\nimport asyncio\nfrom mcp_use import MCPClient\n\nasync def main():\n    config = {\n        \"mcpServers\": {\n            \"calculator\": {\n                \"command\": \"npx\",\n                \"args\": [\"-y\", \"@modelcontextprotocol\u002Fserver-everything\"]\n            }\n        }\n    }\n\n    client = MCPClient.from_dict(config)\n    await client.create_all_sessions()\n\n    session = client.get_session(\"calculator\")\n    result = await session.call_tool(name=\"add\", arguments={\"a\": 5, \"b\": 3})\n\n    print(f\"Result: {result.content[0].text}\")\n    await client.close_all_sessions()\n\nasyncio.run(main())\n```\n\n[**→ Python Client Documentation**](.\u002Flibraries\u002Fpython\u002FREADME.md#direct-tool-calls-without-llm)\n\n### \u003Cimg src=\".\u002Fstatic\u002Ftypescript.svg\" height=\"14\" style=\"margin-right:4px; top:-1px; position:relative;\" align=\"center\" \u002F> TypeScript\n\n```typescript\nimport { MCPClient } from \"mcp-use\";\n\nasync function main() {\n  const config = {\n    mcpServers: {\n      calculator: {\n        command: \"npx\",\n        args: [\"-y\", \"@modelcontextprotocol\u002Fserver-everything\"],\n      },\n    },\n  };\n\n  const client = new MCPClient(config);\n  await client.createAllSessions();\n\n  const session = client.getSession(\"calculator\");\n  const result = await session.callTool(\"add\", { a: 5, b: 3 });\n\n  console.log(`Result: ${result.content[0].text}`);\n  await client.closeAllSessions();\n}\n\nmain();\n```\n\n[**→ TypeScript Client Documentation**](.\u002Flibraries\u002Ftypescript\u002FREADME.md#basic-usage)\n\n\u003C\u002Fdetails>\n\n---\n\n## Conformance to Model Context Protocol\n\n\u003Cdiv align=\"center\">\n    \u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fmcp-use\u002Fmcp-use\u002Factions\u002Fworkflows\u002Fconformance.yml\" alt=\"Python MCP Conformance\">\n        \u003Cimg src=\"https:\u002F\u002Fimg.shields.io\u002Fendpoint?url=https:\u002F\u002Fgist.githubusercontent.com\u002Ftonxxd\u002F6edf670f0446dc9f7a1f32d6bfda2b70\u002Fraw\u002Fpython-conformance.json\" \u002F>\u003C\u002Fa>\n    \u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fmcp-use\u002Fmcp-use\u002Factions\u002Fworkflows\u002Fconformance.yml\" alt=\"Python MCP Client Conformance\">\n        \u003Cimg src=\"https:\u002F\u002Fimg.shields.io\u002Fendpoint?url=https:\u002F\u002Fgist.githubusercontent.com\u002Ftonxxd\u002F6edf670f0446dc9f7a1f32d6bfda2b70\u002Fraw\u002Fpython-client-conformance.json\" \u002F>\u003C\u002Fa>\n    \u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fmcp-use\u002Fmcp-use\u002Factions\u002Fworkflows\u002Fconformance.yml\" alt=\"TypeScript MCP Conformance\">\n        \u003Cimg src=\"https:\u002F\u002Fimg.shields.io\u002Fendpoint?url=https:\u002F\u002Fgist.githubusercontent.com\u002Ftonxxd\u002F6edf670f0446dc9f7a1f32d6bfda2b70\u002Fraw\u002Ftypescript-conformance.json\" \u002F>\u003C\u002Fa>\n    \u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fmcp-use\u002Fmcp-use\u002Factions\u002Fworkflows\u002Fconformance.yml\" alt=\"TypeScript MCP Client Conformance\">\n      \u003Cimg src=\"https:\u002F\u002Fimg.shields.io\u002Fendpoint?url=https:\u002F\u002Fgist.githubusercontent.com\u002Ftonxxd\u002F6edf670f0446dc9f7a1f32d6bfda2b70\u002Fraw\u002Ftypescript-node-client-conformance.json\" \u002F>\u003C\u002Fa>\n\u003C\u002Fdiv>\n\n---\n\n## Community & Support\n\n- **Discord**: [Join our community](https:\u002F\u002Fdiscord.gg\u002FXkNkSkMz3V)\n- **GitHub Issues**: [Report bugs or request features](https:\u002F\u002Fgithub.com\u002Fmcp-use\u002Fmcp-use\u002Fissues)\n- **Documentation**: [mcp-use.com\u002Fdocs](https:\u002F\u002Fmcp-use.com\u002Fdocs)\n- **Website**: [manufact.com](https:\u002F\u002Fmanufact.com)\n- **X.com**: Follow [Manufact](https:\u002F\u002Fx.com\u002Fmanufact)\n- **Contributing**: See [CONTRIBUTING.md](https:\u002F\u002Fgithub.com\u002Fmcp-use\u002Fmcp-use\u002Fblob\u002Fmain\u002FCONTRIBUTING.md)\n- **License**: MIT © [MCP-Use Contributors](https:\u002F\u002Fgithub.com\u002Fmcp-use\u002Fmcp-use\u002Fgraphs\u002Fcontributors)\n\n---\n\n## Star History\n\n[![Star History Chart](https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fmcp-use_mcp-use_readme_eee1eef12ad9.png)](https:\u002F\u002Fwww.star-history.com\u002F#mcp-use\u002Fmcp-use&Date)\n\n---\n\n## Contributors\n\nThanks to all our amazing contributors!\n\n### Core Contributors\n\n1. **Pietro** ([@pietrozullo](https:\u002F\u002Fgithub.com\u002Fpietrozullo))\n2. **Luigi** ([@pederzh](https:\u002F\u002Fgithub.com\u002Fpederzh))\n3. **Enrico** ([@tonxxd](https:\u002F\u002Fgithub.com\u002Ftonxxd))\n\n\u003Cbr>\n\n\u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fmcp-use\u002Fmcp-use\u002Fgraphs\u002Fcontributors\">\n  \u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fmcp-use_mcp-use_readme_4a16af9d8835.png\" \u002F>\n\u003C\u002Fa>\n\n---\n\n\u003Cdiv align=\"center\">\n  \u003Cstrong>Built with ❤️ by Manufact team and the mcp-use community\u003C\u002Fstrong>\n  \u003Cbr\u002F>\n  \u003Csub>San Francisco | Zürich\u003C\u002Fsub>\n\u003C\u002Fdiv>\n","\u003Cdiv align=\"center\">\n\u003Cdiv align=\"center\">\n  \u003Ca href=\"https:\u002F\u002Fmcp-use.com\">\n    \u003Cpicture>\n      \u003Csource media=\"(prefers-color-scheme: dark)\" srcset=\".\u002Fstatic\u002Flogo_white.svg\">\n      \u003Csource media=\"(prefers-color-scheme: light)\" srcset=\".\u002Fstatic\u002Flogo_black.svg\">\n      \u003Cimg alt=\"mcp use logo\" src=\".\u002Fstatic\u002Flogo_black.svg\" width=\"60%\" >\n    \u003C\u002Fpicture>\n  \u003C\u002Fa>\n\u003C\u002Fdiv>\n&nbsp;\n\n\u003Cp align=\"center\">\n    \u003Ca href=\"https:\u002F\u002Fmcp-use.com\u002Fdocs\" alt=\"Documentation\">\n        \u003Cimg src=\"https:\u002F\u002Fimg.shields.io\u002Fbadge\u002Fmcp--use-docs-blue?labelColor=white\" \u002F>\u003C\u002Fa>\n    \u003Ca href=\"https:\u002F\u002Fmanufact.com\" alt=\"Website\">\n        \u003Cimg src=\"https:\u002F\u002Fimg.shields.io\u002Fbadge\u002Fmade by-manufact.com-blue\" \u002F>\u003C\u002Fa>\n    \u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fmcp-use\u002Fmcp-use\u002Fblob\u002Fmain\u002FLICENSE\" alt=\"License\">\n        \u003Cimg src=\"https:\u002F\u002Fimg.shields.io\u002Fgithub\u002Flicense\u002Fmcp-use\u002Fmcp-use\" \u002F>\u003C\u002Fa>\n    \u003Ca href=\"https:\u002F\u002Fdiscord.gg\u002FXkNkSkMz3V\" alt=\"Discord\">\n        \u003Cimg src=\"https:\u002F\u002Fdcbadge.limes.pink\u002Fapi\u002Fserver\u002FXkNkSkMz3V?style=flat\" \u002F>\u003C\u002Fa>\n    \u003Cbr\u002F>\n    \u003Ca href=\"https:\u002F\u002Fmcp-use.com\u002Fdocs\u002Fpython\" alt=\"Python docs\">\n        \u003Cimg src=\"https:\u002F\u002Fimg.shields.io\u002Fbadge\u002Fpyhton-docs-blue?labelColor=white&logo=python\" alt=\"Badge\">\u003C\u002Fa>\n    \u003Ca href=\"https:\u002F\u002Fpypi.org\u002Fproject\u002Fmcp_use\u002F\" alt=\"PyPI Version\">\n        \u003Cimg src=\"https:\u002F\u002Fimg.shields.io\u002Fpypi\u002Fv\u002Fmcp_use.svg\"\u002F>\u003C\u002Fa>\n    \u003Ca href=\"https:\u002F\u002Fpypi.org\u002Fproject\u002Fmcp_use\u002F\" alt=\"PyPI Downloads\">\n        \u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fmcp-use_mcp-use_readme_fae08394318e.png\" \u002F>\u003C\u002Fa>\n    \u003Cbr\u002F>\n    \u003Ca href=\"https:\u002F\u002Fmcp-use.com\u002Fdocs\u002Ftypescript\" alt=\"Typescript Documentation\">\n        \u003Cimg src=\"https:\u002F\u002Fimg.shields.io\u002Fbadge\u002Ftypescript-docs-blue?labelColor=white&logo=typescript\" alt=\"Badge\">\u003C\u002Fa>\n    \u003Ca href=\"https:\u002F\u002Fwww.npmjs.com\u002Fpackage\u002Fmcp-use\" alt=\"NPM Version\">\n        \u003Cimg src=\"https:\u002F\u002Fimg.shields.io\u002Fnpm\u002Fv\u002Fmcp-use.svg\"\u002F>\u003C\u002Fa>\n    \u003Ca href=\"https:\u002F\u002Fwww.npmjs.com\u002Fpackage\u002Fmcp-use\" alt=\"NPM Downloads\">\n        \u003Cimg src=\"https:\u002F\u002Fimg.shields.io\u002Fnpm\u002Fdw\u002Fmcp-use.svg\"\u002F>\u003C\u002Fa>\n    \u003Cbr\u002F>\n\u003C\u002Fp>\n\u003C\u002Fdiv>\n\n## 关于\n\n  \u003Cb>mcp-use\u003C\u002Fb> 是一个全栈的 MCP 框架，用于构建适用于 ChatGPT \u002F Claude 的 MCP 应用程序以及面向 AI 代理的 MCP 服务器。\n\n- **构建**：使用 mcp-use SDK（[ts](https:\u002F\u002Fwww.npmjs.com\u002Fpackage\u002Fmcp-use) | [py](https:\u002F\u002Fpypi.org\u002Fproject\u002Fmcp_use\u002F)）创建 MCP 服务器和 MCP 应用程序。\n- **预览**：通过 mcp-use MCP 检查器（[在线](https:\u002F\u002Finspector.mcp-use.com\u002Finspector) | [开源](https:\u002F\u002Fgithub.com\u002Fmcp-use\u002Fmcp-use\u002Ftree\u002Fmain\u002Flibraries\u002Ftypescript\u002Fpackages\u002Finspector)）测试和调试您的 MCP 服务器和应用程序。\n- **部署**：在 [Manufact MCP Cloud](https:\u002F\u002Fmanufact.com) 上部署——只需连接您的 GitHub 仓库，即可让您的 MCP 服务器和应用在生产环境中运行，并享受可观性、指标、日志、分支部署等功能。\n\n## 文档\n\n访问我们的[文档](https:\u002F\u002Fmcp-use.com\u002Fdocs)，或直接跳转到快速入门指南（[TypeScript](https:\u002F\u002Fmcp-use.com\u002Fdocs\u002Ftypescript\u002Fgetting-started\u002Fquickstart) | [Python](https:\u002F\u002Fmcp-use.com\u002Fdocs\u002Fpython\u002Fgetting-started\u002Fquickstart))。\n\n### 针对编码智能体的技能\n\n> **正在使用 Claude Code、Codex、Cursor 或其他 AI 编码智能体吗？**\n>\n> **[安装 mcp-use 技能以用于 MCP 应用](https:\u002F\u002Fskills.sh\u002Fmcp-use\u002Fmcp-use\u002Fmcp-apps-builder)**\n\n## 快速入门：MCP 服务器与 MCP 应用\n\n### \u003Cimg src=\".\u002Fstatic\u002Ftypescript.svg\" height=\"14\" style=\"margin-right:4px; top:-1px; position:relative;\" align=\"center\" \u002F> TypeScript\n\n构建您的第一个 MCP 服务器或 MPC 应用：\n\n```bash\nnpx create-mcp-use-app@latest\n```\n\n或者手动创建一个服务器：\n\n```typescript\nimport { MCPServer, text } from \"mcp-use\u002Fserver\";\nimport { z } from \"zod\";\n\nconst server = new MCPServer({\n  name: \"my-server\",\n  version: \"1.0.0\",\n});\n\nserver.tool({\n  name: \"get_weather\",\n  description: \"获取某城市的天气\",\n  schema: z.object({ city: z.string() }),\n}, async ({ city }) => {\n  return text(`温度：72°F，天气：晴朗，城市：${city}`);\n});\n\nawait server.listen(3000);\n\u002F\u002F 检查器地址：http:\u002F\u002Flocalhost:3000\u002Finspector\n```\n\n[**→ 完整的 TypeScript 服务器文档**](https:\u002F\u002Fmcp-use.com\u002Fdocs\u002Ftypescript\u002Fserver)\n\n## MCP 应用\n\nMCP 应用允许您构建可在 Claude、ChatGPT 等多种 MCP 客户端上运行的交互式小部件——一次编写，处处运行。\n\n**服务器端**：定义一个工具并将其指向一个小部件：\n\n```typescript\nimport { MCPServer, widget } from \"mcp-use\u002Fserver\";\nimport { z } from \"zod\";\n\nconst server = new MCPServer({\n  name: \"weather-app\",\n  version: \"1.0.0\",\n});\n\nserver.tool({\n  name: \"get-weather\",\n  description: \"获取某城市的天气\",\n  schema: z.object({ city: z.string() }),\n  widget: \"weather-display\", \u002F\u002F 引用 resources\u002Fweather-display\u002Fwidget.tsx\n}, async ({ city }) => {\n  return widget({\n    props: { city、温度：22°C、天气状况：晴朗 },\n    message：`${city}的天气：晴朗，22°C`,\n  });\n});\n\nawait server.listen(3000);\n```\n\n**小部件端**：在 `resources\u002Fweather-display\u002Fwidget.tsx` 中创建一个 React 组件：\n\n```tsx\nimport { useWidget、type WidgetMetadata } from \"mcp-use\u002Freact\";\nimport { z } from \"zod\";\n\nconst propSchema = z.object({\n  city：字符串，\n  温度：数字，\n  天气状况：字符串，\n});\n\nexport const widgetMetadata：WidgetMetadata = {\n  描述：显示天气信息，\n  参数：propSchema，\n};\n\nconst WeatherDisplay：React.FC = () => {\n  const { props、是否等待中、主题 } = useWidget\u003Cz.infer\u003Ctypeof propSchema>>();\n  const isDark = theme === \"dark\";\n\n  if (isPending) return \u003Cdiv>加载中...\u003C\u002Fdiv>;\n\n  return (\n    \u003Cdiv style={{\n      背景：深色时为#1a1a2e，浅色时为#f0f4ff，\n      圆角：16，内边距：24，\n    }}>\n      \u003Ch2>{props.city}\u003C\u002Fh2>\n      \u003Cp>{props.temperature}° — {props.conditions}\u003C\u002Fp>\n    \u003C\u002Fdiv>\n  );\n};\n\nexport default WeatherDisplay;\n```\n\n位于 `resources\u002F` 目录下的小部件会自动被发现——无需手动注册。\n\n请访问[**MCP 应用文档**](https:\u002F\u002Fmcp-use.com\u002Fdocs\u002Ftypescript\u002Fserver\u002Fui-widgets)\n\n## 模板\n\n现成可用的 MCP 应用，您可以一键部署，也可以根据需要进行二次开发。\n\n| 预览 | 名称 | 工具 | 演示 URL | 仓库 | 部署 |\n| --- | --- | --- | --- | --- | --- |\n| ![图表生成器](https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fmcp-use_mcp-use_readme_37083931f2e9.gif) | 图表生成器 | `create-chart` | [打开链接](https:\u002F\u002Fyellow-shadow-21833.run.mcp-use.com\u002Fmcp) | [mcp-use\u002Fmcp-chart-builder](https:\u002F\u002Fgithub.com\u002Fmcp-use\u002Fmcp-chart-builder) | [![部署到 mcp-use](https:\u002F\u002Fcdn.mcp-use.com\u002Fdeploy.svg)](https:\u002F\u002Fmcp-use.com\u002Fdeploy\u002Fstart?repository-url=https%3A%2F%2Fgithub.com%2Fmcp-use%2Fmcp-chart-builder&branch=main&project-name=mcp-chart-builder&port=3000&runtime=node&base-image=node%3A20) |\n| ![流程图生成器](https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fmcp-use_mcp-use_readme_196c3298a1ad.gif) | 流程图生成器 | `create-diagram`, `edit-diagram` | [打开链接](https:\u002F\u002Flucky-darkness-402ph.run.mcp-use.com\u002Fmcp) | [mcp-use\u002Fmcp-diagram-builder](https:\u002F\u002Fgithub.com\u002Fmcp-use\u002Fmcp-diagram-builder) | [![部署到 mcp-use](https:\u002F\u002Fcdn.mcp-use.com\u002Fdeploy.svg)](https:\u002F\u002Fmcp-use.com\u002Fdeploy\u002Fstart?repository-url=https%3A%2F%2Fgithub.com%2Fmcp-use%2Fmcp-diagram-builder&branch=main&project-name=mcp-diagram-builder&port=3000&runtime=node&base-image=node%3A20) |\n| ![幻灯片演示文稿](https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fmcp-use_mcp-use_readme_ac7e4cda0e3b.gif) | 幻灯片演示文稿 | `create-slides`, `edit-slide` | [打开链接](https:\u002F\u002Fsolitary-block-r6m6x.run.mcp-use.com\u002Fmcp) | [mcp-use\u002Fmcp-slide-deck](https:\u002F\u002Fgithub.com\u002Fmcp-use\u002Fmcp-slide-deck) | [![部署到 mcp-use](https:\u002F\u002Fcdn.mcp-use.com\u002Fdeploy.svg)](https:\u002F\u002Fmcp-use.com\u002Fdeploy\u002Fstart?repository-url=https%3A%2F%2Fgithub.com%2Fmcp-use%2Fmcp-slide-deck&branch=main&project-name=mcp-slide-deck&port=3000&runtime=node&base-image=node%3A20) |\n| ![地图探索器](https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fmcp-use_mcp-use_readme_34c20d354631.gif) | 地图探索器 | `show-map`, `get-place-details`, `add-markers` | [打开链接](https:\u002F\u002Fsuper-night-ttde2.run.mcp-use.com\u002Fmcp) | [mcp-use\u002Fmcp-maps-explorer](https:\u002F\u002Fgithub.com\u002Fmcp-use\u002Fmcp-maps-explorer) | [![部署到 mcp-use](https:\u002F\u002Fcdn.mcp-use.com\u002Fdeploy.svg)](https:\u002F\u002Fmcp-use.com\u002Fdeploy\u002Fstart?repository-url=https%3A%2F%2Fgithub.com%2Fmcp-use%2Fmcp-maps-explorer&branch=main&project-name=mcp-maps-explorer&port=3000&runtime=node&base-image=node%3A20) |\n| ![Hugging Face Spaces](https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fmcp-use_mcp-use_readme_96721a05a40e.gif) | Hugging Face Spaces | `search-spaces`, `show-space`, `trending-spaces` | [打开链接](https:\u002F\u002Fgentle-frost-pvxpk.run.mcp-use.com\u002Fmcp) | [mcp-use\u002Fmcp-huggingface-spaces](https:\u002F\u002Fgithub.com\u002Fmcp-use\u002Fmcp-huggingface-spaces) | [![部署到 mcp-use](https:\u002F\u002Fcdn.mcp-use.com\u002Fdeploy.svg)](https:\u002F\u002Fmcp-use.com\u002Fdeploy\u002Fstart?repository-url=https%3A%2F%2Fgithub.com%2Fmcp-use%2Fmcp-huggingface-spaces&branch=main&project-name=mcp-huggingface-spaces&port=3000&runtime=node&base-image=node%3A20) |\n| ![食谱查找器](https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fmcp-use_mcp-use_readme_80b321b8bab1.gif) | 食谱查找器 | `search-recipes`, `get-recipe`, `meal-plan`, `recipe-suggestion` | [打开链接](https:\u002F\u002Fbold-tree-1fe79.run.mcp-use.com\u002Fmcp) | [mcp-use\u002Fmcp-recipe-finder](https:\u002F\u002Fgithub.com\u002Fmcp-use\u002Fmcp-recipe-finder) | [![部署到 mcp-use](https:\u002F\u002Fcdn.mcp-use.com\u002Fdeploy.svg)](https:\u002F\u002Fmcp-use.com\u002Fdeploy\u002Fstart?repository-url=https%3A%2F%2Fgithub.com%2Fmcp-use%2Fmcp-recipe-finder&branch=main&project-name=mcp-recipe-finder&port=3000&runtime=node&base-image=node%3A20) |\n| ![组件库](https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fmcp-use_mcp-use_readme_a2efb1ff9a17.gif) | 组件库 | `show-react-widget`, `html-greeting`, `mcp-ui-poll`, `programmatic-counter`, `detect-client` | [打开链接](https:\u002F\u002Fwandering-lake-mmxhs.run.mcp-use.com\u002Fmcp) | [mcp-use\u002Fmcp-widget-gallery](https:\u002F\u002Fgithub.com\u002Fmcp-use\u002Fmcp-widget-gallery) | [![部署到 mcp-use](https:\u002F\u002Fcdn.mcp-use.com\u002Fdeploy.svg)](https:\u002F\u002Fmcp-use.com\u002Fdeploy\u002Fstart?repository-url=https%3A%2F%2Fgithub.com%2Fmcp-use%2Fmcp-widget-gallery&branch=main&project-name=mcp-widget-gallery&port=3000&runtime=node&base-image=node%3A20) |\n| ![多服务器枢纽](https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fmcp-use_mcp-use_readme_13c507cfc86a.gif) | 多服务器枢纽 | `hub-status`, `hub-config-example`, `audit-log` | [打开链接](https:\u002F\u002Fsoft-voice-4nxfi.run.mcp-use.com\u002Fmcp) | [mcp-use\u002Fmcp-multi-server-hub](https:\u002F\u002Fgithub.com\u002Fmcp-use\u002Fmcp-multi-server-hub) | [![部署到 mcp-use](https:\u002F\u002Fcdn.mcp-use.com\u002Fdeploy.svg)](https:\u002F\u002Fmcp-use.com\u002Fdeploy\u002Fstart?repository-url=https%3A%2F%2Fgithub.com%2Fmcp-use%2Fmcp-multi-server-hub&branch=main&project-name=mcp-multi-server-hub&port=3000&runtime=node&base-image=node%3A20) |\n| ![文件管理器](https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fmcp-use_mcp-use_readme_8384c565c6a3.gif) | 文件管理器 | `open-vault`, `get-file`, `list-files` | [打开链接](https:\u002F\u002Fmuddy-pond-eyays.run.mcp-use.com\u002Fmcp) | [mcp-use\u002Fmcp-file-manager](https:\u002F\u002Fgithub.com\u002Fmcp-use\u002Fmcp-file-manager) | [![部署到 mcp-use](https:\u002F\u002Fcdn.mcp-use.com\u002Fdeploy.svg)](https:\u002F\u002Fmcp-use.com\u002Fdeploy\u002Fstart?repository-url=https%3A%2F%2Fgithub.com%2Fmcp-use%2Fmcp-file-manager&branch=main&project-name=mcp-file-manager&port=3000&runtime=node&base-image=node%3A20) |\n| ![进度演示](https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fmcp-use_mcp-use_readme_4f833deb4e55.gif) | 进度演示 | `process-data`, `fetch-report`, `delete-dataset`, `search-external`, `failing-tool` | [打开链接](https:\u002F\u002Fcrimson-river-pzsz1.run.mcp-use.com\u002Fmcp) | [mcp-use\u002Fmcp-progress-demo](https:\u002F\u002Fgithub.com\u002Fmcp-use\u002Fmcp-progress-demo) | [![部署到 mcp-use](https:\u002F\u002Fcdn.mcp-use.com\u002Fdeploy.svg)](https:\u002F\u002Fmcp-use.com\u002Fdeploy\u002Fstart?repository-url=https%3A%2F%2Fgithub.com%2Fmcp-use%2Fmcp-progress-demo&branch=main&project-name=mcp-progress-demo&port=3000&runtime=node&base-image=node%3A20) |\n| ![自适应国际化](https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fmcp-use_mcp-use_readme_131f10fbf70f.gif) | 自适应国际化 | `show-context`, `detect-caller` | [打开链接](https:\u002F\u002Ffalling-grass-58yov.run.mcp-use.com\u002Fmcp) | [mcp-use\u002Fmcp-i18n-adaptive](https:\u002F\u002Fgithub.com\u002Fmcp-use\u002Fmcp-i18n-adaptive) | [![部署到 mcp-use](https:\u002F\u002Fcdn.mcp-use.com\u002Fdeploy.svg)](https:\u002F\u002Fmcp-use.com\u002Fdeploy\u002Fstart?repository-url=https%3A%2F%2Fgithub.com%2Fmcp-use%2Fmcp-i18n-adaptive&branch=main&project-name=mcp-i18n-adaptive&port=3000&runtime=node&base-image=node%3A20) |\n| ![媒体混合器](https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fmcp-use_mcp-use_readme_9fb182ffd659.gif) | 媒体混合器 | `generate-image`, `generate-audio`, `generate-pdf`, `get-report`, `get-html-snippet`, `get-xml-config`, `get-stylesheet`, `get-script`, `get-data-array` | [打开链接](https:\u002F\u002Fwandering-breeze-nuipu.run.mcp-use.com\u002Fmcp) | [mcp-use\u002Fmcp-media-mixer](https:\u002F\u002Fgithub.com\u002Fmcp-use\u002Fmcp-media-mixer) | [![部署到 mcp-use](https:\u002F\u002Fcdn.mcp-use.com\u002Fdeploy.svg)](https:\u002F\u002Fmcp-use.com\u002Fdeploy\u002Fstart?repository-url=https%3A%2F%2Fgithub.com%2Fmcp-use%2Fmcp-media-mixer&branch=main&project-name=mcp-media-mixer&port=3000&runtime=node&base-image=node%3A20) |\n| ![资源监视器](https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fmcp-use_mcp-use_readme_168cf1ddf80d.gif) | 资源监视器 | `show-config`, `update-config`, `toggle-feature`, `list-roots` | [打开链接](https:\u002F\u002Ffragrant-term-zmdks.run.mcp-use.com\u002Fmcp) | [mcp-use\u002Fmcp-resource-watcher](https:\u002F\u002Fgithub.com\u002Fmcp-use\u002Fmcp-resource-watcher) | [![部署到 mcp-use](https:\u002F\u002Fcdn.mcp-use.com\u002Fdeploy.svg)](https:\u002F\u002Fmcp-use.com\u002Fdeploy\u002Fstart?repository-url=https%3A%2F%2Fgithub.com%2Fmcp-use%2Fmcp-resource-watcher&branch=main&project-name=mcp-resource-watcher&port=3000&runtime=node&base-image=node%3A20) |\n\n---\n\n\n### \u003Cimg src=\".\u002Fstatic\u002Fpython.svg\" height=\"14\" style=\"margin-right:4px; top:-1px; position:relative;\" align=\"center\" \u002F> Python\n\n```bash\npip install mcp-use\n```\n\n```python\nfrom typing import Annotated\n\nfrom mcp.types import ToolAnnotations\nfrom pydantic import Field\n\nfrom mcp_use import MCPServer\n\nserver = MCPServer(name=\"Weather Server\", version=\"1.0.0\")\n\n@server.tool(\n    name=\"get_weather\",\n    description=\"获取某个地点的当前天气信息\",\n    annotations=ToolAnnotations(readOnlyHint=True, openWorldHint=True),\n)\nasync def get_weather(\n    city: Annotated[str, Field(description=\"城市名称\")],\n) -> str:\n    return f\"温度：72°F，天气：晴朗，城市：{city}\"\n\n# 使用自动检查器启动服务器\nserver.run(transport=\"streamable-http\", port=8000)\n# 🎉 检查器地址：http:\u002F\u002Flocalhost:8000\u002Finspector\n```\n\n[**→ 完整的 Python 服务器文档**](https:\u002F\u002Fmcp-use.com\u002Fdocs\u002Fpython\u002Fserver\u002Findex)\n\n---\n\n## 检查器\n\nmcp-use 检查器允许您以交互方式测试和调试您的 MCP 服务器。\n\n**自动包含**在使用 `server.listen()` 时：\n\n```typescript\nserver.listen(3000);\n\u002F\u002F 检查器地址：http:\u002F\u002Flocalhost:3000\u002Finspector\n```\n\n**在线**连接到托管的 MCP 服务器时：\n\u003Cbr>\n>访问 https:\u002F\u002Finspector.mcp-use.com\n\n**独立使用**：检查任何 MCP 服务器：\n\n```bash\nnpx @mcp-use\u002Finspector --url http:\u002F\u002Flocalhost:3000\u002Fmcp\n```\n\n请访问 [**检查器文档**](https:\u002F\u002Fmcp-use.com\u002Fdocs\u002Finspector\u002Findex)\n\n---\n\n## 部署\n\n将您的 MCP 服务器部署到生产环境：\n\n```bash\nnpx @mcp-use\u002Fcli login\nnpx @mcp-use\u002Fcli deploy\n```\n\n或者将您的 GitHub 仓库连接到 [manufact.com](https:\u002F\u002Fmanufact.com)，即可实现生产就绪，并提供可观测性、指标、日志和分支部署功能。\n\n---\n\n## 包概述\n\n这个 monorepo 包含适用于 Python 和 TypeScript 的多个包：\n\n### Python 包\n\n| 包名     | 描述                           | 版本                                                                                 |\n| ----------- | ------------------------------------- | --------------------------------------------------------------------------------------- |\n| **mcp-use** | 完整的 MCP 服务器和 MCP 代理 SDK | [![PyPI](https:\u002F\u002Fimg.shields.io\u002Fpypi\u002Fv\u002Fmcp_use.svg)](https:\u002F\u002Fpypi.org\u002Fproject\u002Fmcp_use\u002F) |\n\n### TypeScript 包\n\n| 包名                | 描述                                     | 版本                                                                                                         |\n| ---------------------- | ----------------------------------------------- | --------------------------------------------------------------------------------------------------------------- |\n| **mcp-use**            | MCP 服务器、MCP 应用和 MCP 代理的核心框架 | [![npm](https:\u002F\u002Fimg.shields.io\u002Fnpm\u002Fv\u002Fmcp-use.svg)](https:\u002F\u002Fwww.npmjs.com\u002Fpackage\u002Fmcp-use)                       |\n| **@mcp-use\u002Fcli**       | 带有热重载和自动检查器的构建工具   | [![npm](https:\u002F\u002Fimg.shields.io\u002Fnpm\u002Fv\u002F@mcp-use\u002Fcli.svg)](https:\u002F\u002Fwww.npmjs.com\u002Fpackage\u002F@mcp-use\u002Fcli)             |\n| **@mcp-use\u002Finspector** | 基于 Web 的 MCP 服务器预览与调试工具              | [![npm](https:\u002F\u002Fimg.shields.io\u002Fnpm\u002Fv\u002F@mcp-use\u002Finspector.svg)](https:\u002F\u002Fwww.npmjs.com\u002Fpackage\u002F@mcp-use\u002Finspector) |\n| **create-mcp-use-app** | 项目脚手架工具                        | [![npm](https:\u002F\u002Fimg.shields.io\u002Fnpm\u002Fv\u002Fcreate-mcp-use-app.svg)](https:\u002F\u002Fwww.npmjs.com\u002Fpackage\u002Fcreate-mcp-use-app) |\n\n---\n\n## 此外：MCP 代理与客户端\n\nmcp-use 还提供了完整的 MCP 代理和客户端实现。\n\n\u003Cdetails>\n\u003Csummary>构建 AI 代理\u003C\u002Fsummary>\n\n### \u003Cimg src=\".\u002Fstatic\u002Fpython.svg\" height=\"14\" style=\"margin-right:4px; top:-1px; position:relative;\" align=\"center\" \u002F> Python\n\n```bash\npip install mcp-use langchain-openai\n```\n\n```python\nimport asyncio\nfrom langchain_openai import ChatOpenAI\nfrom mcp_use import MCPAgent, MCPClient\n\nasync def main():\n    config = {\n        \"mcpServers\": {\n            \"filesystem\": {\n                \"command\": \"npx\",\n                \"args\": [\"-y\", \"@modelcontextprotocol\u002Fserver-filesystem\", \"\u002Ftmp\"]\n            }\n        }\n    }\n\n    client = MCPClient.from_dict(config)\n    llm = ChatOpenAI(model=\"gpt-4o\")\n    agent = MCPAgent(llm=llm, client=client)\n\n    result = await agent.run(\"列出目录中的所有文件\")\n    print(result)\n\nasyncio.run(main())\n```\n\n[**→ 完整的 Python 代理文档**](.\u002Flibraries\u002Fpython\u002FREADME.md#quick-start)\n\n### \u003Cimg src=\".\u002Fstatic\u002Ftypescript.svg\" height=\"14\" style=\"margin-right:4px; top:-1px; position:relative;\" align=\"center\" \u002F> TypeScript\n\n```bash\nnpm install mcp-use @langchain\u002Fopenai\n```\n\n```typescript\nimport { ChatOpenAI } from \"@langchain\u002Fopenai\";\nimport { MCPAgent, MCPClient } from \"mcp-use\";\n\nasync function main() {\n  const config = {\n    mcpServers: {\n      filesystem: {\n        command: \"npx\",\n        args: [\"-y\", \"@modelcontextprotocol\u002Fserver-filesystem\", \"\u002Ftmp\"],\n      },\n    },\n  };\n\n  const client = MCPClient.fromDict(config);\n  const llm = new ChatOpenAI({ modelName: \"gpt-4o\" });\n  const agent = new MCPAgent({ llm, client });\n\n  const result = await agent.run(\"列出目录中的所有文件\");\n  console.log(result);\n}\n\nmain();\n```\n\n[**→ 完整的 TypeScript 代理文档**](.\u002Flibraries\u002Ftypescript\u002FREADME.md#-quick-start)\n\n\u003C\u002Fdetails>\n\n\u003Cdetails>\n\u003Csummary>使用 MCP 客户端\u003C\u002Fsummary>\n\n### \u003Cimg src=\".\u002Fstatic\u002Fpython.svg\" height=\"14\" style=\"margin-right:4px; top:-1px; position:relative;\" align=\"center\" \u002F> Python\n\n```python\nimport asyncio\nfrom mcp_use import MCPClient\n\nasync def main():\n    config = {\n        \"mcpServers\": {\n            \"calculator\": {\n                \"command\": \"npx\",\n                \"args\": [\"-y\", \"@modelcontextprotocol\u002Fserver-everything\"]\n            }\n        }\n    }\n\n    client = MCPClient.from_dict(config)\n    await client.create_all_sessions()\n\n    session = client.get_session(\"calculator\")\n    result = await session.call_tool(name=\"add\", arguments={\"a\": 5, \"b\": 3})\n\n    print(f\"结果: {result.content[0].text}\")\n    await client.close_all_sessions()\n\nasyncio.run(main())\n```\n\n[**→ Python 客户端文档**](.\u002Flibraries\u002Fpython\u002FREADME.md#direct-tool-calls-without-llm)\n\n### \u003Cimg src=\".\u002Fstatic\u002Ftypescript.svg\" height=\"14\" style=\"margin-right:4px; top:-1px; position:relative;\" align=\"center\" \u002F> TypeScript\n\n```typescript\nimport { MCPClient } from \"mcp-use\";\n\nasync function main() {\n  const config = {\n    mcpServers: {\n      calculator: {\n        command: \"npx\",\n        args: [\"-y\", \"@modelcontextprotocol\u002Fserver-everything\"],\n      },\n    },\n  };\n\n  const client = new MCPClient(config);\n  await client.createAllSessions();\n\n  const session = client.getSession(\"calculator\");\n  const result = await session.callTool(\"add\", { a: 5, b: 3 });\n\n  console.log(`结果: ${result.content[0].text}`);\n  await client.closeAllSessions();\n}\n\nmain();\n```\n\n[**→ TypeScript 客户端文档**](.\u002Flibraries\u002Ftypescript\u002FREADME.md#basic-usage)\n\n\u003C\u002Fdetails>\n\n---\n\n## 模型上下文协议一致性\n\n\u003Cdiv align=\"center\">\n    \u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fmcp-use\u002Fmcp-use\u002Factions\u002Fworkflows\u002Fconformance.yml\" alt=\"Python MCP 一致性\">\n        \u003Cimg src=\"https:\u002F\u002Fimg.shields.io\u002Fendpoint?url=https:\u002F\u002Fgist.githubusercontent.com\u002Ftonxxd\u002F6edf670f0446dc9f7a1f32d6bfda2b70\u002Fraw\u002Fpython-conformance.json\" \u002F>\u003C\u002Fa>\n    \u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fmcp-use\u002Fmcp-use\u002Factions\u002Fworkflows\u002Fconformance.yml\" alt=\"Python MCP 客户端一致性\">\n        \u003Cimg src=\"https:\u002F\u002Fimg.shields.io\u002Fendpoint?url=https:\u002F\u002Fgist.githubusercontent.com\u002Ftonxxd\u002F6edf670f0446dc9f7a1f32d6bfda2b70\u002Fraw\u002Fpython-client-conformance.json\" \u002F>\u003C\u002Fa>\n    \u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fmcp-use\u002Fmcp-use\u002Factions\u002Fworkflows\u002Fconformance.yml\" alt=\"TypeScript MCP 一致性\">\n        \u003Cimg src=\"https:\u002F\u002Fimg.shields.io\u002Fendpoint?url=https:\u002F\u002Fgist.githubusercontent.com\u002Ftonxxd\u002F6edf670f0446dc9f7a1f32d6bfda2b70\u002Fraw\u002Ftypescript-conformance.json\" \u002F>\u003C\u002Fa>\n    \u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fmcp-use\u002Fmcp-use\u002Factions\u002Fworkflows\u002Fconformance.yml\" alt=\"TypeScript MCP 客户端一致性\">\n      \u003Cimg src=\"https:\u002F\u002Fimg.shields.io\u002Fendpoint?url=https:\u002F\u002Fgist.githubusercontent.com\u002Ftonxxd\u002F6edf670f0446dc9f7a1f32d6bfda2b70\u002Fraw\u002Ftypescript-node-client-conformance.json\" \u002F>\u003C\u002Fa>\n\u003C\u002Fdiv>\n\n---\n\n## 社区与支持\n\n- **Discord**: [加入我们的社区](https:\u002F\u002Fdiscord.gg\u002FXkNkSkMz3V)\n- **GitHub Issues**: [报告问题或请求功能](https:\u002F\u002Fgithub.com\u002Fmcp-use\u002Fmcp-use\u002Fissues)\n- **文档**: [mcp-use.com\u002Fdocs](https:\u002F\u002Fmcp-use.com\u002Fdocs)\n- **官网**: [manufact.com](https:\u002F\u002Fmanufact.com)\n- **X.com**: 关注 [Manufact](https:\u002F\u002Fx.com\u002Fmanufact)\n- **贡献**: 请参阅 [CONTRIBUTING.md](https:\u002F\u002Fgithub.com\u002Fmcp-use\u002Fmcp-use\u002Fblob\u002Fmain\u002FCONTRIBUTING.md)\n- **许可证**: MIT © [MCP-Use 贡献者](https:\u002F\u002Fgithub.com\u002Fmcp-use\u002Fmcp-use\u002Fgraphs\u002Fcontributors)\n\n---\n\n## 星标历史\n\n[![星标历史图表](https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fmcp-use_mcp-use_readme_eee1eef12ad9.png)](https:\u002F\u002Fwww.star-history.com\u002F#mcp-use\u002Fmcp-use&Date)\n\n---\n\n## 贡献者\n\n感谢所有了不起的贡献者！\n\n### 核心贡献者\n\n1. **皮耶特罗** ([@pietrozullo](https:\u002F\u002Fgithub.com\u002Fpietrozullo))\n2. **路易吉** ([@pederzh](https:\u002F\u002Fgithub.com\u002Fpederzh))\n3. **恩里科** ([@tonxxd](https:\u002F\u002Fgithub.com\u002Ftonxxd))\n\n\u003Cbr>\n\n\u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fmcp-use\u002Fmcp-use\u002Fgraphs\u002Fcontributors\">\n  \u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fmcp-use_mcp-use_readme_4a16af9d8835.png\" \u002F>\n\u003C\u002Fa>\n\n---\n\n\u003Cdiv align=\"center\">\n  \u003Cstrong>由 Manufact 团队和 mcp-use 社区用心打造\u003C\u002Fstrong>\n  \u003Cbr\u002F>\n  \u003Csub>旧金山 | 苏黎世\u003C\u002Fsub>\n\u003C\u002Fdiv>","# mcp-use 快速上手指南\n\n**mcp-use** 是一个全栈 MCP（Model Context Protocol）框架，用于为 ChatGPT、Claude 等 AI 助手构建 MCP 服务器和交互式 MCP 应用。它支持 TypeScript 和 Python，提供从开发、调试到云端部署的一站式解决方案。\n\n## 环境准备\n\n在开始之前，请确保您的开发环境满足以下要求：\n\n*   **操作系统**: Windows, macOS 或 Linux\n*   **Node.js**: 版本 18 或更高（推荐使用 LTS 版本）\n    *   检查版本：`node -v`\n*   **包管理器**: npm (随 Node.js 安装) 或 yarn\u002Fpnpm\n*   **代码编辑器**: 推荐 VS Code\n\n> **提示**：国内开发者若遇到 npm 下载缓慢问题，可临时切换至淘宝镜像源：\n> `npm config set registry https:\u002F\u002Fregistry.npmmirror.com`\n\n## 安装步骤\n\nmcp-use 提供了命令行工具来快速初始化项目。您无需手动安装核心库，脚手架会自动处理依赖。\n\n在终端中运行以下命令创建新项目：\n\n```bash\nnpx create-mcp-use-app@latest\n```\n\n按照提示输入项目名称并选择模板（TypeScript 或 Python），系统将自动安装所需依赖并生成项目结构。\n\n## 基本使用\n\n以下是使用 TypeScript 构建一个简单 MCP 服务器的最小示例。该服务器暴露一个 `get_weather` 工具，返回模拟的天气信息。\n\n### 1. 创建服务器文件\n\n在项目根目录下创建 `server.ts`（或在 `src\u002F` 目录中），写入以下代码：\n\n```typescript\nimport { MCPServer, text } from \"mcp-use\u002Fserver\";\nimport { z } from \"zod\";\n\nconst server = new MCPServer({\n  name: \"my-server\",\n  version: \"1.0.0\",\n});\n\nserver.tool({\n  name: \"get_weather\",\n  description: \"Get weather for a city\",\n  schema: z.object({ city: z.string() }),\n}, async ({ city }) => {\n  return text(`Temperature: 72°F, Condition: sunny, City: ${city}`);\n});\n\nawait server.listen(3000);\n\u002F\u002F Inspector at http:\u002F\u002Flocalhost:3000\u002Finspector\n```\n\n### 2. 运行与调试\n\n启动服务器：\n\n```bash\nnpx tsx server.ts\n# 或者如果已配置 scripts\nnpm run dev\n```\n\n服务启动后，打开浏览器访问内置的调试器：\n`http:\u002F\u002Flocalhost:3000\u002Finspector`\n\n在 Inspector 界面中，您可以测试 `get_weather` 工具，查看输入输出及日志信息。\n\n### 3. 构建交互式 MCP 应用 (可选)\n\nmcp-use 支持构建带有 UI 组件（Widgets）的应用，可在支持的 AI 客户端中直接渲染。\n\n**服务端定义：**\n\n```typescript\nimport { MCPServer, widget } from \"mcp-use\u002Fserver\";\nimport { z } from \"zod\";\n\nconst server = new MCPServer({\n  name: \"weather-app\",\n  version: \"1.0.0\",\n});\n\nserver.tool({\n  name: \"get-weather\",\n  description: \"Get weather for a city\",\n  schema: z.object({ city: z.string() }),\n  widget: \"weather-display\", \u002F\u002F 指向 resources\u002Fweather-display\u002Fwidget.tsx\n}, async ({ city }) => {\n  return widget({\n    props: { city, temperature: 22, conditions: \"Sunny\" },\n    message: `Weather in ${city}: Sunny, 22°C`,\n  });\n});\n\nawait server.listen(3000);\n```\n\n**前端组件 (`resources\u002Fweather-display\u002Fwidget.tsx`)：**\n\n```tsx\nimport { useWidget, type WidgetMetadata } from \"mcp-use\u002Freact\";\nimport { z } from \"zod\";\n\nconst propSchema = z.object({\n  city: z.string(),\n  temperature: z.number(),\n  conditions: z.string(),\n});\n\nexport const widgetMetadata: WidgetMetadata = {\n  description: \"Display weather information\",\n  props: propSchema,\n};\n\nconst WeatherDisplay: React.FC = () => {\n  const { props, isPending, theme } = useWidget\u003Cz.infer\u003Ctypeof propSchema>>();\n  const isDark = theme === \"dark\";\n\n  if (isPending) return \u003Cdiv>Loading...\u003C\u002Fdiv>;\n\n  return (\n    \u003Cdiv style={{\n      background: isDark ? \"#1a1a2e\" : \"#f0f4ff\",\n      borderRadius: 16, padding: 24,\n    }}>\n      \u003Ch2>{props.city}\u003C\u002Fh2>\n      \u003Cp>{props.temperature}° — {props.conditions}\u003C\u002Fp>\n    \u003C\u002Fdiv>\n  );\n};\n\nexport default WeatherDisplay;\n```\n\n放置在 `resources\u002F` 目录下的 Widget 组件会被自动发现，无需手动注册。","某 SaaS 初创团队希望让内部客服 AI 能够实时查询用户订单状态并执行退款操作，需要快速构建连接大模型与公司数据库的工具链。\n\n### 没有 mcp-use 时\n- **开发门槛高**：开发者需手动编写复杂的 JSON-RPC 通信逻辑来处理 AI 与后端服务的交互，代码冗长且容易出错。\n- **调试困难**：缺乏专用测试环境，每次修改工具参数都要重启整个 AI 对话流程进行验证，排查问题耗时极长。\n- **部署繁琐**：将本地脚本转化为生产级服务需要自行配置服务器、日志监控和版本管理，运维成本高昂。\n- **多语言割裂**：前端用 TypeScript 而后端用 Python 时，难以统一标准接口，导致团队协作效率低下。\n\n### 使用 mcp-use 后\n- **极速构建**：利用 mcp-use 的 SDK，开发者仅需几行代码即可定义“查询订单”和“执行退款”工具，自动处理底层通信协议。\n- **可视化调试**：通过集成的 MCP Inspector 网页工具，团队能实时模拟 AI 调用、查看输入输出数据，将调试时间从小时级缩短至分钟级。\n- **一键上云**：连接 GitHub 仓库后，mcp-use 自动在 Manufact 云平台部署服务，原生提供日志监控、指标分析和分支预览功能。\n- **全栈统一**：无论是 TypeScript 还是 Python 项目，均遵循同一套标准规范，前后端开发人员可无缝协作开发 AI 能力。\n\nmcp-use 将原本需要数天搭建的 AI 工具链压缩至几小时内完成，让团队能专注于业务逻辑而非基础设施重复造轮子。","https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fmcp-use_mcp-use_37083931.gif","Manufact","https:\u002F\u002Foss.gittoolsai.com\u002Favatars\u002Fmcp-use_725910d6.png","Open source dev-tools and infra for MCP (model context protocol)",null,"dev@manufact.com","pietrozullo","https:\u002F\u002Fmanufact.com","https:\u002F\u002Fgithub.com\u002Fmcp-use",[83,87,91,95,99,103,107,111],{"name":84,"color":85,"percentage":86},"TypeScript","#3178c6",76.9,{"name":88,"color":89,"percentage":90},"Python","#3572A5",18,{"name":92,"color":93,"percentage":94},"JavaScript","#f1e05a",3.6,{"name":96,"color":97,"percentage":98},"Shell","#89e051",0.7,{"name":100,"color":101,"percentage":102},"HTML","#e34c26",0.4,{"name":104,"color":105,"percentage":106},"CSS","#663399",0.2,{"name":108,"color":109,"percentage":110},"Go Template","#00ADD8",0.1,{"name":112,"color":113,"percentage":114},"Dockerfile","#384d54",0,9786,1244,"2026-04-18T13:37:44","MIT","未说明",{"notes":121,"python":119,"dependencies":122},"该工具是一个全栈 MCP 框架，主要提供 TypeScript (Node.js) 和 Python 两种 SDK。TypeScript 版本用于构建 MCP 服务器和应用（支持 React 组件作为 Widget），依赖 zod 进行模式验证；Python 版本同样可用。部署示例显示其运行时环境通常为 Node.js 20。未提及具体的 GPU、内存或特定 Python 版本要求，属于常规应用开发框架而非重型 AI 模型推理工具。",[123,124],"zod","react",[13,14,35,15,45],[127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,6,145],"mcp","model-context-protocol","apps-sdk","mcp-apps","mcp-inspector","mcp-servers","mcp-ui","agentic-framework","ai","mcp-client","mcp-host","mcp-server","modelcontextprotocol","mcp-gateway","mcp-tools","llms","chatgpt","claude-code","skills","2026-03-27T02:49:30.150509","2026-04-20T04:06:05.005182",[149,154,159,164,169,174],{"id":150,"question_zh":151,"answer_zh":152,"source_url":153},43506,"是否有发布 NodeJS 或 TypeScript (JS) 版本的计划？","是的，TypeScript 版本已经发布。您可以访问 https:\u002F\u002Fgithub.com\u002Fmcp-use\u002Fmcp-use-ts 获取该版本并参与贡献。","https:\u002F\u002Fgithub.com\u002Fmcp-use\u002Fmcp-use\u002Fissues\u002F63",{"id":155,"question_zh":156,"answer_zh":157,"source_url":158},43507,"遇到 'TypeError: cannot pickle '_asyncio.Future' object' 错误该如何解决？","这是一个已知的兼容性问题，通常发生在将异步调用转换为同步调用时（特别是在 Cloud Foundry 等环境中）。维护者已确认该问题并将发布补丁版本修复。请确保升级到最新的 mcp-use 版本以包含此修复。","https:\u002F\u002Fgithub.com\u002Fmcp-use\u002Fmcp-use\u002Fissues\u002F734",{"id":160,"question_zh":161,"answer_zh":162,"source_url":163},43508,"MCP 是否支持返回选择服务器或调用工具时的推理过程（Reasoning Trace）？","目前可以通过控制台输出进行调试，但为了企业级的可观测性（如集成 Langfuse），社区正在讨论将其捕获为数据结构的标准方案。目前建议关注后续版本更新以获取原生的结构化推理追踪支持。","https:\u002F\u002Fgithub.com\u002Fmcp-use\u002Fmcp-use\u002Fissues\u002F199",{"id":165,"question_zh":166,"answer_zh":167,"source_url":168},43509,"mcp-use 是否支持 MCP-server 的 Resources（资源）能力？","是的，该功能已在最新版本中支持。请安装或升级到 `mcp-use>=1.2.13` 版本（例如运行 `pip install -U mcp-use`），即可使用 Resources 和 Prompts 功能。","https:\u002F\u002Fgithub.com\u002Fmcp-use\u002Fmcp-use\u002Fissues\u002F67",{"id":170,"question_zh":171,"answer_zh":172,"source_url":173},43510,"运行时报错 'stdio_client() takes 1 positional argument but 2 were given' 怎么办？","这是由于 `mcp` 库的版本与 `mcp-use` (特别是 1.1.5 版本) 不兼容导致的。解决方法是升级 `mcp` 库到最新版本：`pip install -U mcp`。","https:\u002F\u002Fgithub.com\u002Fmcp-use\u002Fmcp-use\u002Fissues\u002F29",{"id":175,"question_zh":176,"answer_zh":177,"source_url":178},43511,"文档中引用的 Anthropic 模型 'claude-3-5-sonnet-20241022' 已停用，应该替换为什么模型？","该模型已被弃用。请将代码中的模型标识符更新为当前活跃的模型，例如 `claude-sonnet-4-6` 或 `claude-opus-4-6`。示例代码应修改为：`new ChatAnthropic({ model: 'claude-sonnet-4-6', ... })`。建议定期查看 Anthropic 官方的模型弃用页面以获取最新推荐。","https:\u002F\u002Fgithub.com\u002Fmcp-use\u002Fmcp-use\u002Fissues\u002F1258",[180,185,190,195,200,205,209,214,218,223,228,233,238,243,248,252,257,262,266,271],{"id":181,"version":182,"summary_zh":183,"released_at":184},343106,"mcp-use@1.24.2-canary.2","### 补丁变更\n\n- 更新了依赖项 [ee5abf8]\n  - @mcp-use\u002Finspector@2.2.0-canary.2\n  - @mcp-use\u002Fcli@3.0.2-canary.2","2026-04-17T22:22:37",{"id":186,"version":187,"summary_zh":188,"released_at":189},343107,"@mcp-use\u002Finspector@2.2.0-canary.2","### 小改动\n\n- ee5abf8：在 MCP Inspector 的聊天头中添加了“复制聊天”和“导出聊天”按钮。两种操作都会将工具调用按发生顺序内联包含在结果中。复制会将 Markdown 格式的内容写入剪贴板；导出则会以 JSON 或 Markdown 格式下载。\n\n### 补丁更新\n\n- mcp-use@1.24.2-canary.2","2026-04-17T22:22:36",{"id":191,"version":192,"summary_zh":193,"released_at":194},343108,"@mcp-use\u002Fcli@3.0.2-canary.2","### 补丁变更\n\n- 更新了依赖项 [ee5abf8]\n  - @mcp-use\u002Finspector@2.2.0-canary.2\n  - mcp-use@1.24.2-canary.2","2026-04-17T22:22:35",{"id":196,"version":197,"summary_zh":198,"released_at":199},343109,"mcp-use@1.24.2-canary.1","### 补丁变更\n\n- 更新了依赖项 [8f8a8e0]\n  - @mcp-use\u002Fcli@3.0.2-canary.1\n  - @mcp-use\u002Finspector@2.1.1-canary.1","2026-04-17T14:38:10",{"id":201,"version":202,"summary_zh":203,"released_at":204},343110,"@mcp-use\u002Finspector@2.1.1-canary.1","### 补丁更新\n\n- mcp-use@1.24.2-预发布.1","2026-04-17T14:38:09",{"id":206,"version":207,"summary_zh":208,"released_at":204},343111,"@mcp-use\u002Fcli@3.0.2-canary.1","### 补丁变更\n\n- 8f8a8e0：部署：将 HTTP 401 状态码视为当前后端的 API 密钥无效或已过期——显示简短的重新认证提示，而非 GitHub 应用“未连接”流程。在解析组织信息后（包括从磁盘读取组织信息时）会执行 `testAuth`。GitHub 连接检查和安装轮询也会通过相同的 401 错误处理路径进行恢复。\n  - mcp-use@1.24.2-canary.1\n  - @mcp-use\u002Finspector@2.1.1-canary.1",{"id":210,"version":211,"summary_zh":212,"released_at":213},343112,"mcp-use@1.24.2-canary.0","### 补丁变更\n\n- 更新了依赖项 [5f0c888]\n  - @mcp-use\u002Fcli@3.0.2-canary.0\n  - @mcp-use\u002Finspector@2.1.1-canary.0","2026-04-17T13:47:29",{"id":215,"version":216,"summary_zh":217,"released_at":213},343113,"@mcp-use\u002Finspector@2.1.1-canary.0","### 补丁变更\n\n- mcp-use@1.24.2-预发布.0",{"id":219,"version":220,"summary_zh":221,"released_at":222},343114,"@mcp-use\u002Fcli@3.0.2-canary.0","### 补丁变更\n\n- 5f0c888：部署：`git init`、`commit` 和 `push` 不再静默失败——Git 相关命令在发生错误时会抛出异常并输出 stderr；推送前会将首个分支规范化为 `main`；`git rev-parse HEAD` 会验证当前存在有效的提交。`mcp-use deploy` 命令会捕获这些错误，并提示用户缺少 `user.name` 或 `user.email` 配置，以及推送被拒绝或非快进式推送的情况。提交信息现已使用 Shell 引号进行转义。\n  - mcp-use@1.24.2-canary.0\n  - @mcp-use\u002Finspector@2.1.1-canary.0","2026-04-17T13:47:28",{"id":224,"version":225,"summary_zh":226,"released_at":227},343115,"mcp-use@1.24.1-canary.3","### 补丁变更\n\n- 更新了依赖项 [d85fb4f]\n  - @mcp-use\u002Finspector@2.1.0-canary.3\n  - @mcp-use\u002Fcli@3.0.1-canary.3","2026-04-16T17:30:43",{"id":229,"version":230,"summary_zh":231,"released_at":232},343116,"@mcp-use\u002Finspector@2.1.0-canary.3","### Patch Changes\n\n- d85fb4f: Add theme toggle button to MCP Apps debug controls toolbar\n  - mcp-use@1.24.1-canary.3","2026-04-16T17:30:42",{"id":234,"version":235,"summary_zh":236,"released_at":237},343117,"@mcp-use\u002Fcli@3.0.1-canary.3","### Patch Changes\n\n- Updated dependencies [d85fb4f]\n  - @mcp-use\u002Finspector@2.1.0-canary.3\n  - mcp-use@1.24.1-canary.3","2026-04-16T17:30:41",{"id":239,"version":240,"summary_zh":241,"released_at":242},343118,"mcp-use@1.24.1-canary.2","### Patch Changes\n\n- Updated dependencies [744db4d]\n  - @mcp-use\u002Fcli@3.0.1-canary.2\n  - @mcp-use\u002Finspector@2.1.0-canary.2","2026-04-16T12:40:46",{"id":244,"version":245,"summary_zh":246,"released_at":247},343119,"@mcp-use\u002Finspector@2.1.0-canary.2","### Patch Changes\n\n- mcp-use@1.24.1-canary.2","2026-04-16T12:40:45",{"id":249,"version":250,"summary_zh":251,"released_at":247},343120,"@mcp-use\u002Fcli@3.0.1-canary.2","### Patch Changes\n\n- 744db4d: refactor(cli): enhance deploy command with GitHub authorization handling\n  - mcp-use@1.24.1-canary.2\n  - @mcp-use\u002Finspector@2.1.0-canary.2",{"id":253,"version":254,"summary_zh":255,"released_at":256},343121,"mcp-use@1.24.1-canary.1","### Patch Changes\n\n- 9fed740: Fix inspector \"Protected resource does not match\" error when switching from Via Proxy to Direct connection. The `window.fetch` interceptor installed by `BrowserOAuthClientProvider` is now correctly restored when `useMcp` unmounts, preventing the stale proxy interceptor from interfering with subsequent direct OAuth flows.\n  - @mcp-use\u002Fcli@3.0.1-canary.1\n  - @mcp-use\u002Finspector@2.1.0-canary.1","2026-04-16T06:32:38",{"id":258,"version":259,"summary_zh":260,"released_at":261},343122,"@mcp-use\u002Finspector@2.1.0-canary.1","### Patch Changes\n\n- Updated dependencies [9fed740]\n  - mcp-use@1.24.1-canary.1","2026-04-16T06:32:37",{"id":263,"version":264,"summary_zh":265,"released_at":261},343123,"@mcp-use\u002Fcli@3.0.1-canary.1","### Patch Changes\n\n- Updated dependencies [9fed740]\n  - mcp-use@1.24.1-canary.1\n  - @mcp-use\u002Finspector@2.1.0-canary.1",{"id":267,"version":268,"summary_zh":269,"released_at":270},343124,"mcp-use@1.24.1-canary.0","### Patch Changes\n\n- Updated dependencies [27bd31c]\n  - @mcp-use\u002Finspector@2.1.0-canary.0\n  - @mcp-use\u002Fcli@3.0.1-canary.0","2026-04-16T00:44:57",{"id":272,"version":273,"summary_zh":274,"released_at":275},343125,"@mcp-use\u002Finspector@2.1.0-canary.0","### Minor Changes\n\n- 27bd31c: Inspector navbar UX improvements\n  - Chat tab moved to first position, always shows label even when collapsed, with visual separator\n  - Active tab label stays visible when navbar is collapsed (new `alwaysExpanded` prop on TabsTrigger)\n  - Deploy button added linking to manufact.com\u002Fsignup with inspector referrer\n  - Tunnel button repositioned between Add to Client and Deploy, restyled with violet theme, now visible in mobile layout\n  - Theme toggle, command palette, and GitHub consolidated into a settings dropdown menu\n  - \"Report a Bug\" menu item added, pre-fills GitHub issue with inspector label\n\n### Patch Changes\n\n- mcp-use@1.24.1-canary.0","2026-04-16T00:44:56"]