Tiện ích mở rộng Claude Desktop hiện sử dụng phần mở rộng tệp .mcpb (MCP Bundle) thay vì .dxt. Các tiện ích mở rộng .dxt hiện có vẫn hoạt động, nhưng chúng tôi khuyến nghị các nhà phát triển sử dụng .mcpb cho các tiện ích mở rộng mới trong tương lai. Mọi chức năng vẫn giữ nguyên - đây chỉ là bản cập nhật quy ước đặt tên.
Khi chúng tôi phát hành Giao thức Ngữ cảnh Mô hình (MCP) vào năm ngoái, chúng tôi đã thấy các nhà phát triển xây dựng những máy chủ cục bộ tuyệt vời, mang lại cho Claude quyền truy cập vào mọi thứ từ hệ thống tệp đến cơ sở dữ liệu. Nhưng chúng tôi liên tục nhận được cùng một phản hồi: việc cài đặt quá phức tạp. Người dùng cần các công cụ dành cho nhà phát triển, phải chỉnh sửa tệp cấu hình thủ công và thường gặp khó khăn với các vấn đề phụ thuộc.
Hôm nay, chúng tôi giới thiệu Tiện ích mở rộng Desktop—một định dạng đóng gói mới giúp việc cài đặt máy chủ MCP trở nên đơn giản như nhấp một nút.
Các máy chủ MCP cục bộ mở khóa những khả năng mạnh mẽ cho người dùng Claude Desktop. Chúng có thể tương tác với các ứng dụng cục bộ, truy cập dữ liệu riêng tư và tích hợp với các công cụ phát triển—tất cả trong khi vẫn giữ dữ liệu trên máy của người dùng. Tuy nhiên, quy trình cài đặt hiện tại tạo ra những rào cản đáng kể:
Những điểm ma sát này có nghĩa là các máy chủ MCP, dù mạnh mẽ, vẫn phần lớn không thể tiếp cận được với người dùng không chuyên về kỹ thuật.
Tiện ích mở rộng Desktop (.mcpb) giải quyết những vấn đề này bằng cách đóng gói toàn bộ máy chủ MCP—bao gồm tất cả các phụ thuộc—vào một gói cài đặt duy nhất. Đây là những gì thay đổi đối với người dùng:
Chỉ vậy thôi. Không cần terminal, không cần tệp cấu hình, không có xung đột phụ thuộc.
Tiện ích mở rộng Desktop là một kho lưu trữ zip chứa máy chủ MCP cục bộ cùng với một tệp manifest.json, mô tả mọi thứ mà Claude Desktop và các ứng dụng khác hỗ trợ tiện ích mở rộng desktop cần biết.
Tệp duy nhất bắt buộc trong Tiện ích mở rộng Desktop là manifest.json. Claude Desktop xử lý tất cả sự phức tạp:
Manifest chứa thông tin có thể đọc được bởi con người (như tên, mô tả hoặc tác giả), khai báo các tính năng (công cụ, prompt), cấu hình người dùng và yêu cầu runtime. Hầu hết các trường đều tùy chọn, vì vậy phiên bản tối thiểu khá ngắn, mặc dù trong thực tế, chúng tôi mong đợi cả ba loại tiện ích mở rộng được hỗ trợ (Node.js, Python và các tệp nhị phân/thực thi cổ điển) sẽ bao gồm các tệp:
Có một số tùy chọn tiện lợi có sẵn trong thông số kỹ thuật manifest nhằm giúp việc cài đặt và cấu hình máy chủ MCP cục bộ dễ dàng hơn. Đối tượng cấu hình máy chủ có thể được định nghĩa theo cách tạo không gian cho cả cấu hình do người dùng định nghĩa dưới dạng template literal cũng như các ghi đè dành riêng cho nền tảng. Các nhà phát triển tiện ích mở rộng có thể định nghĩa chi tiết loại cấu hình họ muốn thu thập từ người dùng.
Hãy xem một ví dụ cụ thể về cách manifest hỗ trợ cấu hình. Trong manifest dưới đây, nhà phát triển khai báo rằng người dùng cần cung cấp một api_key. Claude sẽ không kích hoạt tiện ích mở rộng cho đến khi người dùng cung cấp giá trị đó, tự động lưu trữ nó trong kho bí mật của hệ điều hành và thay thế một cách minh bạch ${user_config.api_key} bằng giá trị do người dùng cung cấp khi khởi chạy máy chủ.
Tương tự, `${__dirname}` sẽ được thay thế bằng đường dẫn đầy đủ đến thư mục giải nén của extension.
Một file `manifest.json` hoàn chỉnh với hầu hết các trường tùy chọn có thể trông như thế này:
Để xem một extension và manifest, vui lòng tham khảo các ví dụ trong kho lưu trữ MCPB.
Thông số kỹ thuật đầy đủ cho tất cả các trường bắt buộc và tùy chọn trong `manifest.json` có thể được tìm thấy như một phần của bộ công cụ mã nguồn mở của chúng tôi.
Hãy cùng xem qua quy trình đóng gói một MCP server hiện có thành Desktop Extension. Chúng tôi sẽ sử dụng một file system server đơn giản làm ví dụ.
Đầu tiên, khởi tạo một manifest cho server của bạn:
Công cụ tương tác này sẽ hỏi về server của bạn và tạo ra một manifest.json hoàn chỉnh. Nếu bạn muốn chạy nhanh để có manifest.json cơ bản nhất, bạn có thể chạy lệnh với tham số `--yes`.
Nếu server của bạn cần đầu vào từ người dùng (như API key hoặc thư mục được phép), hãy khai báo nó trong manifest:
Trong ví dụ dưới đây, chúng tôi đang truyền cấu hình người dùng dưới dạng biến môi trường, nhưng nó cũng có thể là một đối số.
Đóng gói mọi thứ thành một file `.mcpb`:
Kéo file `.mcpb` của bạn vào cửa sổ Cài đặt của Claude Desktop. Bạn sẽ thấy:
Extensions có thể thích ứng với các hệ điều hành khác nhau:
Sử dụng template literals cho các giá trị runtime:
Giúp người dùng hiểu khả năng của extension ngay từ đầu:
Chúng tôi đang ra mắt với một thư mục extension được tuyển chọn sẵn tích hợp trong Claude Desktop. Người dùng có thể duyệt, tìm kiếm và cài đặt chỉ với một cú nhấp chuột—không cần tìm kiếm trên GitHub hay kiểm tra mã nguồn.
Mặc dù chúng tôi mong đợi cả thông số kỹ thuật của Desktop Extension và việc triển khai trong Claude cho macOS và Windows sẽ phát triển theo thời gian, chúng tôi rất mong chờ được thấy nhiều cách sáng tạo mà extensions có thể được sử dụng để mở rộng khả năng của Claude.
Chúng tôi cam kết với hệ sinh thái mở xung quanh MCP server và tin rằng khả năng được áp dụng rộng rãi bởi nhiều ứng dụng và dịch vụ đã mang lại lợi ích cho cộng đồng. Phù hợp với cam kết này, chúng tôi đang mã nguồn mở hóa thông số kỹ thuật của Desktop Extension, bộ công cụ, cũng như các schema và chức năng chính mà Claude cho macOS và Windows sử dụng để hỗ trợ Desktop Extension. Chúng tôi hy vọng rằng định dạng MCPB không chỉ giúp các MCP server cục bộ trở nên di động hơn cho Claude, mà còn cho các ứng dụng AI desktop khác.
Thông số kỹ thuật và bộ công cụ được cố tình đánh phiên bản 0.1, vì chúng tôi mong muốn được làm việc với cộng đồng rộng lớn hơn để phát triển và thay đổi định dạng. Chúng tôi rất mong nhận được phản hồi từ bạn.
Chúng tôi hiểu rằng extensions mang đến những cân nhắc bảo mật mới, đặc biệt là đối với doanh nghiệp. Chúng tôi đã xây dựng một số biện pháp bảo vệ với bản phát hành xem trước của Desktop Extensions:
Để biết thêm thông tin về cách quản lý extensions trong tổ chức của bạn, hãy xem tài liệu của chúng tôi.
Sẵn sàng xây dựng extension của riêng bạn? Đây là cách bắt đầu:
Đối với nhà phát triển MCP server: Xem lại tài liệu dành cho nhà phát triển của chúng tôi – hoặc bắt đầu ngay bằng cách chạy các lệnh sau trong thư mục MCP server cục bộ của bạn:
Đối với người dùng Claude Desktop: Cập nhật lên phiên bản mới nhất và tìm phần Extensions trong
**在设置中**
**面向企业:** 请查阅我们的企业文档以了解部署选项。
在Anthropic内部,我们发现Claude在构建扩展时几乎无需人工干预。如果您也想使用Claude Code,我们建议您简要说明扩展的功能,然后在提示中添加以下上下文:
桌面扩展代表了用户与本地AI工具交互方式的根本性转变。通过消除安装障碍,我们让强大的MCP服务器能够被所有人使用——而不仅仅是开发者。
在内部,我们正在使用桌面扩展来分享高度实验性的MCP服务器——有些有趣,有些实用。一个团队尝试探索,当模型直接连接到GameBoy时能走多远,类似于我们的"Claude玩宝可梦"研究。我们使用桌面扩展打包了一个单一扩展,它打开了流行的PyBoy GameBoy模拟器,让Claude能够掌控操作。我们相信,将模型能力与用户本地机器上已有的工具、数据和应用程序连接起来,存在着无数机会。
我们迫不及待想看到您的创作。那些为我们带来数千个MCP服务器的创造力,现在只需一键即可触达数百万用户。准备好分享您的MCP服务器了吗?提交您的扩展以供审核。
Claude Desktop Extensions now use the .mcpb (MCP Bundle) file extension instead of .dxt. Existing .dxt extensions will continue to work, but we recommend developers use .mcpb for new extensions going forward. All functionality remains the same - this is purely a naming convention update.
When we released the Model Context Protocol (MCP) last year, we saw developers build amazing local servers that gave Claude access to everything from file systems to databases. But we kept hearing the same feedback: installation was too complex. Users needed developer tools, had to manually edit configuration files, and often got stuck on dependency issues.
Today, we're introducing Desktop Extensions—a new packaging format that makes installing MCP servers as simple as clicking a button.
Local MCP servers unlock powerful capabilities for Claude Desktop users. They can interact with local applications, access private data, and integrate with development tools—all while keeping data on the user's machine. However, the current installation process creates significant barriers:
These friction points meant that MCP servers, despite their power, remained largely inaccessible to non-technical users.
Desktop Extensions (.mcpbfiles) solve these problems by bundling an entire MCP server—including all dependencies—into a single installable package. Here's what changes for users:
That's it. No terminal, no configuration files, no dependency conflicts.
A Desktop Extension is a zip archive containing the local MCP server as well as amanifest.json, which describes everything Claude Desktop and other apps supporting desktop extensions need to know.
The only required file in a Desktop Extension is a manifest.json. Claude Desktop handles all the complexity:
The manifest contains human-readable information (like the name, description, or author), a declaration of features (tools, prompts), user configuration, and runtime requirements. Most fields are optional, so the minimal version is quite short, although in practice, we expect all three supported extension types (Node.js, Python, and classic binaries/executables) to include files:
There are a number of convenience optionsavailable in the manifest specthat aim to make the installation and configuration of local MCP servers easier. The server configuration object can be defined in a way that makes room both for user-defined configuration in the form of template literals as well as platform-specific overrides. Extension developers can define, in detail, what kind of configuration they want to collect from users.
Let’s take a look at a concrete example of how the manifest aids with configuration. In the manifest below, the developer declares that the user needs to supply anapi_key. Claude will not enable the extension until the user has supplied that value, keep it automatically in the operating system’s secret vault, and transparently replace the${user_config.api_key}with the user-supplied value when launching the server. Similarly,${__dirname}will be replaced with the full path to the extension’s unpacked directory.
A fullmanifest.jsonwith most of the optional fields might look like this:
To see an extension and manifest, please referto the examples in the MCPB repository.
The full specification for all required and optional fields in themanifest.jsoncan be found as part of ouropen-source toolchain.
Let's walk through packaging an existing MCP server as a Desktop Extension. We'll use a simple file system server as an example.
First, initialize a manifest for your server:
This interactive tool asks about your server and generates a complete manifest.json. If you want to speed-run your way to the most basic manifest.json, you can run the command with a --yes parameter.
If your server needs user input (like API keys or allowed directories), declare it in the manifest:
In the example below, we’re passing the user configuration as an environment variable, but it could also be an argument.
Bundle everything into a.mcpbfile:
Drag your.mcpbfile into Claude Desktop's Settings window. You'll see:
Extensions can adapt to different operating systems:
Use template literals for runtime values:
Help users understand capabilities upfront:
We're launching with a curated directory of extensions built into Claude Desktop. Users can browse, search, and install with one click—no searching GitHub or vetting code.
While we expect both the Desktop Extension specification and the implementation in Claude for macOS and Windows to evolve over time, we look forward to seeing the many ways in which extensions can be used to expand the capabilities of Claude in creative ways.
We are committed to the open ecosystem around MCP servers and believe that its ability to be universally adopted by multiple applications and services has benefitted the community. In line with this commitment, we’re open-sourcing the Desktop Extension specification, toolchain, and the schemas and key functions used by Claude for macOS and Windows to implement its own support of Desktop Extensions. It is our hope that the MCPB format doesn’t just make local MCP servers more portable for Claude, but other AI desktop applications, too.
The specification and toolchain is on purpose versioned as 0.1, as we are looking forward to working with the greater community on evolving and changing the format. We look forward to hearing from you.
We understand that extensions introduce new security considerations, particularly for enterprises. We've built in several safeguards with the preview release of Desktop Extensions:
For more information about how to manage extensions within your organization, see ourdocumentation.
Ready to build your own extension? Here's how to start:
For MCP server developers: Review ourdeveloper documentation– or dive right in by running the following commands in your local MCP servers’ directory:
For Claude Desktop users: Update to the latest version and look for the Extensions section in Settings
For enterprises: Review our enterprise documentation for deployment options
Internally at Anthropic, we have found that Claude is great at building extensions with minimal intervention. If you too want to use Claude Code, we recommend that you briefly explain what you want your extension to do and then add the following context to the prompt:
Desktop Extensions represent a fundamental shift in how users interact with local AI tools. By removing installation friction, we're making powerful MCP servers accessible to everyone—not just developers.
Internally, we’re using desktop extensions to share highly experimental MCP servers - some fun, some useful.. One team experimented to see how far our models could make it when directly connected to a GameBoy, similar to our“Claude plays Pokémon” research. We used Desktop Extensions to package a single extension that opens up the popularPyBoyGameBoy emulator and lets Claude take control. We believe that countless opportunities exist to connect the model’s capabilities to the tools, data, and applications users already have on their local machines.
We can't wait to see what you build. The same creativity that brought us thousands of MCP servers can now reach millions of users with just one click. Ready to share your MCP server?Submit your extension for review.