项目简介
本项目是 Claude 内置文本编辑器工具的开源实现,作为一个 Model Context Protocol (MCP) 服务器,它遵循 MCP 标准,为 AI 工具集成提供了一个标准化的接口。该服务器提供了与 Claude 文本编辑器工具完全相同的 API,允许用户通过 MCP 协议对服务器上的文本文件进行查看、创建、编辑等操作。
主要功能点
- 文件查看: 允许查看指定路径的文件内容,并支持指定行号范围查看。
- 文件创建: 允许在指定路径创建新文件,并写入指定内容。
- 文本替换: 允许替换文件中指定的旧字符串为新字符串。
- 文本插入: 允许在文件的指定行号后插入新的字符串。
- 撤销编辑: 允许撤销最近一次的文件编辑操作。
- MCP 服务器: 遵循 Model Context Protocol 标准,易于与支持 MCP 协议的 LLM 客户端集成。
- 与 Claude 文本编辑器 API 兼容: API 设计与 Claude 内置文本编辑器工具完全一致。
安装步骤
- 安装 Node.js: 确保你的系统已安装 Node.js (版本 18 或更高) 和 npm 或 pnpm。
- 安装 npm 包: 使用 npm 或 pnpm 命令安装 'mcp-server-text-editor' 包:
npm install mcp-server-text-editor # 或使用 pnpm pnpm add mcp-server-text-editor
服务器配置
MCP 服务器需要配置在 MCP 客户端中才能使用。以下是在 Claude Desktop 中配置 'mcp-server-text-editor' 服务器的示例配置:
{ "mcpServers": { "textEditor": { // 服务器名称,可以自定义 "command": "npx", // 启动命令,这里使用 npx 运行 npm 包 "args": ["-y", "mcp-server-text-editor"] // 启动参数,-y 表示自动确认执行 } } }
配置说明:
- '"textEditor"': 服务器名称,在客户端中用于标识和调用该服务器,可以自定义。
- '"command": "npx"': 指定启动服务器的命令为 'npx',它用于运行本地安装的 npm 包的可执行文件。
- '"args": ["-y", "mcp-server-text-editor"]': 'npx' 命令的参数。
- '"-y"': 传递给 'npx' 的参数,表示自动确认执行,避免在启动时出现交互式提示。
- '"mcp-server-text-editor"': 要执行的 npm 包的可执行文件名,对应于 'mcp-server-text-editor' 包在 'package.json' 中定义的 'bin' 字段。
基本使用方法
-
启动服务器: 安装完成后,可以使用以下命令启动 MCP 服务器:
npx -y mcp-server-text-editor # 或全局安装后直接运行 mcp-server-text-editor服务器启动后,将通过标准输入/输出 (stdio) 与 MCP 客户端进行通信。
-
客户端调用工具: 在 MCP 客户端(如 Claude),配置好上述服务器信息后,即可通过客户端发送 JSON-RPC 请求来调用 'text_editor' 工具,执行文件操作。
常用命令示例:
-
查看文件内容:
{ "command": "view", "path": "/path/to/your/file.txt", // 文件的绝对路径 "view_range": [1, 10] // 可选,查看 1-10 行 } -
创建文件:
{ "command": "create", "path": "/path/to/your/new_file.txt", // 新文件的绝对路径 "file_text": "This is the content of the new file." // 文件内容 } -
替换字符串:
{ "command": "str_replace", "path": "/path/to/your/file.txt", // 文件的绝对路径 "old_str": "old text", // 要替换的旧字符串 "new_str": "new text" // 替换为的新字符串 } -
插入文本:
{ "command": "insert", "path": "/path/to/your/file.txt", // 文件的绝对路径 "insert_line": 5, // 在第 5 行后插入 "new_str": "// Inserted line" // 要插入的字符串 } -
撤销上次编辑:
{ "command": "undo_edit", "path": "/path/to/your/file.txt" // 文件的绝对路径 }
-
注意: 所有文件路径必须为绝对路径。
信息
分类
开发者工具