article
README
🚀 Claude 文本编辑器 MCP 服务器
Claude 文本编辑器 MCP 服务器是一个开源项目,它实现了 Model Context Protocol (MCP) 服务器,模仿了 Claude 的内置文本编辑器工具。该项目提供了与 Claude 内置文本编辑器工具相同的接口,允许用户通过标准 API 查看、编辑和创建文本文件。
🚀 快速开始
Claude 文本编辑器 MCP 服务器为开发者提供了便捷的文本文件操作方式。通过标准 API,你可以轻松查看、编辑和创建文本文件。以下是快速开始的步骤:
安装
# 从 npm 安装
npm install mcp-server-text-editor
初始化配置
在项目中引入并初始化文本编辑器服务器:
import { TextEditorServer } from 'mcp-server-text-editor';
// 创建一个文本编辑器服务器实例
const textEditor = new TextEditorServer({
port: 3000, // 可选,默认端口为 3000
logger: console // 可选,默认使用控制台日志
});
使用示例
// 查看帮助信息
textEditor.help();
// 显示版本信息
textEditor.version();
// 打开文件进行编辑
textEditor.open('path/to/file.txt', (content) => {
// 在此处编辑内容
});
// 创建新文件
textEditor.create('newFile.txt', () => {
console.log('文件已创建');
});
✨ 主要特性
- 与 Claude 文本编辑器相同的 API:实现了与 Claude 的内置文本编辑器工具完全相同的接口,方便开发者无缝对接。
- MCP 服务器实现:遵循 AI 工具集成的标准 Model Context Protocol 协议,确保系统的规范性和兼容性。
- 文件操作丰富:
- 查看文件内容,可选指定行范围,满足不同的查看需求。
- 创建新文件,快速生成所需文本文件。
- 替换现有文件中的文本,高效修改文件内容。
- 在特定行插入文本,灵活编辑文件。
- 撤销上一次编辑,避免误操作带来的损失。
📦 安装指南
# 从 npm 安装
npm install mcp-server-text-editor
💻 使用示例
基础用法
import { TextEditorServer } from 'mcp-server-text-editor';
// 创建一个文本编辑器服务器实例
const textEditor = new TextEditorServer({
port: 3000, // 可选,默认端口为 3000
logger: console // 可选,默认使用控制台日志
});
// 查看帮助信息
textEditor.help();
// 显示版本信息
textEditor.version();
// 打开文件进行编辑
textEditor.open('path/to/file.txt', (content) => {
// 在此处编辑内容
});
// 创建新文件
textEditor.create('newFile.txt', () => {
console.log('文件已创建');
});
高级用法
const config = {
port: 3001,
logger: {
log: console.log,
error: console.error
},
middleware: [
// 自定义中间件
(req, res, next) => {
console.log('请求来自:', req.ip);
next();
}
]
};
const textEditor = new TextEditorServer(config);
📚 详细文档
支持的 Claude 文本编辑器版本
此包实现了与 Claude 的内置文本编辑器工具 相同的功能,支持以下版本:
text_editor_20241022(Claude 3.5 Sonnet)text_editor_20250124(Claude 3.7 Sonnet)
但使用工具名称 'textEditor' 来避免与 Claude 的内置工具发生命名冲突。
🔧 技术细节
开发
安装依赖
npm install
启动测试服务器
npm run dev
测试
此项目使用 Vitest 进行测试。
- 运行所有测试
npm test
- 带覆盖率报告的测试
npm test:coverage
测试覆盖率报告将生成在 coverage 目录中。
📄 许可证
本项目采用 MIT 许可证。
🤝 贡献
欢迎贡献!请随时提交 Pull Request。
- 叉分仓库
- 创建功能分支(
git checkout -b feature/amazing-feature) - 提交更改(
git commit -m 'Add some amazing feature') - 推送到分支(
git push origin feature/amazing-feature) - 打开 Pull Request
扫码联系在线客服