无头代码编辑器MCP服务器
一个强大的、与语言无关的无头代码编辑器,利用语言服务器协议(LSP)进行代码智能,利用模型上下文协议(MCP)进行人工智能辅助代码操作。
特性
- 语言智能的LSP集成
- 通过严格的访问控制确保文件系统操作的安全
- 基于会话的编辑与状态管理
- Types/JavaScript语言支持,深入分析
- React组件检测和操作
- 保留格式的编辑操作
- 全面的日志记录和错误跟踪
安装
# Install dependencies
npm install
# Build the project
npm run build
# Run tests
npm test用法
启动服务器
# Start with allowed directory
node build/index.js /path/to/workspace
# Start with multiple allowed directories
node build/index.js /path/to/workspace1 /path/to/workspace2MCP工具
start_session:创建新的编辑会话edit_code:将编辑应用于代码validate_code:验证当前代码状态close_session:清理并结束会议
集成示例
const client = new Client(
{ name: "example-client", version: "1.0.0" },
{ capabilities: {} }
);
// Connect to server
const transport = new StdioClientTransport({
command: "node",
args: ["./build/index.js", "/workspace"]
});
await client.connect(transport);
// Start session
const result = await client.request({
method: "tools/call",
params: {
name: "start_session",
arguments: {
filePath: "/workspace/example.ts",
languageId: "typescript"
}
}
});建筑
- LSP经理:协调语言服务器生命周期和通信
- 文件管理员:处理文档状态和同步
- 会话管理器:管理编辑会话和状态
- 编辑运营经理:处理和验证代码编辑
- 文件系统管理器:提供安全的文件系统访问
安全功能
- 路径验证和规范化
- 通过允许的目录进行访问控制
- 输入净化
- 文件系统操作边界
- Symlink安全检查
未完成的任务
语言支持
- \[\]Python语言服务器集成
- \[\]Java语言服务器集成
- \[\]支持其他语言服务器
框架支持
- \[\]组件状态分析
- \[\]钩子依赖关系跟踪
- \[\]自动导入管理
- \[\]类型感知重构
编辑操作
- \[\]多文件编辑操作
- \[\]复杂的重构操作
- \[\]工作区范围内的更改
- \[\]冲突解决系统
演出
- \[\]操作批处理
- \[\]增量更新优化
- \[\]内存使用优化
- \[\]大文件处理改进
测试
- \[\]端到端测试套件
- \[\]性能基准
- \[\]负载测试
- \[\]跨平台测试
文档
- \[\]API文件
- \[\]集成指南
- \[\]部署指南
- \[\]故障排除指南
基础设施
- \[\]远程服务器支持
- \[\]配置系统
- \[\]插件架构
- \[\]工作区索引
监控
- \[\]性能指标
- \[\]运营分析
- \[\]健康监测
- \[\]资源使用情况跟踪
贡献
- 分叉存储库
- 创建功能分支
- 添加新功能的测试
- 确保所有测试通过
- 提交拉取请求
文档
建筑与设计
- 核心架构:基础架构和系统设计
- LSP智能编辑器架构:语言服务器协议集成详细信息
- 框架集成指南:特定框架的支持和集成模式
- 语言服务器集成:语言服务器实现和配置
- MVP实施计划:发展路线图和实施阶段
我们的文件包括:
- 系统架构和设计原则
- 组件交互和依赖关系
- 框架集成模式
- 语言服务器规格
- 实施准则和最佳做法
- 安全注意事项
- 性能优化策略
有关其他文档需求,请参阅我们的“未完成任务”部分。
许可证
麻省理工学院
开发状态
目前处于alpha阶段(v0.0.10),具有基本的TypeScript/JavaScript支持和React组件分析。有关计划功能,请参阅“未完成任务”部分。
