MCP.Market

Tern MCP server

by zyf8827·io.github.zyf8827/tern·v0.3.0

Model Context Protocol (MCP) server for Tern E2E testing platform

B71/100grade B
What users say
No reviews yet
Be the first
Safety scan
B71/100

full report

Adoption
New

0 stars47 downloads/wk

Reviews

Write one

Nobody 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 posts

Read 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 action

    run \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 action
  • tern_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

1 medium
  • 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 usedexec.eval
    tern-mcp.mjs: …&&(l=this.opts.code.process(l,t));let f=new Function(`${kn.default.self}`,`${kn.default.scope…
Overall 71/100. Components that don't apply are left out of the denominator. Any critical finding is an F.RubricAppeal a findingJSON

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
Add to Cursor

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.