Tern MCP server
io.github.zyf8827/tern·v0.3.0Model Context Protocol (MCP) server for Tern E2E testing platform
0 stars47 downloads/wk
Reviews
Write oneNobody has reviewed Tern yet.
If you have run it, two minutes of your experience saves the next person an afternoon.
Tern tools (27, 9 write)
write = sends, deletes, buys or postsRead from the package source without running it. The installed server may list more.
tern_add_project\u6DFB\u52A0\u4E00\u4E2A git \u7528\u4F8B\u4ED3\u5E93\u4F5C\u4E3A\u6D4B\u8BD5\u9879\u76EE\uFF08\u81EA\u52A8 clone + \u9996\u6B21\u540C\u6B65\uFF09\u3002\u9ED8\u8BA4 HTTP \u534F\u8BAE\uFF0C\u53EF\u7528\u8D26\u53F7\u5BC6\u7801\uFF1BSSH \u5FC5\u987B\u63D0\u4F9B\u79C1\u94A5 PEM\uFF08\u8FD0\u884C\u5728\u5BB9\u5668\u5185\uFF0C\u4E0D\u4F1A\u4F7F\u7528\u5BBF\u4E3B\u673A\u5BC6\u94A5\uFF09\u3002\u4ED3\u5E93
tern_cancel_runwrite action\u7ED3\u675F\u4E00\u6B21\u6D4B\u8BD5\u8FD0\u884C\u3002\u9ED8\u8BA4\u5F3A\u5236\u7ED3\u675F\uFF1A\u8FD0\u884C\u7ACB\u5373\u6536\u655B\u4E3A cancelled\uFF08\u4E0D\u7B49 worker \u56DE\u6267\uFF09\uFF0C\u4E2D\u65AD worker \u4E0A\u8BE5\u7528\u4F8B\u7684\u5168\u90E8\u9636\u6BB5\uFF08\u542B\u5C1A\u672A\u5F00\u59CB\u6267\u884C/\u767B\u5F55\u4E2D\u7684\u6761\u76EE\uFF09\uFF0Cworker \u4E0D\u5728\u7EBF\u65F6
tern_create_suitewrite action\u521B\u5EFA\u6D4B\u8BD5\u96C6\uFF08\u9879\u76EE\u5185\u53EF\u547D\u540D\u590D\u7528\u7684\u7528\u4F8B\u9009\u62E9 + \u6267\u884C\u524D\u63D0\u7ED1\u5B9A\uFF09\u3002\u9009\u62E9\u5668 = \u7B5B\u9009\u6761\u4EF6 + \u663E\u5F0F\u5305\u542B/\u6392\u9664\uFF08\u6392\u9664\u4F18\u5148\uFF09\uFF1B\u7A7A\u9009\u62E9\u5668 = \u9879\u76EE\u5168\u91CF\u3002env/account \u662F\u8FD0\u884C\u8BE5\u96C6\u65F6\u7
tern_delete_runwrite action\u5220\u9664\u4E00\u6B21\u6D4B\u8BD5\u8FD0\u884C\uFF1A\u7EA7\u8054\u5220\u9664\u6267\u884C\u8BB0\u5F55/\u4E8B\u4EF6\uFF0C\u5E76\u6E05\u7406\u622A\u56FE\u3001trace\u3001\u65E5\u5FD7\u7B49\u4EA7\u7269\u6587\u4EF6\uFF08\u4E0D\u53EF\u6062\u590D\uFF09\u3002\u8FDB\u884C\u4E2D\u7684\u8FD0\u884C\u9700 force=true
tern_delete_suitewrite action\u5220\u9664\u6D4B\u8BD5\u96C6\uFF08\u5386\u53F2 run \u9760 scope \u5FEB\u7167\u4E0D\u53D7\u5F71\u54CD\uFF1B\u5F15\u7528\u5B83\u7684\u5B9A\u65F6\u4EFB\u52A1\u89E6\u53D1\u65F6\u4F1A\u660E\u786E\u62A5\u9519\uFF09
tern_get_case\u83B7\u53D6\u5355\u4E2A\u7528\u4F8B\u7684\u5143\u6570\u636E\u3001\u5B8C\u6574\u6E90\u7801\u4E0E\u6700\u8FD1\u6267\u884C\u8BB0\u5F55
tern_get_execution\u67E5\u8BE2\u5355\u6761\u7528\u4F8B\u67D0\u6B21\u6267\u884C\u7684\u8BE6\u60C5\uFF1A\u9519\u8BEF\u3001\u65E5\u5FD7\u5C3E\u90E8\u3001\u4EA7\u7269\u6E05\u5355\uFF08\u622A\u56FE/trace URL\uFF09
tern_get_failure_summary\u83B7\u53D6\u4E00\u6B21\u8FD0\u884C\u7684\u5931\u8D25\u6458\u8981\uFF1A\u6309\u9519\u8BEF\u7B7E\u540D\u805A\u7C7B\u5206\u7EC4\uFF08\u540C\u7B7E\u540D = \u540C\u7C7B\u5931\u8D25\uFF09\uFF0C\u6BCF\u7EC4\u542B\u4EE3\u8868\u6027\u7528\u4F8B\u3001\u622A\u56FE URL\u3001\u65E5\u5FD7\u5C3E\u90E8\u4E0E\u8DE8 run \u5386\u53F2\uFF08\u9996\u89C1/\u51FA\u73B0\u6B21\u6570\uFF09\u3002\u8BCA\u65AD\u6279\u91CF\u5
tern_get_runwrite action\u67E5\u8BE2\u4E00\u6B21\u6D4B\u8BD5\u8FD0\u884C\u7684\u72B6\u6001\u4E0E\u9010\u7528\u4F8B\u7ED3\u679C\u3002runId \u4E0D\u4F20\u65F6\u8FD4\u56DE\u6700\u8FD1\u4E00\u6B21\u8FD0\u884C
tern_get_screenshot\u83B7\u53D6\u67D0\u6B21\u7528\u4F8B\u6267\u884C\u7684\u5931\u8D25\u622A\u56FE\uFF0C\u4EE5\u56FE\u7247\u8FD4\u56DE\uFF08\u591A\u6A21\u6001\u6A21\u578B\u53EF\u76F4\u63A5\u67E5\u770B\u5931\u8D25\u73B0\u573A\uFF09
tern_get_suite\u83B7\u53D6\u5355\u4E2A\u6D4B\u8BD5\u96C6\u8BE6\u60C5\uFF1A\u9009\u62E9\u5668\u3001\u73AF\u5883/\u8D26\u53F7\u7ED1\u5B9A\u3001\u5065\u5EB7\u5EA6\u4E0E\u547D\u4E2D\u6570
tern_list_cases\u67E5\u8BE2\u6D4B\u8BD5\u7528\u4F8B\u5217\u8868\uFF08\u9ED8\u8BA4\u4E00\u9875 20 \u6761\uFF09\u3002\u53EF\u7528 project / version / module / tags\uFF08tagMode any=\u4EFB\u4E00\u547D\u4E2D, all=\u5168\u90E8\u547D\u4E2D\uFF09/ excludeTags / \u5173\u952E\u5B57\u591A\u7EF4\u5EA6\u8FC7\u6EE4
tern_list_environments\u5217\u51FA\u9879\u76EE\u73AF\u5883\u4E0E\u53D8\u91CF\u6E05\u5355\uFF08\u6E05\u5355\u6765\u81EA\u7528\u4F8B\u4ED3\u5E93 tern.yaml \u7684 env.variables\uFF1B\u73AF\u5883\u503C\u5728\u5E73\u53F0\u914D\u7F6E\uFF0Csecret \u4E0D\u56DE\u663E\uFF09\u3002\u53D1\u8D77\u8FD0\u884C\u524D\u53EF\u7528\u5B83\u786E\u8BA4\u73AF\u5883\u662F\u5426\u914D\u9F50
tern_list_projects\u5217\u51FA\u5E73\u53F0\u4E0A\u7684\u6240\u6709\u6D4B\u8BD5\u9879\u76EE\uFF08\u7528\u4F8B git/local \u4ED3\u5E93\uFF09\u53CA\u7528\u4F8B\u6570\u91CF\u3001\u6700\u8FD1\u540C\u6B65\u72B6\u6001\u3001git \u8BA4\u8BC1\u6458\u8981\uFF08secret \u4E0D\u56DE\u663E\uFF09
tern_list_runs\u5206\u9875\u5217\u51FA\u6D4B\u8BD5\u8FD0\u884C\uFF08\u9ED8\u8BA4\u4E00\u9875 20 \u6761\uFF09\uFF0C\u53EF\u6309 status / project / env / createdBy / workerId / \u5173\u952E\u5B57 / \u521B\u5EFA\u65F6\u95F4\u7B5B\u9009
tern_list_schedules\u5217\u51FA\u5B9A\u65F6\u4EFB\u52A1\uFF08cron\u3001\u73AF\u5883\u3001\u4E0B\u6B21\u89E6\u53D1\u65F6\u95F4\u3001\u6700\u8FD1\u4E00\u6B21\u8FD0\u884C\uFF09
tern_list_suites\u5217\u51FA\u9879\u76EE\u6D4B\u8BD5\u96C6\uFF1A\u53EF\u547D\u540D\u590D\u7528\u7684\u7528\u4F8B\u9009\u62E9 + \u73AF\u5883/\u8D26\u53F7\u7ED1\u5B9A\u3002\u8FD4\u56DE\u547D\u4E2D\u6570\u4E0E\u5065\u5EB7\u5EA6\uFF08\u60AC\u7A7A\u5F15\u7528/\u7A7A\u96C6/\u73AF\u5883\u7F3A\u503C\uFF09\u2014\u2014\u53D1\u8D77\u8FD0\u884C\u524D\u9009\u96C6\u7684\u4E3B\u5165\u53E3
tern_list_workers\u5217\u51FA\u6240\u6709\u6267\u884C Worker \u53CA\u5176\u72B6\u6001
tern_preview_runwrite actionrun \u521B\u5EFA dry-run \u9884\u89C8\uFF08\u4E0D\u6267\u884C\u4E0D\u843D\u5E93\uFF09\uFF1A\u4E0E tern_run_cases \u540C\u53C2\uFF0C\u8FD4\u56DE\u53BB\u91CD\u540E\u7684\u6761\u76EE\u603B\u6570\u3001\u6309\u73AF\u5883\u5206\u7EC4\u7684\u547D\u4E2D\u6784\u6210\uFF08\u6BCF\u7EC4\u7684\u6765\u6E90\u6D4B\u8BD5\u96C6\u4E0E\u6761\u6570\uFF09\u3001\u5404\u6D4B\u8BD5\u96C6\u547D\u4E2D\u6570\u4E0E\u53BB\u91C
tern_rerun\u91CD\u8DD1\u67D0\u6B21\u6D4B\u8BD5\u8FD0\u884C\u7684\u5168\u90E8\u7528\u4F8B\uFF08\u6CBF\u7528\u6E90\u8FD0\u884C\u7684\u73AF\u5883/\u53C2\u6570/worker/trace \u9009\u9879\uFF09\uFF1B\u53EA\u590D\u8DD1\u5931\u8D25\u7528\u4F8B\u7528 tern_retry_failed
tern_resync_cases\u5168\u91CF\u66F4\u65B0\u5E76\u91CD\u65B0\u626B\u63CF\u6240\u6709\u9879\u76EE\u7528\u4F8B\uFF08git \u62C9\u53D6 + \u91CD\u626B + lint/\u6253\u5305\u6821\u9A8C\uFF09
tern_retry_failed\u57FA\u4E8E\u67D0\u6B21\u6D4B\u8BD5\u8FD0\u884C\u4E2D\u5931\u8D25\u7684\u7528\u4F8B\u521B\u5EFA\u65B0\u8FD0\u884C\u5E76\u6267\u884C\uFF08\u4FEE\u590D\u540E\u9A8C\u8BC1\u7684\u6807\u51C6\u52A8\u4F5C\uFF09
tern_run_caseswrite actiontern_set_case_quarantine\u624B\u52A8\u9694\u79BB/\u89E3\u9664\u9694\u79BB\u4E00\u6761\u7528\u4F8B\uFF08flaky \u6CBB\u7406\uFF09\u3002\u9694\u79BB\u7684\u7528\u4F8B\u9ED8\u8BA4\u4E0D\u53C2\u4E0E\u65B0\u5EFA\u8FD0\u884C\uFF0C\u4F46\u4ECD\u53EF\u663E\u5F0F caseIds \u70B9\u540D\u6267\u884C\uFF1B\u624B\u52A8\u8BBE\u7F6E\u4F18\u5148\u4E8E\u81EA\u52A8\u89C4\u5219
tern_sync_project\u5F3A\u5236\u66F4\u65B0\u4E00\u4E2A\u9879\u76EE\uFF1Agit \u4ED3\u5E93\u4F1A fetch + reset --hard + clean -fdx\uFF08\u4E22\u5F03\u4E00\u5207\u672C\u5730\u4FEE\u6539\uFF09\u540E\u91CD\u65B0\u626B\u63CF\u7528\u4F8B\u3002\u5199\u5B8C\u7528\u4F8B push \u4E4B\u540E\u8C03\u7528\u5B83\u8BA9\u5E73\u53F0\u751F\u6548
tern_update_suitewrite action\u66F4\u65B0\u6D4B\u8BD5\u96C6\uFF08\u53EA\u6539\u63D0\u4F9B\u7684\u5B57\u6BB5\uFF1B\u6539\u540D\u4F1A\u8054\u52A8\u5F15\u7528\u5B83\u7684\u5B9A\u65F6\u4EFB\u52A1\uFF09
tern_wait_runwrite action\u963B\u585E\u7B49\u5F85\u6D4B\u8BD5\u8FD0\u884C\u7ED3\u675F\u5E76\u8FD4\u56DE\u6700\u7EC8\u7EDF\u8BA1
Public scan report
scanner v0.1.10 · 2026-11-02 · same rubric, same numbers if you re-run it
- Code scan2 source files scanned20/25
- –Live reliabilityno gateway calls yet and no remote to proben/a
- –Tool poisoningtools not inspected (local package is not executed); not countedn/a
- Auth qualitystatic API keys via environment variables6/15
- Maintenancelast push 40 days ago12/15
- Maintainer identityregistry namespace matches repository owner; GitHub account older than a year8/10
Findings (1)
- mediumeval / new Function used
exec.evaltern-mcp.mjs: …&&(l=this.opts.code.process(l,t));let f=new Function(`${kn.default.self}`,`${kn.default.scope…
How Tern compares
Against every graded AI and agents MCP server, from our own scans and uptime checks. Updated after each scan run.
- Safety score
- 71/100
- higher than 38% of 4,460 AI and agents servers
- Tools
- 27
- the typical AI and agents server has 6
- Tools that change things
- 33%
- typical: 0%. Fewer write tools means less an agent can break
- Downloads a week
- 47
- more than 39% of 1,538 AI and agents servers with a package
What its tools let an agent do: 18 read · 9 change
Install Tern in Claude Code, Cursor or VS Code
Runs npx -y @zyf8827/tern-mcp on your machine. Read the scan report first; the gateway never runs local packages.
claude mcp add tern -- npx -y @zyf8827/tern-mcp
Grade history
- 2026-11-02restoreD → Bscore 71: eval / new Function used
Tern: common questions
- Is Tern MCP server safe?
- Mostly: it is graded B (71/100). Read the Tern safety report
- How do I install Tern?
- It runs on your machine. Copy the Claude Code, Cursor, VS Code or Claude Desktop config from the install section.
- Does Tern need an API key?
- Yes. The registry entry asks for
TERN_TOKEN. - Is Tern maintained?
- The last commit was 41 days ago (2026-09-24). The latest release is v0.3.0.
- How does Tern compare with other AI and agents MCP servers?
- safety score 71/100 (higher than 38% of 4,460 AI and agents servers); tools 27 (the typical AI and agents server has 6); tools that change things 33% (typical: 0%. Fewer write tools means less an agent can break). Full comparison.