使用说明

项目简介

eslint-todo MCP Server 是 eslint-todo 工具的扩展,它通过 Model Context Protocol (MCP) 协议,为 AI 客户端(如 Devin)提供标准化的接口,以便对 ESLint 的待办事项进行管理和操作。

主要功能点

  • 删除规则抑制: 提供 'delete_suppression_with_limit' 工具,允许 AI 客户端根据配置的限制条件,从 ESLint 抑制文件中删除规则抑制条目,逐步减少代码库中的 ESLint 违规。
  • MCP 协议支持: 基于 MCP 协议构建,提供标准的 JSON-RPC 接口,方便与各种 MCP 客户端集成。
  • Stdio 传输: 支持 Stdio 传输协议,易于在本地开发环境和集成到工具链中使用。

安装步骤

  1. 确保已经安装了 Node.js (>= 20.0.0) 和 npm。
  2. 在你的项目根目录下,如果还没有安装 eslint 和 @sushichan044/eslint-todo,请先安装:
    npm install --save-dev eslint @sushichan044/eslint-todo

服务器配置

对于 MCP 客户端(例如 VSCode),你需要在 MCP 客户端的配置文件中添加服务器配置信息。以下是一个 VSCode 'mcp.json' 的配置示例,用于连接 eslint-todo MCP Server:

{
  "servers": {
    "eslint-todo": {
      "type": "stdio",  // 使用 Stdio 传输协议
      "command": "npx", // 启动命令,使用 npx 运行 npm 包
      "args": [
        "@sushichan044/eslint-todo", // 要运行的 npm 包名
        "--mcp", // 启用 MCP 服务器模式
        "--root", // 指定项目根目录参数
        "${workspaceFolder}" // VSCode 变量,表示当前工作区根目录
      ]
    }
  }
}

配置参数说明:

  • 'server name': 服务器名称,例如 "eslint-todo",可以自定义。
  • 'type': 传输协议类型,这里使用 "stdio"。
  • 'command': 启动服务器的命令,通常是 "npx" 或 "node"。
  • 'args': 传递给启动命令的参数列表:
    • '"@sushichan044/eslint-todo"': 运行 eslint-todo npm 包。
    • '"--mcp"': 启用 eslint-todo 的 MCP 服务器模式。
    • '"--root"': 指定 eslint-todo MCP 服务器的工作根目录。
    • '"${workspaceFolder}"': (VSCode 变量) 将 VSCode 当前工作区的根目录作为项目根目录传递给服务器。

基本使用方法

  1. 确保你的项目已经配置了 ESLint Flat Config。
  2. 按照安装步骤安装 eslint 和 @sushichan044/eslint-todo。
  3. 在 VSCode 中配置 'mcp.json' 文件,添加上述服务器配置。
  4. 启动 MCP 客户端(例如,在 VSCode 中打开 MCP 面板并连接到 "eslint-todo" 服务器)。
  5. AI 客户端可以通过 MCP 协议调用 'delete_suppression_with_limit' 工具,根据需要减少 ESLint 抑制规则。

信息

分类

开发者工具