Test

io.github.Dave-London由 GitHub 帳號 Dave-London 發布v0.8.0更新於 Oct 27, 2026

Auto-detects test framework (pytest, jest, vitest) and returns structured results.

已驗證STDIO僅桌面開發者工具安全與監控

概覽

AI 產生的概覽

本機 MCP 伺服器,自動辨識 pytest、jest、vitest 並執行測試,回傳經 schema 驗證的 JSON 結果,而非原始終端機文字。

可以做什麼
  • 自動偵測專案使用的測試框架(pytest、jest、vitest)並執行測試
  • 同時回傳結構化、經 schema 驗證的 JSON 與可讀文字
  • 讓助理直接使用帶型別的通過/失敗資料,不必解析終端機輸出
  • 可透過環境變數篩選限制註冊的工具
適用情境
適合需要讓助理執行測試並可靠解讀結果的情境,尤其在跨平台、跨工具版本或不同語系環境下,原始命令列輸出容易變動且佔用較多 token 時。
執行需求
透過 npx 從 npm 套件 @paretools/test 以本機 stdio 程序執行。需要 Node.js 20 或更新版本,以及已安裝 pytest、jest 或 vitest 的專案。未宣告帳號、API 金鑰或標頭。
安裝前請注意
它會在專案中執行測試指令,具副作用的測試也會實際執行。可選環境變數如 PARE_TOOLS 或 PARE_TEST_TOOLS 可限制註冊的工具。在 Windows 上 npx 可能需要 cmd /c 包裝。

安裝

在 SourceWeft 中

  1. 開啟 儀表板中的 Test,將其新增到工作區。
  2. 為需要使用其工具的對話啟用該服務。

Desktop only,透過 STDIO。 STDIO 服務會啟動本機處理程序,因此需要 SourceWeft 桌面主機。

其他 MCP 客戶端

參照 儲存庫 中的啟動說明。

README

[圖片]  Pare

[CI] [codecov] [npm] [Downloads] [TypeScript] [License: MIT] [Node.js >= 20] [OpenSSF Scorecard] [OpenSSF Best Practices]

Reliable, structured CLI output for AI agents — no more parsing fragile terminal text.

Pare provides MCP servers that wrap common developer tools (git, npm, docker, test runners, etc.) and return clean, schema-validated JSON instead of raw terminal text. Agents get typed data they can act on directly, without brittle string parsing.

The Problem

Parsing CLI output is fragile. Raw terminal text includes ANSI escape codes, decorative headers, progress bars, locale-specific formatting, and platform differences that break agent workflows in subtle ways. An agent that works fine with git status on macOS may fail on Windows because the output format changed. A test runner's summary line might shift between versions, silently breaking a regex.

Pare eliminates this entire class of errors by returning schema-validated JSON with consistent field names, regardless of platform, tool version, or locale. As a bonus, structured output is significantly smaller — agents use fewer tokens per tool call:

Tool CommandRaw TokensPare TokensReduction
docker build (multi-stage, 11 steps)3732095%
git log --stat (5 commits, verbose)4,99238292%
npm install (487 packages, warnings)2414183%
vitest run (28 tests, all pass)1963980%
cargo build (2 errors, help text)43613868%
pip install (9 packages, progress bars)28810165%
cargo test (12 tests, 2 failures)35119046%
npm audit (4 vulnerabilities)28718536%

Token estimates use ~4 chars/token. The biggest savings appear on verbose commands (builds, installs, tests). For simpler tools like eslint or tsc, the main advantage is reliable structured data — agents can use typed JSON directly rather than parsing strings.

How It Works

Each Pare tool returns two outputs:

  • content — human-readable text, for MCP clients that display it
  • structuredContent — typed, schema-validated JSON, ready for agents to process

This uses MCP's structuredContent and outputSchema features to provide type-safe, validated data that agents can rely on without custom parsing.

Example: git status

Raw git output (~118 tokens):

On branch mainYour branch is ahead of 'origin/main' by 2 commits.  (use "git push" to publish your local commits)
Changes to be committed:  (use "git restore --staged <file>..." to unstage)        modified:   src/index.ts        new file:   src/utils.ts
Changes not staged for commit:  (use "git add <file>..." to update what will be committed)  (use "git restore <file>..." to discard changes in working directory)        modified:   README.md
Untracked files:  (use "git add <file>..." to include in what will be committed)        temp.log

Pare structured output (~59 tokens):

json
{  "branch": "main",  "upstream": "origin/main",  "ahead": 2,  "staged": [    { "file": "src/index.ts", "status": "modified" },    { "file": "src/utils.ts", "status": "added" }  ],  "modified": ["README.md"],  "deleted": [],  "untracked": ["temp.log"],  "conflicts": [],  "clean": false}

50% fewer tokens. Zero information lost. Fully typed. Savings scale with output verbosity — test runners and build logs see 80–92% reduction.

Available Servers (28 packages, 240 tools)

Install only the servers relevant to your stack — most projects need just 2–4. The full catalog covers a wide range of ecosystems so Pare works wherever you do.

CategoryServersToolsWraps
Version Controlgit, github55git, gh
Languages & Packagesnpm, python, cargo, go, deno, bun, nix, dotnet, ruby, swift, jvm101npm, pip, cargo, go, deno, bun, nix, dotnet, gem, swift, gradle, maven
Build, Lint & Testbuild, lint, test, cmake, bazel23tsc, esbuild, vite, webpack, eslint, prettier, biome, vitest, pytest, jest
Infrastructuredocker, k8s, infra, security, remote40docker, kubectl, helm, terraform, ansible, trivy, ssh
Utilitiessearch, http, make, process, db21ripgrep, fd, curl, make, just, psql, mysql, redis, mongosh

Tool Schemas — detailed response examples and field descriptions for every tool. See also Tool Response Examples for quick JSON samples.

Quick Setup

bash
# 1. Configure MCP servers (non-interactive)npx @paretools/init --client claude-code --preset web
# 2. Add agent rules to your project#    (append to existing CLAUDE.md, or copy if new)cat node_modules/@paretools/init/rules/CLAUDE.md >> CLAUDE.md
# 3. Restart your client session
# 4. Validatenpx @paretools/init doctor

Available presets: web, python, rust, go, jvm, dotnet, ruby, swift, mobile, devops, full

Setup Guides by Client

Full Quickstart Guide — presets, ecosystem mapping, validation

Manual Configuration — config paths and formats for all clients

Agent Integration Guide — rule files, hooks, CLI-to-MCP mapping

Configuration

Tool Selection

By default, every Pare server registers all of its tools. If a server exposes tools you don't need — or you want to limit which tools are available to an agent — you can filter them with environment variables.

Per-server filter — restrict a single server's tools:

bash
# Only register status and log in the git serverPARE_GIT_TOOLS=status,log npx @paretools/git

Universal filter — restrict tools across all servers:

bash
# Only register these specific tools across any serverPARE_TOOLS=git:status,git:log,npm:install npx @paretools/git

Disable all tools — set the env var to an empty string:

bash
PARE_GIT_TOOLS= npx @paretools/git   # no tools registered
Env VarScopeFormatExample
PARE_TOOLSAll serversserver:tool,...git:status,npm:install
PARE_{SERVER}_TOOLSOne servertool,...status,log,diff

Rules:

  • No env var = all tools enabled (default)
  • PARE_TOOLS (universal) takes precedence over per-server vars
  • Server names use uppercase with hyphens replaced by underscores (e.g., PARE_MY_SERVER_TOOLS)
  • Whitespace around commas is ignored

Common patterns:

bash
# Read-only git (no push, commit, add, checkout)PARE_GIT_TOOLS=status,log,diff,branch,show
# Minimal npmPARE_NPM_TOOLS=install,test,run
# Only specific tools across all serversPARE_TOOLS=git:status,git:diff,npm:install,test:run

In JSON MCP config, set via the env key:

json
{  "mcpServers": {    "pare-git": {      "command": "npx",      "args": ["-y", "@paretools/git"],      "env": {        "PARE_GIT_TOOLS": "status,log,diff,show"      }    }  }}

Troubleshooting

IssueSolution
npx not found / ENOENT on WindowsUse cmd /c npx wrapper (see your client's setup guide)
Slow first startRun npx -y @paretools/git once to cache, or install globally: npm i -g @paretools/git
Node.js version errorPare requires Node.js >= 20
NVM/fnm PATH issuesUse absolute path to npx: e.g., ~/.nvm/versions/node/v22/bin/npx
MCP connection timeoutSet MCP_TIMEOUT=30000 for Claude Code, or increase initTimeout in client config
Too many tools filling contextUse tool selection env vars to limit tools, or only install the servers you need

Contributing

Each server is a self-contained package. See CONTRIBUTING.md for the full guide.

License

MIT

來源:README.md,提交 57e1980

工具

0
SourceWeft 尚未在沙箱中啟動過該軟體包,因此其工具未知。

版本歷史

1
  1. v0.8.0最新Sep 16, 2026

評分

已滿足適用檢查項的 50%

該評分衡量此收錄條目的完整程度,依據註冊中心條目、端點與公開來源計算得出。它不是對伺服器本身的評價,也不表示伺服器安全或目前可用:可連通性是帶日期的檢查結果,評分也不包含安裝量或使用者評價。

  • 近 30 天內可連通25 分

    請保持端點能夠回應 MCP 握手;SourceWeft 每 30 天探測一次。

  • 已宣告認證方式10 分

    請在註冊中心條目中宣告憑證請求標頭,或保持端點能夠回應探測,以便判定其認證方式。

  • 已列出工具15 分

    請讓伺服器在無憑證時回應 tools/list,或發布可在沙箱中無憑證啟動的軟體包。

  • 描述必需15 分
  • 圖示10 分
  • 文件15 分
  • 授權條款10 分