io.github.zyf8827/tern
NPM · @ZYF8827/TERN-MCP · SCANNED SEP 26
Model Context Protocol (MCP) server for Tern E2E testing platform
Available components
How this component scores in each security and reliability category. Every signal is checked automatically from public evidence about the published package, including repeated runs of it in an isolated sandbox, and we only credit what we can confirm. How we score → Why this is hard to score →
Supply Chain Security100
- No malware found by supply-chain analysis.Pass
- No known CVEs affecting this package version or its production dependencies.Pass
- No install/post-install scripts declared.Pass
- No production dependencies, so there is no dependency health to assess. View diagnostics → Pass
Provenance & Transparency23
- Repository check failed: no source repository is declared. See how to fix → View diagnostics → Fail
- Provenance check failed: no build-provenance attestation is published. See how to fix → View diagnostics → Fail
- Clear OSI-approved license (Apache-2.0).Pass
- Actively maintained (last published 3 days ago).Pass
- Publishes a security disclosure policy (SECURITY.md).Pass
Schema Quality & AI Usability75
- AI-judged instruction clarity (good).Pass
- Tool/resource definitions use about 2503 tokens (~92/item across 27 items; 27 tools + 0 resources), lean.Pass
- Usage-examples check failed: none of the tools include examples. See how to fix → Fail
Stability & Change Management0
- Stability not yet verified: not enough scan history yet (needs a 30-day window).Unverified
Tool Coverage80
- 100% of tools have a non-trivial description (not blank, and not just the tool's name).Pass
- 39% of tool parameters carry a description.Partial
Tool Safety75
- No prompt-injection markers were found in the server instructions, tool names or descriptions we captured.Pass
- 0 of 2 tool(s) whose name or description implies an irreversible operation declare an MCP destructiveHint annotation; "tern_delete_run" implies "delete" and declares no destructiveHint at all, which the MCP spec reads as destructive by default. See how to fix → Fail
- An AI judge read all 27 captured unit(s) of tool text and found none that tries to manipulate the model reading it.Pass
Capabilities100
- Implements a supported MCP spec version (2025-11-25); the latest is 2026-07-28.Pass
Unverified: 1 category
A category scored 0 because we could not verify it: a data source with nothing on this package, evidence we could not reach, or a check we could not run. We only credit what we can confirm.
How do I install the io.github.zyf8827/tern MCP server?
io.github.zyf8827/tern runs locally as an npm package, launched with npx -y @zyf8827/tern-mcp. Ready-made configuration for Claude, Cursor, VS Code, Codex and 5 more is on this page, copied from each client's own documentation.
npm · @zyf8827/tern-mcp
claude mcp add zyf8827-tern -- npx -y @zyf8827/tern-mcp
{
"mcpServers": {
"zyf8827-tern": {
"command": "npx",
"args": [
"-y",
"@zyf8827/tern-mcp"
]
}
}
} {
"servers": {
"zyf8827-tern": {
"command": "npx",
"args": [
"-y",
"@zyf8827/tern-mcp"
]
}
}
} codex mcp add zyf8827-tern -- npx -y @zyf8827/tern-mcp
{
"$schema": "https://opencode.ai/config.json",
"mcp": {
"zyf8827-tern": {
"type": "local",
"command": [
"npx",
"-y",
"@zyf8827/tern-mcp"
],
"enabled": true
}
}
} openclaw mcp add zyf8827-tern --command npx --arg -y --arg @zyf8827/tern-mcp
mcp_servers:
zyf8827-tern:
command: "npx"
args: ["-y", "@zyf8827/tern-mcp"] {
"McpServers": {
"zyf8827-tern": {
"Transport": "stdio",
"Command": "npx",
"Arguments": [
"-y",
"@zyf8827/tern-mcp"
]
}
}
} assistant mcp add zyf8827-tern -t stdio -c npx -a -y @zyf8827/tern-mcp
{
"mcpServers": {
"zyf8827-tern": {
"command": "npx",
"args": [
"-y",
"@zyf8827/tern-mcp"
]
}
}
} Every change we have recorded for this component, newest first. Security-relevant changes are always shown. ▲ marks a change for the better, ▼ a change for the worse; unmarked changes are neutral.
- 25 Sept 26 0
- We updated how we score, so this day's move reflects our rubric, not a change to the server See what changed → functional
- 24 Sept 26 +1
- Security disclosure: unverified → pass ▲ functional
- 23 Sept 26 +15
- Malware scan: unverified → pass ▲ security
- 22 Sept 26 47
First indexed and scored.
Diagnostic detail from the automated scan of this channel: what the scanner observed at each step, so you can see exactly where a check passed or failed. It is informational only and never changes the trust score.
Captured 26 Sept 2026 · Analysed npm/@zyf8827/tern-mcp@0.3.0
Provenance No attestation
The registry publishes no build provenance for this version, so there is nothing to verify.
| Result | No attestation |
|---|---|
| Ecosystem | npm |
Background: How many MCP packages publish verified provenance →
Dependencies 0 packages
| Packages resolved | 0 |
|---|---|
| Tree resolution | Complete |
Background: SBOMs and build attestations, explained →
The tools this component advertises to a client, with an estimated token cost for each. Expand a tool to see its parameters and schema. The per-tool counts are indicative and are not scored directly; the schema's total context footprint is one signal in Schema Quality & AI Usability. A tool's description is untrusted text the model reads on every call, which is what makes this list a security surface and not just an inventory: how tool poisoning works →
tern_add_project ~174
添加一个 git 用例仓库作为测试项目(自动 clone + 首次同步)。默认 HTTP 协议,可用账号密码;SSH 必须提供私钥 PEM(运行在容器内,不会使用宿主机密钥)。仓库根目录需要 tern.yaml
| Name | Type | Req | Description |
|---|---|---|---|
| branch | string | – | – |
| credentialType | string | – | none=公开库;password=HTTP 账号密码;ssh=私钥 |
| gitUrl | string | yes | git 仓库地址(https 默认;ssh:// 或 git@ 需配私钥) |
| name | string | – | 项目名(缺省读仓库 tern.yaml 的 name) |
| secret | string | – | HTTP 密码/token,或 SSH 私钥 PEM 全文 |
| username | string | – | HTTP 用户名 |
No output schema declared.
No examples provided.
tern_cancel_run ~111
结束一次测试运行。默认强制结束:运行立即收敛为 cancelled(不等 worker 回执),中断 worker 上该用例的全部阶段(含尚未开始执行/登录中的条目),worker 不在线时重连后补发中断;force=false 为软取消:仅通知已进入执行阶段的用例。
| Name | Type | Req | Description |
|---|---|---|---|
| force | boolean | – | 强制结束(默认 true);false = 软取消 |
| runId | string | yes | – |
No output schema declared.
No examples provided.
tern_create_suite ~179
创建测试集(项目内可命名复用的用例选择 + 执行前提绑定)。选择器 = 筛选条件 + 显式包含/排除(排除优先);空选择器 = 项目全量。env/account 是运行该集时的缺省环境与账号(AUTH_ACCOUNT,只覆盖未声明 auth 的用例),run 显式指定可覆盖
| Name | Type | Req | Description |
|---|---|---|---|
| account | string | – | 绑定账号名(tern.yaml auth.accounts) |
| description | string | – | – |
| env | string | – | 绑定环境名(平台项目页配置) |
| name | string | yes | 小写 kebab-case,项目内唯一 |
| params | object | – | 绑定运行参数(非敏感) |
| project | string | yes | – |
| selector | object | – | – |
No output schema declared.
No examples provided.
tern_delete_run ~73
删除一次测试运行:级联删除执行记录/事件,并清理截图、trace、日志等产物文件(不可恢复)。进行中的运行需 force=true
| Name | Type | Req | Description |
|---|---|---|---|
| force | boolean | – | 进行中的运行先强制取消再删(默认拒绝) |
| runId | string | yes | – |
No output schema declared.
No examples provided.
tern_delete_suite ~52
删除测试集(历史 run 靠 scope 快照不受影响;引用它的定时任务触发时会明确报错)
| Name | Type | Req | Description |
|---|---|---|---|
| name | string | yes | – |
| project | string | yes | – |
No output schema declared.
No examples provided.
tern_get_case ~47
获取单个用例的元数据、完整源码与最近执行记录
| Name | Type | Req | Description |
|---|---|---|---|
| caseId | string | yes | 用例 ID(即文件相对路径,如 portal/login/login-basic) |
No output schema declared.
No examples provided.
tern_get_execution ~44
查询单条用例某次执行的详情:错误、日志尾部、产物清单(截图/trace URL)
| Name | Type | Req | Description |
|---|---|---|---|
| executionId | string | yes | – |
No output schema declared.
No examples provided.
tern_get_failure_summary ~100
获取一次运行的失败摘要:按错误签名聚类分组(同签名 = 同类失败),每组含代表性用例、截图 URL、日志尾部与跨 run 历史(首见/出现次数)。诊断批量失败的首选工具
| Name | Type | Req | Description |
|---|---|---|---|
| runId | string | yes | – |
| withScreenshot | boolean | – | 附带第一组的失败截图(image,默认 true) |
No output schema declared.
No examples provided.
tern_get_run ~46
查询一次测试运行的状态与逐用例结果。runId 不传时返回最近一次运行
| Name | Type | Req | Description |
|---|---|---|---|
| latest | boolean | – | – |
| runId | string | – | – |
No output schema declared.
No examples provided.
tern_get_screenshot ~41
获取某次用例执行的失败截图,以图片返回(多模态模型可直接查看失败现场)
| Name | Type | Req | Description |
|---|---|---|---|
| executionId | string | yes | – |
No output schema declared.
No examples provided.
tern_get_suite ~45
获取单个测试集详情:选择器、环境/账号绑定、健康度与命中数
| Name | Type | Req | Description |
|---|---|---|---|
| name | string | yes | – |
| project | string | yes | – |
No output schema declared.
No examples provided.
tern_list_cases ~156
查询测试用例列表(默认一页 20 条)。可用 project / version / module / tags(tagMode any=任一命中, all=全部命中)/ excludeTags / 关键字多维度过滤
| Name | Type | Req | Description |
|---|---|---|---|
| excludeTags | array | – | – |
| limit | number | – | 每页条数,默认 20 |
| module | array | – | 功能模块(可多选) |
| offset | number | – | – |
| project | string | – | – |
| q | string | – | 标题/描述/ID 关键字 |
| tagMode | string | – | – |
| tags | array | – | – |
| version | array | – | 被测系统版本(可多选) |
No output schema declared.
No examples provided.
tern_list_environments ~69
列出项目环境与变量清单(清单来自用例仓库 tern.yaml 的 env.variables;环境值在平台配置,secret 不回显)。发起运行前可用它确认环境是否配齐
| Name | Type | Req | Description |
|---|---|---|---|
| project | string | yes | 项目 id 或名称 |
No output schema declared.
No examples provided.
tern_list_projects ~45
列出平台上的所有测试项目(用例 git/local 仓库)及用例数量、最近同步状态、git 认证摘要(secret 不回显)
Input schema present but exposes no named parameters.
No output schema declared.
No examples provided.
tern_list_runs ~126
分页列出测试运行(默认一页 20 条),可按 status / project / env / createdBy / workerId / 关键字 / 创建时间筛选
| Name | Type | Req | Description |
|---|---|---|---|
| createdBy | string | – | – |
| createdFrom | string | – | – |
| createdTo | string | – | – |
| env | string | – | 按环境名筛选 |
| limit | number | – | – |
| offset | number | – | – |
| project | string | – | – |
| q | string | – | – |
| status | string | – | – |
| workerId | string | – | – |
No output schema declared.
No examples provided.
tern_list_schedules ~31
列出定时任务(cron、环境、下次触发时间、最近一次运行)
Input schema present but exposes no named parameters.
No output schema declared.
No examples provided.
tern_list_suites ~76
列出项目测试集:可命名复用的用例选择 + 环境/账号绑定。返回命中数与健康度(悬空引用/空集/环境缺值)——发起运行前选集的主入口
| Name | Type | Req | Description |
|---|---|---|---|
| project | string | yes | 项目 id 或名称 |
No output schema declared.
No examples provided.
tern_list_workers ~20
列出所有执行 Worker 及其状态
Input schema present but exposes no named parameters.
No output schema declared.
No examples provided.
tern_preview_run ~157
run 创建 dry-run 预览(不执行不落库):与 tern_run_cases 同参,返回去重后的条目总数、按环境分组的命中构成(每组的来源测试集与条数)、各测试集命中数与去重明细——发起前自查选择是否写对
| Name | Type | Req | Description |
|---|---|---|---|
| caseIds | array | – | – |
| env | string | – | – |
| excludeTags | array | – | – |
| includeQuarantined | boolean | – | – |
| module | array | – | – |
| project | string | – | – |
| suites | array | – | – |
| tagMode | string | – | – |
| tags | array | – | – |
| version | array | – | – |
No output schema declared.
No examples provided.
tern_rerun ~81
重跑某次测试运行的全部用例(沿用源运行的环境/参数/worker/trace 选项);只复跑失败用例用 tern_retry_failed
| Name | Type | Req | Description |
|---|---|---|---|
| runId | string | yes | – |
| timeoutS | number | – | 等待超时秒数(默认 900) |
| wait | boolean | – | – |
No output schema declared.
No examples provided.
tern_resync_cases ~35
全量更新并重新扫描所有项目用例(git 拉取 + 重扫 + lint/打包校验)
Input schema present but exposes no named parameters.
No output schema declared.
No examples provided.
tern_retry_failed ~67
基于某次测试运行中失败的用例创建新运行并执行(修复后验证的标准动作)
| Name | Type | Req | Description |
|---|---|---|---|
| runId | string | yes | – |
| timeoutS | number | – | 等待超时秒数(默认 900) |
| wait | boolean | – | – |
No output schema declared.
No examples provided.
tern_run_cases ~441
创建并执行一次测试运行。必须指定 project(或只用 caseIds/suites,且须同属一个项目)。可覆盖该项目的多个 version / module / tag。suites 引用平台测试集(可多个:各自用各自绑定的环境,按「用例×环境」去重执行)。env 引用平台环境(显式指定时会覆盖拉平所有测试集的环境绑定)。workerId 缺省则所有空闲 worker 并行。wait=true(默认)阻塞到结束
| Name | Type | Req | Description |
|---|---|---|---|
| caseIds | array | – | 显式用例 ID 列表(须同属一个项目) |
| env | string | – | 环境名(显式指定 = 覆盖拉平所有测试集的环境绑定;不传则各测试集用自己的环境) |
| excludeTags | array | – | – |
| includeQuarantined | boolean | – | 纳入已隔离(flaky)用例;缺省排除(显式 caseIds 点名不受限) |
| maxAttempts | number | – | 每条用例最大尝试次数 |
| module | array | – | 功能模块(可多选) |
| params | object | – | 运行参数(显式覆盖环境值与环境变量注入,如 BASE_URL、AUTH_ACCOUNT) |
| project | string | – | 归属项目(必填,除非只传同项目的 caseIds/suites) |
| suites | array | – | 引用的测试集名(可多个;各用各的 env 绑定,与筛选/caseIds 并存取并集) |
| tagMode | string | – | – |
| tags | array | – | – |
| timeoutS | number | – | 等待超时秒数(默认 900) |
| title | string | – | – |
| version | array | – | 被测系统版本(可多选) |
| wait | boolean | – | 等待运行完成(默认 true) |
| workerId | string | – | 指定执行的 worker(id 或名称);缺省所有空闲 worker 并行 |
No output schema declared.
No examples provided.
tern_set_case_quarantine ~77
手动隔离/解除隔离一条用例(flaky 治理)。隔离的用例默认不参与新建运行,但仍可显式 caseIds 点名执行;手动设置优先于自动规则
| Name | Type | Req | Description |
|---|---|---|---|
| caseId | string | yes | – |
| quarantined | boolean | yes | – |
No output schema declared.
No examples provided.
tern_sync_project ~72
强制更新一个项目:git 仓库会 fetch + reset --hard + clean -fdx(丢弃一切本地修改)后重新扫描用例。写完用例 push 之后调用它让平台生效
| Name | Type | Req | Description |
|---|---|---|---|
| project | string | yes | 项目 id 或名称 |
No output schema declared.
No examples provided.
tern_update_suite ~91
更新测试集(只改提供的字段;改名会联动引用它的定时任务)
| Name | Type | Req | Description |
|---|---|---|---|
| account | string|null | – | – |
| description | string | – | – |
| env | string|null | – | – |
| name | string | yes | – |
| params | object | – | – |
| project | string | yes | – |
| rename | string | – | 新名字 |
| selector | object | – | – |
No output schema declared.
No examples provided.
tern_wait_run ~47
阻塞等待测试运行结束并返回最终统计
| Name | Type | Req | Description |
|---|---|---|---|
| runId | string | yes | – |
| timeoutS | number | – | 等待超时秒数(默认 900) |
No output schema declared.
No examples provided.
What is the io.github.zyf8827/tern MCP server?
io.github.zyf8827/tern is an MCP server listed in the public MCP registry as io.github.zyf8827/tern. Model Context Protocol (MCP) server for Tern E2E testing platform. This page covers its npm package (@zyf8827/tern-mcp).
Is the io.github.zyf8827/tern MCP server safe to use?
io.github.zyf8827/tern scores 63 out of 100 on VerifyMCP. We found no known CVEs affecting it as of 26 September 2026. It declares no install or post-install scripts. That is a record of what we were able to check automatically, not an endorsement. The category breakdown on this page shows every signal behind the number, including the ones we could not confirm.
What tools does the io.github.zyf8827/tern MCP server expose?
io.github.zyf8827/tern exposes 27 tools: tern_list_projects, tern_add_project, tern_sync_project, tern_list_cases, tern_get_case, and 22 more. Their descriptions and schemas cost roughly 2,503 tokens of context every time the server is loaded.
Is the io.github.zyf8827/tern MCP server still maintained?
io.github.zyf8827/tern is still listed as active in the MCP registry. We last reached this channel on 26 September 2026. Those dates come from our own scans of the registry and the channel itself, not from anything the publisher announced.
What licence is the io.github.zyf8827/tern MCP server under?
io.github.zyf8827/tern declares the Apache-2.0 licence, which is OSI-approved. That covers the source only, and says nothing about the cost of any service it calls.