Microsoft Edit Mcp

Microsoft Edit Mcp

🚀 Edit-MCP:适用于微软Edit的模型上下文协议服务器

Edit-MCP是一个模型上下文协议(MCP)服务器,它与微软的Edit工具集成,为人工智能系统提供高级文件编辑功能。它采用混合架构,将直接的文件系统操作以提高性能,与微软Edit集成以处理复杂的编辑任务相结合。

🚀 快速开始

Edit-MCP服务器在人工智能系统和文件编辑操作之间充当精密的协调者。它公开了一个标准化的MCP接口,允许人工智能模型执行以下操作:

  • 读写文件
  • 搜索和替换文本
  • 格式化代码
  • 执行复杂的编辑操作
  • 协调多文件编辑
  • 以及更多...

✨ 主要特性

Edit-MCP采用混合架构,包含以下组件:

1. 核心MCP服务器

  • 处理MCP协议通信
  • 将操作路由到适当的子系统
  • 管理文件状态和元数据
  • 在多个Edit实例之间进行协调
  • 提供缓存和优化

2. 文件系统管理器

  • 为简单任务执行直接的文件操作
  • 处理基本的CRUD操作
  • 提供文本搜索和简单的查找/替换功能
  • 管理文件元数据操作
  • 支持跨多个文件的批量操作

3. Edit实例管理器

  • 管理用于复杂操作的微软Edit进程
  • 处理复杂的编辑场景
  • 协调多文件操作
  • 以编程方式管理Edit的TUI交互

4. 操作路由器

  • 决定哪个子系统处理每个操作
  • 将简单操作路由到文件系统管理器
  • 将复杂操作路由到Edit实例管理器
  • 协调两个子系统之间的混合操作

📦 安装指南

前提条件

  • Node.js 16或更高版本
  • 已安装微软Edit并将其添加到系统路径中

从源码安装

# 克隆仓库
git clone https://github.com/mixelpixx/edit-mcp.git
cd edit-mcp

# 安装依赖
npm install

# 构建项目
npm run build

💻 使用示例

启动服务器

你可以使用stdio或HTTP传输来启动Edit-MCP服务器:

# 使用stdio传输启动(用于与人工智能系统直接集成)
npm run stdio

# 使用HTTP传输启动(用于基于Web的集成)
npm run http

命令行选项

用法:edit-mcp [选项]

选项:
-V, --version                输出版本号
-p, --port             HTTP传输监听的端口(默认:"3000")
-e, --edit-path        Edit可执行文件的路径
-m, --max-instances  Edit实例的最大数量(默认:"5")
-t, --timeout  Edit实例的超时时间(以毫秒为单位,默认:"300000")
-c, --config           配置文件的路径
-d, --debug                  启用调试日志
-s, --stdio                  使用stdio传输而不是HTTP
-h, --help                   显示命令帮助信息

配置

你可以使用JSON配置文件来配置Edit-MCP:

{
"editExecutable": "/path/to/edit",
"maxEditInstances": 5,
"instanceTimeout": 300000,
"simpleOperationThreshold": 1000,
"complexityFactors": {
"fileSize": 0.3,
"operationType": 0.4,
"contextRequirement": 0.3
}
}

📚 详细文档

可用工具

Edit-MCP提供以下工具:

文件系统工具

  • read_file:读取文件内容
  • write_file:将内容写入文件
  • list_files:列出目录中的文件
  • find_in_file:在文件中查找模式的出现位置

Edit工具

  • format_code:格式化文件中的代码
  • complex_find_replace:执行高级查找和替换操作
  • interactive_edit_session:启动交互式编辑会话

混合工具

  • smart_refactor:智能地跨多个文件重构代码
  • backup_and_edit:在编辑文件之前创建文件备份

HTTP传输

Edit-MCP现在除了支持stdio外,还支持HTTP传输,允许远程访问和使用REST API端点。

使用HTTP传输启动

# 使用默认HTTP端口(3000)启动
edit-mcp

# 使用自定义端口启动
edit-mcp --port 8080

# 使用配置文件启动
edit-mcp --config config.http.example.json

REST API端点

健康检查
GET /health
JSON-RPC端点
POST /jsonrpc
Content-Type: application/json

{
"jsonrpc": "2.0",
"method": "tools/call",
"params": {
"name": "read_file",
"arguments": {
"path": "example.txt"
}
},
"id": 1
}

REST API端点

  • GET /api/tools - 列出可用工具
  • POST /api/tools/:toolName - 调用特定工具
  • GET /api/files/:path - 读取文件内容
  • PUT /api/files/:path - 写入文件内容
  • GET /api/list/:directory - 列出目录中的文件
  • POST /api/search - 在文件中搜索模式
  • POST /api/format - 格式化代码
  • POST /api/refactor - 跨文件重构符号
  • GET /api/docs - API文档

身份验证

通过在配置中设置authEnabled: true来启用API密钥身份验证:

{
"authEnabled": true,
"apiKey": "your-secure-api-key"
}

在请求中包含API密钥:

  • 头部:X-API-Key: your-secure-api-key
  • 查询参数:?apiKey=your-secure-api-key

CORS配置

在配置文件中配置允许的源:

{
"corsOrigins": ["http://localhost:*", "https://yourdomain.com"]
}

速率限制

配置速率限制以防止滥用:

{
"rateLimitWindowMs": 900000,  // 15分钟
"rateLimitMax": 100           // 每个窗口100个请求
}

开发

构建项目

# 构建项目
npm run build

# 监视更改并重新构建
npm run watch

在开发模式下运行

# 热重载运行
npm run dev

📄 许可证

本项目采用MIT许可证。

致谢

  • 感谢微软提供Edit工具
  • 感谢模型上下文协议社区
  • 0 关注
  • 0 收藏,10 浏览
  • system 提出于 2025-09-29 14:42

相似服务问题