返回市场
无头编辑器-mcp

无头编辑器-mcp

作者:oakenai12 星标更新:2024-12-14

项目介绍

无头代码编辑器 MCP 服务器

一个强大的、语言无关的无头代码编辑器,利用语言服务器协议(LSP)进行代码智能,并利用模型上下文协议(MCP)进行AI辅助代码操作。

功能

  • 通过LSP集成实现语言智能
  • 具有严格访问控制的安全文件系统操作
  • 带状态管理的会话编辑
  • 支持TypeScript/JavaScript语言并进行深入分析
  • React组件检测与操作
  • 保持格式的编辑操作
  • 完整的日志记录和错误跟踪

安装

# 安装依赖
npm install

# 构建项目
npm run build

# 运行测试
npm test

使用

启动服务器

# 使用允许目录启动
node build/index.js /path/to/workspace

# 使用多个允许目录启动
node build/index.js /path/to/workspace1 /path/to/workspace2

MCP工具

  1. start_session:创建新的编辑会话
  2. edit_code:对代码应用编辑
  3. validate_code:验证当前代码状态
  4. close_session:清理并关闭会话

示例集成

const client = new Client(
  { name: "example-client", version: "1.0.0" },
  { capabilities: {} }
);

// 连接到服务器
const transport = new StdioClientTransport({
  command: "node",
  args: ["./build/index.js", "/workspace"]
});

await client.connect(transport);

// 开始会话
const result = await client.request({
  method: "tools/call",
  params: {
    name: "start_session",
    arguments: {
      filePath: "/workspace/example.ts",
      languageId: "typescript"
    }
  }
});

架构

  • LSP管理器:协调语言服务器生命周期和通信
  • 文档管理器:处理文档状态和同步
  • 会话管理器:管理编辑会话和状态
  • 编辑操作管理器:处理和验证代码编辑
  • 文件系统管理器:提供安全的文件系统访问

安全特性

  • 路径验证和规范化
  • 通过允许目录进行访问控制
  • 输入净化
  • 文件系统操作边界
  • 符号链接安全性检查

待完成任务

语言支持

  • Python语言服务器集成
  • Java语言服务器集成
  • 支持其他语言服务器

框架支持

  • 组件状态分析
  • 钩子依赖追踪
  • 自动导入管理
  • 类型感知重构

编辑操作

  • 多文件编辑操作
  • 复杂重构操作
  • 工作区范围更改
  • 冲突解决系统

性能

  • 操作批处理
  • 增量更新优化
  • 内存使用优化
  • 大文件处理改进

测试

  • 端到端测试套件
  • 性能基准测试
  • 负载测试
  • 跨平台测试

文档

  • API文档
  • 集成指南
  • 部署指南
  • 故障排除指南

基础设施

  • 远程服务器支持
  • 配置系统
  • 插件架构
  • 工作区索引

监控

  • 性能指标
  • 操作分析
  • 健康监控
  • 资源使用跟踪

贡献

  1. 分叉仓库
  2. 创建你的功能分支
  3. 为新功能添加测试
  4. 确保所有测试通过
  5. 提交拉取请求

文档

架构和设计

我们的文档涵盖:

  • 系统架构和设计原则
  • 组件交互和依赖关系
  • 框架集成模式
  • 语言服务器规范
  • 实施指南和最佳实践
  • 安全考虑
  • 性能优化策略

对于额外的文档需求,请参阅待完成任务部分。

许可证

MIT

开发状态

目前处于Alpha阶段(v0.0.10),具有基本的TypeScript/JavaScript支持和React组件分析。请参阅待完成任务部分了解计划中的功能。 </中文翻译>