Desktop Extensions for Claude Desktop transform what was once a developer-only, manual process into something anyone can access with a single click.
This shift empowers both developers and everyday users to tap into the full capabilities of local AI, no coding or troubleshooting required.
The Old Barriers to AI Tool Integration with MCP
Previously, installing Model Context Protocol (MCP) servers posed significant hurdles. Users needed to install runtimes like Node.js or Python, manually edit configuration files, resolve conflicting dependencies, and scour GitHub for compatible resources. For most, keeping these servers up-to-date or secure was a daunting task.
- Manual configuration and command-line tools were required
- Dependency issues often broke installations
- Lack of simple discovery and update methods
Introducing Desktop Extensions: Simplicity First
Desktop Extensions, distributed as .dxt files, make MCP server installation effortless. Each .dxt file bundles the code, dependencies, and configuration into a single package. Just download, double-click, and your extension is ready, no command line or manual edits necessary.
- Bundled dependencies eliminate external requirements
- No need to install separate runtimes, Claude Desktop includes them
- Automatic updates and secure handling of sensitive info
How It Works
Each Desktop Extension is a zip archive containing a manifest.json file. This manifest defines server features, configuration options, and required runtimes, while the archive packs all the code and libraries needed.
Claude Desktop reads this metadata, manages user settings via a friendly UI, and stores secrets securely using the device’s OS keychain.
- Reads metadata and features from the manifest
- Offers simple configuration through the app interface
- Keeps sensitive data safe with OS-level security
Below is an example of the manifest.json file for the extentsion. To see an extension and manifest, please refer to the examples in the dxt repository. The full specification for all required and optional fields in the manifest.json can be found as part of our open-source toolchain.
{
"dxt_version": "0.1",
"name": "My MCP Extension",
"display_name": "My Awesome MCP Extension",
"version": "1.0.0",
"description": "A brief description of what this extension does",
"long_description": "A detailed description that can include multiple paragraphs explaining the extension's functionality, use cases, and features. It supports basic markdown.",
"author": {
"name": "Your Name",
"email": "yourname@example.com",
"url": "https://your-website.com"
},
"repository": {
"type": "git",
"url": "https://github.com/your-username/my-mcp-extension"
},
"homepage": "https://example.com/my-extension",
"documentation": "https://docs.example.com/my-extension",
"support": "https://github.com/your-username/my-extension/issues",
"icon": "icon.png",
"screenshots": [
"assets/screenshots/screenshot1.png",
"assets/screenshots/screenshot2.png"
],
"server": {
"type": "node",
"entry_point": "server/index.js",
"mcp_config": {
"command": "node",
"args": ["${__dirname}/server/index.js"],
"env": {
"ALLOWED_DIRECTORIES": "${user_config.allowed_directories}"
}
}
},
"tools": [
{
"name": "search_files",
"description": "Search for files in a directory"
}
],
"prompts": [
{
"name": "poetry",
"description": "Have the LLM write poetry",
"arguments": ["topic"],
"text": "Write a creative poem about the following topic: ${arguments.topic}"
}
],
"tools_generated": true,
"keywords": ["api", "automation", "productivity"],
"license": "MIT",
"compatibility": {
"claude_desktop": ">=1.0.0",
"platforms": ["darwin", "win32", "linux"],
"runtimes": {
"node": ">=16.0.0"
}
},
"user_config": {
"allowed_directories": {
"type": "directory",
"title": "Allowed Directories",
"description": "Directories the server can access",
"multiple": true,
"required": true,
"default": ["${HOME}/Desktop"]
},
"api_key": {
"type": "string",
"title": "API Key",
"description": "Your API key for authentication",
"sensitive": true,
"required": false
},
"max_file_size": {
"type": "number",
"title": "Maximum File Size (MB)",
"description": "Maximum file size to process",
"default": 10,
"min": 1,
"max": 100
}
}
}
Developers can prompt for user inputs, like API keys or directories, directly in the manifest. The system supports platform-specific tweaks, feature lists, and custom tool definitions, ensuring flexibility for all use cases.
Getting Started: Build Your First Extension
- Initialize the manifest using provided CLI tools
- Declare user-configurable fields right in the manifest
- Bundle everything into a .dxt file with one command
- Test by dragging the file into Claude Desktop
Extensions adjust to different operating systems, use dynamic values, and expose user-friendly tools. A curated directory lets users discover and install extensions with ease.
A Central Directory for Extensions
Anthropic is launching with a curated directory of extensions built into Claude Desktop. Users can browse, search, and install with one click. This will help increase exploration and confidence in developer extensions while facilitating safety.
Developers can submit extentions for the directory in a few easy steps.
- Ensure it follows the guidelines found in the submission form
- Test across Windows and macOS
- Submit your extension
- Our team reviews for quality and security
Open Ecosystem for Developers
Anthropic supports an open ecosystem by open-sourcing the DXT spec, packaging tools, and reference code.
MCP server creators can package once and deploy anywhere DXT is supported, while app developers can easily add extension support. This approach ensures a consistent, secure experience for everyone.
Checkout how to create an extension with Claude here
- Full DXT spec and tools available on GitHub
- Submit extensions for inclusion in an official directory
- Enterprise-ready with security and policy controls
Security and Enterprise Controls
Security is foundational. Sensitive values remain on-device, managed via the operating system’s keychain. Enterprise users benefit from group policy support, curated extension directories, and the ability to approve or restrict specific extensions.
Start Building and Using Extensions
Developers will find comprehensive documentation and easy-to-use tools to get started. End users need only update Claude Desktop and browse the built-in extension directory. Enterprises can deploy and manage extensions at scale with robust control features.
AI for Everyone
Desktop Extensions eliminate traditional barriers and democratize access to powerful local AI integrations. Whether you build or use extensions, Claude Desktop now brings advanced capabilities to your fingertips—no expertise required. The open ecosystem is ready for your innovation.
Source: Anthropic Engineering Blog
Unlocking Local AI MCP Power: One-Click Desktop Extensions for Claude