Claude Desktop Extensions: One-click MCP server installation
Desktop Extensions fundamentally shift how users interact with local AI tools by packaging Model Context Protocol (MCP) servers into a single, installable format, making powerful local capabilities accessible without requiring developer tools or manual configuration.
This new feature addresses the significant installation friction associated with MCP servers, allowing users to run local servers that interact with private data and applications using a simple one-click process.
The Problem with MCP Server Installation
The Model Context Protocol (MCP) enables Claude Desktop to access local resources such as file systems and databases, but its previous installation process created substantial barriers for non-technical users. The complexity stemmed from several friction points:
- External Dependencies: Users were required to install developer tools like Node.js or Python.
- Manual Configuration: Each server required manual editing of JSON configuration files.
- Dependency Management: Users had to resolve package conflicts and version mismatches.
- Discovery and Updates: Finding useful MCP servers required manual searches on platforms like GitHub, and keeping servers current required manual reinstallation.
Introducing Desktop Extensions (.mcpb)
Desktop Extensions solve these issues by bundling an entire MCP server, including all necessary dependencies, into a single, installable package using the .mcpb file extension. This format replaces the older .dxt extension, which is maintained for backward compatibility, but the functionality remains identical.
The user experience is simplified to three steps: download a .mcpb file, double-click it to open in Claude Desktop, and click "Install." This process requires no terminal commands, configuration file editing, or dependency resolution.
Technical Architecture of Desktop Extensions
A Desktop Extension is structured as a zip archive containing the local MCP server code and a required manifest.json file. Claude Desktop handles the underlying complexity, ensuring a seamless and secure user experience.
Core Architectural Features
- Built-in Runtime: Claude Desktop ships with Node.js, eliminating the need for users to install external runtimes.
- Automatic Updates: Extensions update automatically when newer versions become available.
- Secure Secrets Management: Sensitive configuration, such as API keys, is securely stored in the operating system's keychain.
The Role of manifest.json
The manifest.json is the primary configuration file that describes the extension to Claude Desktop and other supporting applications. It contains human-readable metadata (name, description, author), a declaration of features (tools, prompts), and user configuration requirements.
Developers can define configuration requirements within the manifest, allowing Claude Desktop to manage the input process. For instance, a developer can declare that an api_key is needed. Claude Desktop will then:
- Display a user-friendly configuration UI.
- Validate the input before enabling the extension.
- Securely store the value in the OS secret vault.
- Transparently replace a placeholder (e.g.,
${user_config.api_key}) with the user-supplied value when launching the server.
Developer Workflow for Building Extensions
Packaging an existing MCP server into a Desktop Extension involves a four-step process:
1. Create the Manifest
Developers initialize the extension by creating a manifest.json file, which can be done using an interactive tool provided by Anthropic.
2. Handle User Configuration
If the server requires user input (e.g., allowed directories or API keys), this is declared in the manifest. Claude Desktop manages the collection, validation, and secure passing of this configuration to the server, either as arguments or environment variables.
3. Package the Extension
All components are bundled into the final .mcpb file using a dedicated command that validates the manifest and generates the archive.
4. Test Locally
The resulting .mcpb file can be dragged into Claude Desktop's Settings window, where the human-readable information, required permissions, and a simple "Install" button are displayed.
Advanced Features and Ecosystem
Dynamic and Cross-Platform Support
Extensions support cross-platform adaptation. Furthermore, the manifest allows for dynamic configuration using template literals to inject runtime values, such as ${__dirname} (the extension's installation directory), ${user_config.key} (user-provided settings), or system environment variables like ${HOME}.
Security and Enterprise Controls
Anthropic has implemented several security safeguards for the preview release of Desktop Extensions. For enterprise environments, the system supports:
- Group Policy (Windows) and MDM (macOS) integration.
- The ability to pre-install approved extensions.
- Blocklisting specific extensions or publishers.
- Disabling the extension directory entirely and deploying private directories.
Open Ecosystem Commitment
Anthropic is open-sourcing the entire Desktop Extension ecosystem, including the complete MCPB specification, packaging and validation tools, reference implementation code, and TypeScript types. This commitment ensures that developers can package once and run anywhere that supports MCPB, benefiting both MCP server developers and application developers.
Conclusion and Implications
Desktop Extensions represent a fundamental shift toward making powerful local AI tools universally accessible. By removing installation friction, Anthropic is enabling millions of users to connect Claude's capabilities to the tools, data, and applications already present on their local machines. The open-sourcing of the MCPB format is intended to foster a broad, collaborative ecosystem beyond Claude Desktop, allowing other AI applications to benefit from this standardized portability.