Editor Mcp

Editor Mcp

🚀 文本编辑器 MCP 用户指南

文本编辑器 MCP 借助 FastMCP 构建了一个功能强大的文本编辑服务器。它让 AI 助手能够以结构化的方式编辑代码及其他文本文件。与传统命令行工具相比,MCP 具备文件完整性验证、使用限制和交互式确认流程等更高级的功能。

🚀 快速开始

MCP 支持通过环境变量进行配置,以下是一些关键的环境变量及其使用示例:

最大选择行数

max_select_lines:该变量用于限制在 overwrite 操作中可以选中的最大行数,默认值为 50。示例代码如下:

export max_select_lines=100

启用统计收集

DUCKDB_USAGE_STATS:当启用此变量时,MCP 会将使用统计信息收集到 DuckDB 数据库中。

禁用 ID 验证

DISABLE_ID_VERIFICATION:将其设置为 true 可以禁用文件内容的完整性验证。示例代码如下:

export DISABLE_ID_VERIFICATION=true

✨ 主要特性

  • 结构化编辑:允许 AI 助手以结构化方式进行代码和其他文本文件的编辑。
  • 高级功能:提供文件完整性验证、使用限制和交互式确认流程等更高级的功能,优于传统命令行工具。
  • 环境变量配置:支持通过环境变量进行配置,方便灵活。
  • 使用统计收集:可收集使用统计信息,用于改进服务质量和分析系统性能。

📚 详细文档

🔧 环境变量

MCP 支持通过环境变量进行配置,以下是一些关键的环境变量:

属性 详情
最大选择行数 max_select_lines:限制在 overwrite 操作中可以选中的最大行数,默认为 50。例如:export max_select_lines=100
启用统计收集 DUCKDB_USAGE_STATS:启用时,MCP 将收集使用统计信息到 DuckDB 数据库。
禁用 ID 验证 DISABLE_ID_VERIFICATION:设置为 true 可以禁用文件内容的完整性验证。例如:export DISABLE_ID_VERIFICATION=true

🔧 服务器实现细节

初始化

主类 TextEditorServer 在初始化时接收一个 FastMCP 实例,命名为 "text - editor"。

文件完整性验证系统

该系统使用 SHA - 256 来生成文件内容或选中行范围的唯一标识符。例如,针对特定行的修改操作,ID 会包含行范围前缀(如:"L10 - 15 - [哈希值]"),从而确保编辑操作应用于预期的内容。

注册的工具

服务器通过 FastMCP 注册了以下主要工具:

  • set_file:用于设置当前要编辑的文件路径。
  • skim:读取整个文件内容并返回行号到行文本的字典。
  • read:根据指定的行范围读取内容,返回结构化的字典。
  • select:选择后续 overwrite 操作中涉及的特定行(最多 50 行)。
  • overwrite:接收新的行列表,并生成 diff 格式的预览以显示将要进行的更改。
  • confirm:应用之前 overwrite 工具准备的更改。
  • cancel:放弃 overwrite 工具中的 pending 改变。
  • delete_file:删除当前文件。
  • new_file:创建新文件。
  • find_line:查找包含特定文本的行。
  • find_function:在 Python 和 JavaScript/JSX 文件中查找函数定义。
  • 其他工具...

🔧 系统提示的最佳实践

为了优化 AI 助手的行为,建议使用系统提示(system prompt)。例如:

mcp_server.set_system_prompt("作为经验丰富的软件工程师,你应当以严格和安全的方式执行编辑操作。")

这样可以确保助手在进行文件修改时更加谨慎,并遵循最佳的编程实践。

🔧 使用统计信息

数据收集

MCP 提供了使用 DuckDB 进行数据收集的功能,用于记录用户对服务器的使用情况。

记录的信息

包括但不限于:

  • 用户 ID
  • 操作类型(读取、写入等)
  • 操作时间戳
  • 文件大小变化
  • 错误日志

存储位置

统计数据存储在 mcp_usage.db 数据库文件中,位于当前工作目录下。

隐私考虑

所有收集的数据都是匿名化的,并且仅用于改进服务质量和分析系统性能。

🔧 故障排除

常见问题

  • 问题:无法连接到 MCP 服务器

    • 解决方法:检查服务器是否在运行,确认网络配置正确。
  • 问题:收到 ID 验证失败的错误

    • 解决方法:要么启用 ID 验证(默认启用),要么禁用该功能。

🔧 灵感来源

此项目受到开源社区的启发,特别是 FastMCP 和类似工具的成功经验。

  • 0 关注
  • 0 收藏,9 浏览
  • system 提出于 2025-09-29 11:45

相似服务问题

相关AI产品