@djankies/vitest-mcp

中文文档
0.6.0发布于 2026/10/17MITTypeScriptES Module构建来源已验证近 30 天下载 3839

用于 Vitest 测试执行和管理的模拟上下文协议服务器

中文使用文档
文档目录44 节
  1. 目录
  2. LLM和测试的问题
  3. 关键特征
  4. QQ 快速启动QQ
  5. QQ 客户端特定设置
  6. 配置方法
  7. 配置范围
  8. 设置步骤
  9. 使用量
  10. 配置位置
  11. 示例配置
  12. 设置步骤
  13. 配置方法
  14. 示例配置
  15. 设置步骤
  16. 配置位置
  17. 示例配置
  18. 设置步骤
  19. 配置位置
  20. 示例配置
  21. 设置步骤
  22. 通过 Cline UI 配置
  23. 示例配置
  24. 设置步骤
  25. 3 使用该词
  26. 所需经费
  27. QQ 工具
  28. set_project_root
  29. list_tests
  30. run_tests
  31. analyze_coverage
  32. 多存储器支持
  33. 克劳德 代码虎克
  34. LLM 指令
  35. QQ 配置
  36. Vitest 配置优先级
  37. 覆盖率阈值
  38. Vitest-MCP 配置文件
  39. 优先权顺序
  40. QQ 开发模式和调试
  41. 启用调试模式
  42. 发展模式
  43. * 解决问题
  44. 许可证

QQ 虚拟 MCP 服务器

CI

Vitest Server MCP server

MCP 磁共振 试跑者 与LLM-优化测试输出,日志捕获,逐行覆盖分析.

目录

LLM和测试的问题

  • 噪音测试输出 - Raw Vitest的输出可以极其动词性地用无用的信息来吞噬信使/信使.
  • 全测试套件运行 - LLMS有时会忘记限制测试运行的范围,导致完全测试套件运行被执行.
  • 掩埋控制台日志 - 控制台日志可以隐藏在测试输出中,这使得LLMS调试测试失败效率低下.
  • 原始覆盖文件 - 原始覆盖文件太大 AI无法分析.
  • 监视模式 - 当vitest在监视模式下运行时 LLMs就会被卡住.

关键特征

  • 智能测试结果 有适应性,结构化的输出来限制噪音.
  • 控制台日志抓取 防止日志在测试输出中丢失.
  • 覆盖范围分析 与逐行差距的见解.
  • 多仓库支助 在单个会话中进行上下文切换.
  • 警卫 防止完整的工程运行,监视模式,无效的vitest命令,以及上下文跳动.

QQ 快速启动QQ

Vitest MCP服务器可以与任何MCP相容的IDE或工具一起使用,并且与所有的Javascription或Typescript Vitest一起工作. 基本配置为:

{
  "mcpServers": {
    "vitest": {
      "command": "npx",
      "args": ["-y", "@djankies/vitest-mcp"]
    }
  }
}

⚠️ 说明:以上例子可能不对所有MCP客户有效. 检查您的客户端的具体设置指令 .

QQ 客户端特定设置

从下面的设置指南中选择您首选的 IDE 或工具 :

克劳德代码

配置方法

Claude Code支持多种配置方法:

方法1: CLI 向导(互动)

# Add server with interactive prompts
claude mcp add vitest -- npx -y @djankies/vitest-mcp

# Add to project scope (shareable with team)
claude mcp add --scope project vitest -- npx -y @djankies/vitest-mcp

方法 2: 直接配置文件

创建或编辑 .mcp.json 在您的工程根中 :

{
  "mcpServers": {
    "vitest": {
      "type": "stdio",
      "command": "npx",
      "args": ["-y", "@djankies/vitest-mcp"],
      "env": {}
    }
  }
}

配置范围

  • 当地 (默认):个人,项目特定 - 存储在用户设置中
  • 项目: 团队共享 - 存储于 .mcp.json 在项目根中
  • 用户: 所有项目均可使用 -- -- 全球配置

设置步骤

  1. 导航到您的工程目录
  2. 选择 CLI 或基于文件的配置
  3. 对于 CLI: 运行 claude mcp add vitest npx -y @djankies/vitest-mcp
  4. 对于文件: 创建 .mcp.json 带有以上配置
  5. 校验 /mcp 命令在 Claude 代码中查看连接状态

使用量

配置后, 在您的对话中自然使用 MCP 服务器 :

  • 将工程根设置为此目录
  • "运行认证组件测试"
  • "给我看测试覆盖漏洞"
克劳德桌面

配置位置

  • 马科斯数字 : ~/Library/Application Support/Claude/claude_desktop_config.json
  • 窗口数字 : %APPDATA%\Claude\claude_desktop_config.json

示例配置

{
  "mcpServers": {
    "vitest": {
      "command": "npx",
      "args": ["-y", "@djankies/vitest-mcp"]
    }
  }
}

设置步骤

  1. 打开克洛德桌面
  2. 导航到 文件 — 设置 — 开发者
  3. 点击 编辑配置
  4. 在上面添加配置
  5. 保存并重新启动 Claude 桌面
  6. 在对话输入中查找 MCP 指示器( X)
VS 代码

配置方法

  • 工作空间数字 : .vscode/mcp.json 在您的项目中
  • 全球: 运行命令 MCP: Open User Configuration

示例配置

{
  "mcpServers": {
    "vitest": {
      "command": "npx",
      "args": ["-y", "@djankies/vitest-mcp"],
      "type": "stdio"
    }
  }
}

设置步骤

  1. 用 GitHub 代号安装 VS 代码 1. 86+
  2. 打开命令调色板( O)Cmd/Ctrl + Shift + P(中文(简体) )
  3. 运行 MCP: Add Server
  4. 选择 工作空间设置 或者说 全球
  5. 添加配置并保存
  6. 通过副驾驶聊天访问 : 添加上下文 ~ MCP 资源
光标

配置位置

  • 项目数字 : .cursor/mcp.json 在您的工程目录中
  • 全球数字 : ~/.cursor/mcp.json 所有工作空间

示例配置

{
  "mcpServers": {
    "vitest": {
      "command": "npx",
      "args": ["-y", "@djankies/vitest-mcp"]
    }
  }
}

设置步骤

  1. 在您首选位置创建配置文件
  2. 添加服务器配置
  3. 重新启动光标
  4. MCP 服务器将在 Cursor 的 AI 聊天中可用
  5. 使用自然语言进行测试 : “ 运行认证组件测试 ”
风起浪起

配置位置

类似于光标, 但使用 serverUrl 改为 url 远程服务器

示例配置

{
  "mcpServers": {
    "vitest": {
      "command": "npx",
      "args": ["-y", "@djankies/vitest-mcp"]
    }
  }
}

设置步骤

  1. 打开 Windsurf 设置( R)Cmd/Ctrl + ,(中文(简体) )
  2. 导航到 叠加设置
  3. 添加 MCP 服务器配置
  4. 重新装入 MCP 服务器以激活
线( VS 代码扩展)

通过 Cline UI 配置

示例配置

{
  "mcpServers": {
    "vitest": {
      "command": "npx",
      "args": ["-y", "@djankies/vitest-mcp"]
    }
  }
}

设置步骤

  1. 安装 Cline 扩展的打开 VS 代码
  2. 单击侧边栏中的线条图标
  3. 点击 MCP 服务器 → 配置 MCP 服务器
  4. 添加 vitest- mcp 配置
  5. 保存并重新装入 VS 代码
  6. 通过 Cline 聊天界面访问

3 使用该词

配置后, 您可以使用自然语言与测试交互 :

  • "运行这个部件的测试"
  • 调试此测试文件
  • "分析这个文件的覆盖范围"

或预留您的信息 vitest-mcp: 确保使用这些工具:

  • "最高级的mcp:运行测试这个组件"
  • "vitest-mcp:调试此测试文件"
  • "vitest-mcp:分析这个文件的覆盖度"

所需经费

  • 节点.js联合国
  • 维特: 3.x, 4.x 或 5.x 在您的项目中安装 QQ(每个主项目在CI中对照真实项目进行测试)
  • 覆盖范围数字 : @vitest/coverage-v8 或者说 @vitest/coverage-istanbul,与"Vitest"(覆盖分析)相同的主要版本
npm install --save-dev vitest @vitest/coverage-v8

服务器总是运行 您的项目本身的维特 (从 node_modules,包括吊起的单雷波安装). 它从不下载Vitest,也不通过外壳运行命令.

QQ 工具

set_project_root

🚨 所需第一个 - 为所有操作设置项目根.

参数类型需求说明
path字符串对项目根路径

list_tests

在您的工程中列出测试文件 。 帮助LLMs在进行测试的同时避免滑回使用命令行工具.

参数类型需求说明
path字符串没有搜索测试文件的目录( 默认为工程根)

run_tests

执行带有结构化输出的测试.

参数:

参数类型需求说明
target字符串对要测试的文件或目录
format字符串没有输出格式:"摘要"或"详细"(基于结果的自动检测)
showLogs布尔没有包含控制台输出 [stdout] 或者说 [stderr] 前缀
project字符串没有单体的虚拟项目名称

analyze_coverage

分析测试覆盖面,并找出差距.

参数类型需求说明
target字符串对用于分析覆盖的源文件或目录
format字符串没有输出格式:"摘要"(仅概述)或"详细"(包括逐行覆盖)
project字符串没有只使用来自此Vitest项目的测试(例如. "unit"(中文(简体) )
exclude字符串 []没有被排除在外的模式(例如,[”**)." ). 替换您的配置 coverage.exclude 此运行

说明: 覆盖阈值应在您的 vitest.config.ts 文件,不通过 MCP 参数.

该工具运行每个导入目标的测试( E)vitest related),无论你的测试住在哪里(./test, (中文(简体) ), __tests__,在源旁边.),并报告只覆盖目标,包括没有被测试触及的文件. 报告被写入一个临时目录,所以您自己 coverage/ 输出被单独处理。 测试公用事业、模拟、故事和e2e文件自动排除在外.

多存储器支持

// Project A
set_project_root({ path: "/path/to/frontend" })
run_tests({ target: "./src" })

// Project B
set_project_root({ path: "/path/to/backend" })
run_tests({ target: "./src" })

克劳德 代码虎克

自动将 Vitest 命令重定向到 MCP 工具 :

# Run from project root
curl -o .claude/vitest-hook.sh https://raw.githubusercontent.com/djankies/vitest-mcp/refs/heads/main/.claude/vitest-hook.sh
chmod +x .claude/vitest-hook.sh

那就加进你的项目 .claude/settings.local.json数字 :

{
  "hooks": {
    "PreToolUse": [{
      "matcher": "Bash",
      "hooks": [{ "type": "command", "command": ".claude/vitest-hook.sh" }]
    }]
  }
}

钩子可以绕过 BYPASS_VITEST_HOOK 环境变量 :

BYPASS_VITEST_HOOK=1 npm test

或导出整个会话 :

export BYPASS_VITEST_HOOK=1

LLM 指令

鼓励Claude或你的ide正确使用这些工具: CLAUDE.例.md

QQ 配置

Vitest 配置优先级

如果你的项目 vitest.mcp.config.* 文件( 编号.ts, (中文(简体) ), .mts, (中文(简体) ), .cts, (中文(简体) ), .js, (中文(简体) ), .mjs 或者说 .cjs),MCP服务器以 --config否则Vitest会发现你的正常 vitest.config.* 编号 : vite.config.* 和往常一样.

这使得您可以有一个专用的 MCP 配置,不会干扰您的常规开发工作流程:

// vitest.mcp.config.ts
import { defineConfig, mergeConfig } from 'vitest/config';
import baseConfig from './vitest.config';

export default mergeConfig(baseConfig, defineConfig({
  test: {
    // MCP-specific settings, e.g. a longer timeout for AI-driven runs
    testTimeout: 30000,
  },
}));

记者,覆盖输出和控制台抓取由服务器设置在命令行上,因此不需要配置.

覆盖率阈值

实现在 analyze_coverage 工具,只需在虚拟配置文件中配置:

// vitest.config.ts or vitest.mcp.config.ts
import { defineConfig } from 'vitest/config';

export default defineConfig({
  test: {
    coverage: {
      provider: 'v8',
      reporter: ['text', 'json', 'html'],
      thresholds: {
        lines: 90,
        functions: 85,
        branches: 80,
        statements: 90
      }
    }
  }
});

💡 说明:无论门槛设置如何,总有覆盖面分析。 阈值报告只是帮助 你的LLM目标.

Vitest-MCP 配置文件

可选 .vitest-mcp.json 在家庭或项目目录中:

{
  "safety": {
    "allowedPaths": ["/Users/username/Projects"]
  },
  "testDefaults": {
    "format": "detailed",
    "timeout": 60000
  }
}

优先权顺序

配置按以下顺序合并(最优先优先第一):

  1. 命令行旗帜
  2. 环境变量
  3. 配置文件
  4. 内建默认

QQ 开发模式和调试

启用调试模式

设置详细记录的调试环境变量 :

VITEST_MCP_DEBUG=true

或者在您的 MCP 配置文件中 :

{
  "mcpServers": {
    "vitest": {
      "command": "npx",
      "args": ["-y", "@djankies/vitest-mcp"],
      "env": {
        "VITEST_MCP_DEBUG": "true"
      }
    }
  }
}

发展模式

启用在自己的密码库测试服务器 :

# Set in .env.development, or in your mcp config file 
VITEST_MCP_DEV_MODE=true

* 解决问题

"没有找到" - 在您设置为根的工程中安装: npm install --save-dev vitest

"没有找到封面供应商" 编号 : "和维特不匹配" - 安装匹配您 Vitest 主修的提供者, 例如 . npm install --save-dev @vitest/coverage-v8@4 维特4号

钩子问题 - 绕道: BYPASS_VITEST_HOOK=1 npm test

找到窃听器了吗? 请提交错误报告,谢谢.

许可证

麻省理工学院——见 自由主义。 。 。 .

版本与发布记录

@djankies/vitest-mcp 共发布 19 个版本,首次发布于 2025/08/05;过去 12 个月发布了 1 个版本。最新版本附带 npm provenance 构建来源证明,可追溯到公开的 CI 构建记录。

版本发布日期距今
0.6.0latest2026/10/1726 天前
0.5.12025/08/151.2 年前
0.5.02025/08/151.2 年前
0.4.9-beta.0beta2025/08/081.3 年前
0.4.8-beta.02025/08/081.3 年前
0.4.7-beta.02025/08/081.3 年前

关于 @djankies/vitest-mcp 的常见问题

@djankies/vitest-mcp 是什么?

用于 Vitest 测试执行和管理的模拟上下文协议服务器

如何安装 @djankies/vitest-mcp?

在项目目录运行 npm install @djankies/vitest-mcp,或使用 pnpm add / yarn add / bun add。它还提供命令行工具 vitest-mcp,可以用 npx vitest-mcp 直接运行。

@djankies/vitest-mcp 支持 TypeScript 吗?

支持。包内自带 TypeScript 类型声明(package.json 声明了 types 入口),安装后即可获得类型提示,无需再安装 @types 包。

@djankies/vitest-mcp 支持 ESM 还是 CommonJS?

以 ES Module 形式发布,推荐使用 import 引入。在 CommonJS 项目中,Node.js 20.19+ / 22.12+ 可以直接 require() 不含顶层 await 的 ES Module,更早的版本需要改用动态 import()。

@djankies/vitest-mcp 需要什么版本的 Node.js?

package.json 的 engines 字段要求 Node.js >=22.12.0。版本不符时 npm 默认只给出警告,开启 engine-strict 后会拒绝安装。

@djankies/vitest-mcp 可以商用吗?

@djankies/vitest-mcp 使用 MIT 许可。宽松许可:允许商业使用、修改和再分发,通常只需在分发时保留原版权与许可声明。以上为概括,不构成法律意见,请以许可原文为准。

@djankies/vitest-mcp 的下载量有多少?

根据 npm 官方下载统计,@djankies/vitest-mcp 在 2026/10/13 – 2026/11/11 这 30 天内被下载 3,839 次,日均约 128 次。下载量会把 CI 构建、镜像同步和作为其他包依赖的安装一并计入,适合横向比较热度,不能直接等同于使用人数。

@djankies/vitest-mcp 还在维护吗?

最新版本 0.6.0 发布于 2026/10/17(26 天前);至今共发布 19 个版本,其中过去 12 个月发布了 1 个;首次发布于 2025/08/05。发布频率只是参考信号:功能稳定的工具可能很少需要更新,建议结合源码仓库的 issue 和提交记录判断。