使用说明
项目简介
Headless Code Editor MCP Server 是一个语言无关的后端服务器,它利用 Language Server Protocol (LSP) 提供代码智能分析功能,并通过 Model Context Protocol (MCP) 与客户端进行通信,实现AI辅助的代码编辑和操作。此服务器旨在为LLM客户端提供标准化的接口,以进行代码资源的访问和编辑工具的调用。
主要功能点
- LSP 代码智能集成: 支持多种编程语言的代码分析,提供代码补全、语法检查、跳转到定义等功能。
- 安全的文件系统操作: 通过严格的访问控制,保障文件系统操作的安全性。
- 会话管理: 支持基于会话的代码编辑,管理编辑状态。
- TypeScript/JavaScript 语言支持: 对 TypeScript 和 JavaScript 语言提供深入的代码分析和编辑功能。
- React 组件检测和操作: 能够识别和操作 React 组件。
- 格式保持的编辑操作: 在编辑代码时,尽可能保持原有的代码格式。
- 全面的日志记录和错误跟踪: 提供详细的日志和错误信息,方便问题排查。
- MCP 工具集: 提供 'start_session', 'edit_code', 'validate_code', 'close_session' 等工具,供LLM客户端调用。
安装步骤
- 安装依赖:
npm install - 构建项目:
npm run build
服务器配置
MCP 客户端需要以下 JSON 配置信息来连接到 Headless Code Editor MCP Server。请注意,客户端不需要修改或理解以下配置中的代码,只需将以下 JSON 复制到客户端的服务器配置中,并根据注释修改 'args' 中的工作区路径即可。
{ "serverName": "headless-code-editor", "command": "node", "args": [ "./build/index.js", "/path/to/workspace" // 请将 "/path/to/workspace" 替换为你希望服务器允许访问的工作区根目录的绝对路径。 // 例如: "/Users/yourname/projects/my_code_workspace"。 // 你可以指定多个允许访问的目录,例如: // ["/path/to/workspace1", "/path/to/workspace2"] ] }
参数注释:
- 'serverName': 服务器的名称,客户端用于标识连接的服务器。
- 'command': 启动 MCP 服务器的命令,这里是 'node',表示使用 Node.js 运行 JavaScript 文件。
- 'args': 传递给 'command' 的参数数组。
- '"./build/index.js"': 服务器的入口文件路径,指向构建后的 'index.js' 文件。
- '"/path/to/workspace"': 重要参数,需要用户替换为实际的工作区目录路径。服务器将只允许访问和操作此目录及其子目录下的文件。可以配置多个工作区目录。
基本使用方法
- 启动服务器: 在终端中,导航到仓库根目录,并执行以下命令启动服务器,'/path/to/workspace' 替换为实际的工作区目录。
或者,如果配置了多个工作区目录:node build/index.js /path/to/workspacenode build/index.js /path/to/workspace1 /path/to/workspace2 - 使用 MCP 客户端连接服务器: 配置 MCP 客户端,使用上面提供的服务器配置信息连接到正在运行的 Headless Code Editor MCP Server。
- 调用 MCP 工具: 客户端连接成功后,可以调用服务器提供的 MCP 工具,例如:
- 'tools/call' 方法,参数 'name: "start_session"', 'arguments: { filePath: "/workspace/example.ts", languageId: "typescript" }' 用于创建一个新的编辑会话。
- 'tools/call' 方法,参数 'name: "edit_code"', 'arguments: { sessionId: "session_id", operation: { type: "insert", content: "// comment", position: { line: 1, character: 1 } } }' 用于在指定会话中编辑代码。
- 更多工具和详细使用方法请参考仓库 'README.md' 文件和代码。
注意: 启动服务器时指定的工作区目录至关重要,它决定了服务器允许访问的文件范围,请务必配置正确的目录以确保安全和功能正常使用。
信息
分类
开发者工具