Desktop Extensions (DXT for short) is a tool developed by Anthropic to package native MCP (Model Context Protocol) servers into easy-to-install.dxt
DXT is in a ZIP compressed format and contains all the MCP Server files and a single file. It allows developers to quickly integrate the MCP server into desktop applications, and users can install it with a single click without complex configuration.DXT comes in a ZIP compressed format and contains all the files for the MCP server and amanifest.json
file that describes the configuration and functionality of the server.Anthropic encourages developers to participate in improvements by open-sourcing the DXT specification and toolchain to promote the popularization of AI tools for desktop applications.DXT supports applications such as Claude Desktop, providing automatic updates, simple configuration, and other features that lower the barrier to use for both developers and enterprise users.
Function List
- One Click Installation of MCP Server: Users can access the program by clicking on the
.dxt
file to install the local MCP server, no need to manually configure the environment. - Generating Extension Files: Provides CLI tools that allow developers to create and package with simple commands
.dxt
Extended Documentation. - Supports multiple operating environments: Compatible with Node.js, Python and other runtimes, support macOS, Windows, Linux platform.
- Secure Authentication Mechanism: Ensure operational security by verifying extended integrity through cryptographic hashing.
- Automatic update function: Support for extended automatic updates to keep the server up-to-date.
- User Configuration Management: By
manifest.json
Define user configuration items such as API keys, directory access rights, etc. - Open Ecological Support: Open source specification and toolchain that allows developers to customize and extend the DXT format.
- Error Handling and Logging: Provide clear error alerts and debugging logs for developers to troubleshoot problems.
Using Help
Installation process
To use DXT, developers need to install the DXT CLI tool and then create and package the extension. Below are the detailed steps:
- Installing Node.js
DXT CLI depends on Node.js environment. Visit the Node.js website to download and install the latest version (Node.js >= 16.0.0 is recommended). - Installing the DXT CLI
Open a terminal and run the following command to globally install the DXT CLI tool:npm install -g @anthropic-ai/dxt
- Creating DXT extensions
- Create a project folder locally, for example
my-extension
The - Go to the folder and run the following command to initialize the extension:
dxt init my-extension
The system prompts for the extension name, author information, and extension ID. if the folder has a
package.json
, some of the information is automatically populated. When finished, generatemanifest.json
Documentation.
- Create a project folder locally, for example
- Configuring manifest.json
manifest.json
is the core file of the DXT extension that defines the extension's metadata and server configuration. The following is an example:{ "dxt_version": "0.1", "name": "My MCP Extension", "version": "1.0.0", "description": "一个简单的MCP服务器扩展", "server": { "type": "node", "entry_point": "server/index.js", "mcp_config": { "command": "node", "args": ["server/index.js"] } }, "user_config": { "allowed_directories": { "type": "directory", "title": "允许访问的目录", "multiple": true, "required": true, "default": ["${HOME}/Desktop"] } } }
- Field Description::
dxt_version
: The version of the DXT specification that the extension follows.name
cap (a poem)version
: The name and version number of the extension.server
: Define how the MCP server runs, e.g., using Node.js to runserver/index.js
Theuser_config
: Define user-configurable items, such as directories that are allowed to be accessed.
- Field Description::
- Writing MCP server code
existserver
folder to createindex.js
that implements the MCP server logic. The MCP server logic can be implemented using the@modelcontextprotocol/sdk
Handling communication with AI models. A simple example is shown below:const { MCP } = require('@modelcontextprotocol/sdk'); const server = new MCP(); server.registerTool({ name: 'search_files', description: '搜索指定目录中的文件', execute: async (params) => { // 实现文件搜索逻辑 return { result: '文件列表' }; } }); server.start();
- Packaging Extension
Once you have completed the code and configuration, run the following command to package the project as a.dxt
Documentation:dxt pack my-extension my-extension.dxt
packaged
.dxt
The file is a ZIP archive containing all files and dependencies. - Verification and Signature
- Verify the extension: run
dxt verify my-extension.dxt
Check for document integrity. - Signature extension (optional): run
dxt sign my-extension.dxt
Add signatures to extensions for added security.
- Verify the extension: run
- Installation to Claude Desktop
- Make sure Claude Desktop is updated to the latest version (the version that supports DXT).
- Open Claude Desktop Settings and find the "Extensions" section.
- Click on "Install Extension" and select the
.dxt
file to complete a one-click installation.
Main Functions
- Creating extensions: Use
dxt init
command to quickly generatemanifest.json
and follow the prompts to configure extended information. - Validation extensions: Run
dxt validate manifest.json
Check that the configuration file conforms to the DXT specification. - Running the MCP server: After the extension has been installed, Claude Desktop will install the extension according to the
manifest.json
hit the nail on the headserver
Configuration to start the local MCP server. Users can set API keys or directory permissions through the interface. - Debugging and Logging: The MCP server generates logs when it runs, and developers can check the logs for tool calls or error messages.
- Dynamic tool support: DXT supports dynamic registration of tools, such as file searches or API calls, which developers need to register in the
manifest.json
Define the tool name and parameters in the
caveat
- assure
manifest.json
in the path (e.g.server/index.js
) is consistent with the actual document structure. - All dependencies should be included in the package (
node_modules
) to ensure that the extension works properly in different environments. - Enterprise users can refer to the Anthropic Enterprise documentation for deploying DXT extensions.
application scenario
- Rapid distribution of MCP servers by developers
Developers can package a complex MCP server as a.dxt
file, which is shared with the user, and the user does not need to configure the environment to use it. - Enterprise Integration AI Tools
Enterprises can develop customized DXT extensions that integrate into internal AI workflows such as data analytics or automation tasks. - Education and Research
Researchers can use DXT to create experimental MCP servers to test AI models interacting with local data. - Personal productivity tools
Users can install the DXT extension to Claude Desktop to quickly invoke file search, code generation and other functions to enhance work efficiency.
QA
- How are DXT extensions secured?
DXT verifies extended integrity through cryptographic hashing to prevent tampering. The runtime uses an isolated environment with restricted server access. - What platforms does DXT support?
DXT is compatible with macOS, Windows and Linux and supports Node.js and Python runtimes. - How to debug DXT extensions?
Check the log file, or use thedxt info my-extension.dxt
Review the extension information to ensure that the configuration and code are correct. - Do I need to update the extension manually?
DXT supports automatic updates, so users do not need to reinstall it manually. - Does DXT work for non-Claude applications?
Yes, DXT is an open source format, and other desktop applications that support MCP can also integrate DXT.