Desktop Extensions(简称DXT)是Anthropic开发的一种工具,用于将本地MCP(Model Context Protocol)服务器打包成易于安装的.dxt
文件。它让开发者能快速将MCP服务器集成到桌面应用中,用户只需点击即可完成安装,无需复杂的配置。DXT采用ZIP压缩格式,包含MCP服务器的所有文件和一个manifest.json
文件,描述服务器的配置和功能。Anthropic通过开源DXT规范和工具链,鼓励开发者参与改进,促进AI工具在桌面应用的普及。DXT支持Claude Desktop等应用,提供自动更新、简单配置等功能,降低使用门槛,适合开发者和企业用户。
功能列表
- 一键安装MCP服务器:用户通过点击
.dxt
文件即可安装本地MCP服务器,无需手动配置环境。 - 生成扩展文件:提供CLI工具,开发者可通过简单命令创建和打包
.dxt
扩展文件。 - 支持多种运行环境:兼容Node.js、Python等运行时,支持macOS、Windows、Linux平台。
- 安全验证机制:通过加密哈希验证扩展完整性,确保运行安全。
- 自动更新功能:支持扩展自动更新,保持服务器最新状态。
- 用户配置管理:通过
manifest.json
定义用户配置项,如API密钥、目录访问权限等。 - 开放生态支持:开源规范和工具链,允许开发者定制和扩展DXT格式。
- 错误处理与日志:提供清晰的错误提示和调试日志,便于开发者排查问题。
使用帮助
安装流程
要使用DXT,开发者需要先安装DXT CLI工具,然后创建和打包扩展。以下是详细步骤:
- 安装Node.js
DXT CLI依赖Node.js环境。访问Node.js官网下载并安装最新版本(建议Node.js >= 16.0.0)。 - 安装DXT CLI
打开终端,运行以下命令全局安装DXT CLI工具:npm install -g @anthropic-ai/dxt
- 创建DXT扩展
- 在本地创建一个项目文件夹,例如
my-extension
。 - 进入文件夹,运行以下命令初始化扩展:
dxt init my-extension
系统会提示输入扩展名称、作者信息和扩展ID。如果文件夹中有
package.json
,部分信息会自动填充。完成后,生成manifest.json
文件。
- 在本地创建一个项目文件夹,例如
- 配置manifest.json
manifest.json
是DXT扩展的核心文件,定义扩展的元数据和服务器配置。以下是一个示例:{ "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"] } } }
- 字段说明:
dxt_version
:扩展遵循的DXT规范版本。name
和version
:扩展的名称和版本号。server
:定义MCP服务器的运行方式,如使用Node.js运行server/index.js
。user_config
:定义用户可配置项,如允许访问的目录。
- 字段说明:
- 编写MCP服务器代码
在server
文件夹中创建index.js
,实现MCP服务器逻辑。可以使用@modelcontextprotocol/sdk
处理与AI模型的通信。以下是一个简单示例:const { MCP } = require('@modelcontextprotocol/sdk'); const server = new MCP(); server.registerTool({ name: 'search_files', description: '搜索指定目录中的文件', execute: async (params) => { // 实现文件搜索逻辑 return { result: '文件列表' }; } }); server.start();
- 打包扩展
完成代码和配置后,运行以下命令将项目打包为.dxt
文件:dxt pack my-extension my-extension.dxt
打包后的
.dxt
文件是一个ZIP压缩包,包含所有文件和依赖。 - 验证和签名
- 验证扩展:运行
dxt verify my-extension.dxt
检查文件完整性。 - 签名扩展(可选):运行
dxt sign my-extension.dxt
为扩展添加签名,增强安全性。
- 验证扩展:运行
- 安装到Claude Desktop
- 确保Claude Desktop更新到最新版本(支持DXT的版本)。
- 打开Claude Desktop设置,找到“Extensions”部分。
- 点击“安装扩展”,选择
.dxt
文件,完成一键安装。
主要功能操作
- 创建扩展:使用
dxt init
命令快速生成manifest.json
,并根据提示配置扩展信息。 - 验证扩展:运行
dxt validate manifest.json
检查配置文件是否符合DXT规范。 - 运行MCP服务器:扩展安装后,Claude Desktop会根据
manifest.json
中的server
配置启动本地MCP服务器。用户可通过界面设置API密钥或目录权限。 - 调试与日志:MCP服务器运行时会生成日志,开发者可通过日志检查工具调用或错误信息。
- 动态工具支持:DXT支持动态注册工具,例如文件搜索或API调用,开发者需在
manifest.json
中定义工具名称和参数。
注意事项
- 确保
manifest.json
中的路径(如server/index.js
)与实际文件结构一致。 - 打包时需包含所有依赖(
node_modules
),以确保扩展在不同环境中运行正常。 - 企业用户可参考Anthropic企业文档部署DXT扩展。
应用场景
- 开发者快速分发MCP服务器
开发者可以将复杂的MCP服务器打包为.dxt
文件,分享给用户,用户无需配置环境即可使用。 - 企业集成AI工具
企业可开发定制化的DXT扩展,集成到内部AI工作流,如数据分析或自动化任务。 - 教育与研究
研究人员可使用DXT创建实验性MCP服务器,测试AI模型与本地数据的交互。 - 个人生产力工具
用户可安装DXT扩展到Claude Desktop,快速调用文件搜索、代码生成等功能,提升工作效率。
QA
- DXT扩展如何确保安全?
DXT通过加密哈希验证扩展完整性,防止篡改。运行时使用隔离环境,限制服务器访问权限。 - DXT支持哪些平台?
DXT兼容macOS、Windows和Linux,支持Node.js和Python运行时。 - 如何调试DXT扩展?
检查日志文件,或使用dxt info my-extension.dxt
查看扩展信息,确保配置和代码正确。 - 是否需要手动更新扩展?
DXT支持自动更新,用户无需手动重新安装。 - DXT是否适用于非Claude应用?
是的,DXT是开源格式,其他支持MCP的桌面应用也可集成DXT。