MCP Text Editor Server

MCP Text Editor Server

site icon
2025.01.20 75
Python文本编辑LLM工具集成协作编辑开发效率
MCP Text Editor Server 是一个基于 Model Context Protocol (MCP) 的服务器,提供面向行的文本文件编辑功能。它通过标准化的 API 实现高效的文本文件操作,特别优化了部分文件访问以减少 LLM 工具的 token 使用。该服务器支持多文件操作、并发编辑检测和多种字符编码,适用于协作编辑工具、自动化文本处理系统等场景。
View on GitHub

Overview

基本能力

产品定位

MCP Text Editor Server 是一个专为文本文件编辑设计的 MCP 服务器,提供安全高效的文本文件操作功能,特别适合与 LLM 工具集成。

核心功能

  • 面向行的文本文件编辑和读取
  • 智能部分文件访问以减少 LLM 应用的 token 使用
  • 支持带行范围规范的文件内容获取
  • 单次操作中从多个文件读取多个范围
  • 基于行的补丁应用,正确处理行号偏移
  • 带冲突检测的文本文件内容编辑
  • 灵活的字符编码支持(utf-8、shift_jis、latin1 等)
  • 多文件操作支持
  • 基于哈希验证的并发编辑处理
  • 大文件的内存高效处理

适用场景

  • 协作编辑工具
  • 自动化文本处理系统
  • 需要安全修改文本文件的多进程应用
  • LLM 工具集成
  • 需要部分文件访问以减少 token 使用的应用

工具列表

  1. get_text_file_contents:获取一个或多个文本文件的内容,支持行范围规范
  2. patch_text_file_contents:应用补丁到文本文件,具有强大的错误处理和冲突检测功能

常见问题解答

  1. 权限被拒绝:检查文件和目录权限,确保服务器进程有必要的读写访问权限
  2. 哈希不匹配和范围哈希错误:文件被其他进程修改,运行 get_text_file_contents 获取新的哈希
  3. 编码问题:验证文件编码是否与指定的编码匹配,新文件使用 utf-8
  4. 连接问题:验证服务器是否运行并可访问,检查网络配置和防火墙设置
  5. 性能问题:考虑对大文件使用较小的行范围,监控系统资源(内存、磁盘空间)

使用教程

使用依赖

  1. Python 3.11 或更高版本
  2. POSIX 兼容操作系统(Linux、macOS 等)或 Windows
  3. 足够的磁盘空间用于文本文件操作
  4. 文件系统的读写操作权限

安装 Python 3.11+:

pyenv install 3.11.6
pyenv local 3.11.6

安装 uv(推荐)或 pip:

curl -LsSf https://astral.sh/uv/install.sh | sh

创建虚拟环境并安装依赖:

uv venv
source .venv/bin/activate  # On Windows: .venv\Scripts\activate
uv pip install -e ".[dev]"

安装教程

通过 uvx 运行:

uvx mcp-text-editor

通过 Smithery 安装:

npx -y @smithery/cli install mcp-text-editor --client claude

手动安装: 1. 安装 Python 3.13+

pyenv install 3.13.0
pyenv local 3.13.0
  1. 安装 uv(推荐)或 pip
curl -LsSf https://astral.sh/uv/install.sh | sh
  1. 创建虚拟环境并安装依赖
uv venv
source .venv/bin/activate  # On Windows: .venv\Scripts\activate
uv pip install -e ".[dev]"

调试方式

启动服务器:

python -m mcp_text_editor

运行测试:

# 运行所有测试
pytest

# 运行带覆盖率报告的测试
pytest --cov=mcp_text_editor --cov-report=term-missing

# 运行特定测试文件
pytest tests/test_text_editor.py -v

许可证

该项目遵循 MIT 开源许可条款,请参阅 MIT 了解完整条款。