在与AI协作编写代码或文档时,一个精准、可靠的文本编辑工具是必不可少的基础设施。Claude 内置的文本编辑器工具正是为此而生,但它被绑定在 Claude 内部,无法与其他 MCP 客户端共享。MCP Text Editor Server 的出现,将这两套经过实战检验的正式工具——text_editor_20241022(Claude 3.5 Sonnet)和 text_editor_20250124(Claude 3.7 Sonnet)——做成了独立的开源 MCP 服务器,让任何 MCP 客户端都能使用这套精密的文本编辑能力。

项目基本信息

信息项详情
项目名称MCP Text Editor Server
GitHub 地址https://github.com/bhouston/mcp-server-text-editor
项目描述Claude 内置文本编辑工具的独立 MCP 服务器实现,支持查看、编辑和创建文本文件
作者bhouston
开源协议MIT License
开源状态公开状态
LanguagesTypeScript
支持平台Windows / macOS / Linux
最后更新持续更新中

一、项目介绍

MCP Text Editor Server 用短短几百行 TypeScript 代码,精炼地实现了 Claude 内置文本编辑器工具的全部功能,并将其封装为一个标准的 MCP 服务器。它的核心设计理念是 “与 Claude 内置工具保持完全一致的 API”

核心工具:text_editor

该服务器仅暴露一个名为 text_editor 的 MCP 工具,但它通过 command 参数支持五种操作模式,覆盖了文件处理的完整生命周期:

命令功能关键参数使用场景
view查看文件或目录内容path, view_range(可选)读取代码、检查目录结构
create创建新文件path, file_text新建代码文件、文档
str_replace精确替换字符串path, old_str, new_str修改变量名、重构代码
insert在指定行插入文本path, insert_line, new_str添加新函数、补充内容
undo_edit撤销上一次编辑path回退错误修改

两个版本并存的设计考量

项目同时实现了两个版本的 Claude 文本编辑器工具,但统一使用 text_editor 作为工具名以避免冲突。这种设计让用户可以根据需求选择版本,同时保持了与 Claude 原生体验的高度一致性。

二、核心优势

与 Claude 工具箱直接对标

这是该项目最独特的价值。Claude 内置的文本编辑工具经过大规模使用和迭代,其 API 设计(特别是 str_replace 的精确匹配机制)已经过大量真实场景的验证。该项目将这些经验直接“移植”到了 MCP 生态中,让其他 AI 客户端也能受益。

精确的文本替换机制

str_replace 要求提供 old_str 进行精确匹配,这避免了基于行号替换容易出现的“偏移”问题。在多轮编辑中,这种机制大大提高了可靠性——除非明确指定,否则 AI 不会意外修改错位置。

极简的接口设计

整个服务器只有一个工具、五种命令。这种设计降低了 AI 模型选择工具时的心智负担,也让代码实现保持简单和可维护。

轻量且可扩展

项目依赖极少,构建后的代码体量小,启动快速。同时,作为独立 MCP 服务器,它可以被任何支持 MCP 的客户端使用,不受特定 AI 平台限制。

MIT 开源协议

采用完全商业友好的 MIT 协议,可以自由集成、修改和分发。

三、适用场景

跨平台的代码编辑助手

你可以让任何 MCP 客户端(如 Cursor、Windsurf、Claude Desktop)直接编辑你的项目文件。例如:“在 src/utils.js 第 15 行插入一个新的工具函数。”AI 调用 text_editorinsert 命令即可完成。

多轮重构与代码修改

利用 str_replace 的精确匹配特性,AI 可以安全地进行多轮代码修改而不产生偏移。这在重命名变量、调整函数签名等场景中尤其可靠。

自动化文档生成

让 AI 读取现有的代码文件,分析后自动生成或更新 Markdown 文档,并将结果通过 create 命令写入新文件。

文件内容审查

使用 view 命令,AI 可以读取文件内容,检查代码风格、查找潜在错误或生成代码审查意见。

四、安装教程

环境要求

工具用途下载/安装方式
Node.js运行环境18 或以上
npm / pnpm包管理器推荐 pnpm

安装方式一:通过 npx 直接使用(推荐)

无需手动安装,直接在 MCP 客户端配置中使用 npx

{
  "mcpServers": {
    "textEditor": {
      "command": "npx",
      "args": ["-y", "mcp-server-text-editor"]
    }
  }
}

安装方式二:从 npm 安装

npm install mcp-server-text-editor
# 或
pnpm add mcp-server-text-editor

配置 MCP 客户端

编辑你的 MCP 客户端配置文件(以 Claude Desktop 为例):

  • macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
  • Windows: %APPDATA%\Claude\claude_desktop_config.json

添加上述配置后,完全退出并重启客户端。

本地开发安装

git clone https://github.com/bhouston/mcp-server-text-editor.git
cd mcp-server-text-editor
pnpm install
pnpm build

然后将配置中的 command 指向你本地的 Node 和构建后的 dist/index.js 文件。

五、使用示例

配置完成后,你可以在 AI 客户端中使用自然语言指挥 AI 完成各种文件操作。

示例一:查看文件内容

用户:查看 src/app.ts 的前 30 行代码。

AI 调用 text_editor 工具,传入 command: "view"path: "src/app.ts"view_range: [1, 30],返回指定行范围的内容。

示例二:创建新文件

用户:在项目根目录创建一个 CHANGELOG.md 文件,内容是“# Changelog”。

AI 调用 text_editor 工具,传入 command: "create"path: "CHANGELOG.md"file_text: "# Changelog"

示例三:精确替换文本

用户:把 utils/helpers.ts 文件中的 function oldHelper 重命名为 function newHelper

AI 调用 text_editor 工具,传入 command: "str_replace"path: "utils/helpers.ts"old_str: "function oldHelper"new_str: "function newHelper"

示例四:插入代码

用户:在 index.ts 的第 10 行之后插入一个 import 语句:import { newHelper } from './utils/helpers';

AI 调用 text_editor 工具,传入 command: "insert"path: "index.ts"insert_line: 10new_str: "import { newHelper } from './utils/helpers';"

示例五:撤销编辑

用户:刚才的修改不对,帮我撤销 index.ts 的最后一次编辑。

AI 调用 text_editor 工具,传入 command: "undo_edit"path: "index.ts"

六、常见问题

问:str_replace 替换失败,提示找不到 old_str 怎么办?

答:这是 str_replace 的精确匹配机制在起作用。常见原因:

  1. 空格或缩进不匹配。
  2. 文件已被其他程序修改,内容与 AI 获取的版本不一致。
  3. 目标文本在文件中出现多次(此时工具会报错提示匹配不唯一)。

解决办法:提供更长的 old_str 以确保唯一性,或在替换前先使用 view 确认当前文件的准确内容。

问:insert_line 的行号如何计算?插入后会影响其他行吗?

答:insert_line 指定的是插入位置。例如,insert_line: 5 表示在第 5 行之后插入新内容。插入后,原第 6 行及之后的行号会自动增加,不会覆盖任何已有内容。

问:undo_edit 能撤销多久前的编辑?

答:当前实现只保留最后一次编辑的撤销信息。如果你连续做了多个编辑,undo_edit 只能撤销最近的那一个。多次调用不会连锁撤销。

问:可以在多个 MCP 客户端中同时使用这个服务器吗?

答:技术上可以,但需要注意并发编辑的冲突问题。建议在同一时间段内仅在一个客户端中使用该服务器编辑特定文件,避免产生不可预期的修改。

七、总结

MCP Text Editor Server 是一个小而美的项目——它将 Claude 内环境经过验证的文本编辑工具做成了独立的 MCP 服务器,让这套精密的编辑能力惠及更广泛的 MCP 生态。其设计的巧妙之处在于:只暴露一个工具、五种命令,却覆盖了文件操作的完整生命周期;采用精确匹配而非行号逻辑,提高了多轮编辑的可靠性。

对于需要用 AI 辅助代码编辑、文档编写的开发者来说,这几乎是一个必装的基础设施级 MCP 服务器。花两分钟完成配置,你将获得一个在任何 MCP 客户端中都能使用的、与 Claude 同款的文本编辑能力。

标签: 开发者工具

已有 33 条评论

    1. RayZhao RayZhao

      所有MCP客户端都应该装一个这个,它是AI从“顾问”变成“执行者”的关键桥梁。

    2. SarahWu SarahWu

      代码测试覆盖率很高,项目质量和稳定性让人放心。

    3. TimChen TimChen

      `insert`命令对于生成样板代码特别好用,AI在文件头部插入版权声明,中间插入函数,尾部插入导出。

    4. UlyssesWang UlyssesWang

      我把这个工具映射到了VS Code的快捷键上,手动重构的时候也能用,不局限于AI客户端。

    5. VeraJiang VeraJiang

      如果能在`create`时自动创建不存在的父目录就好了,目前路径不存在会报错。