Spec Driven Development
MCP Server that facilitates spec-driven development workflows, not just Vibe Coding.
作者提供的说明(英文原文)
QA platform for agents: coverage signals, in-repo test plans, verified tests and release governance.
这三项永远不会合并成一个分数:意见、测量和人气是不同的东西。
我们还没有为它写通俗的介绍。下面是我们从注册中心读取到的事实。
选择你使用的 AI 应用,然后复制设置。
TESTCHIMP_API_KEY, TESTCHIMP_BACKEND_URL标为机密的值是你账户的钥匙。千万不要分享给别人,也不要粘贴到聊天里。
你需要
你用的是哪个应用?
在上方选择你的应用。我们会记住它,下次按钮会显示“安装到 …”。
适用于网页版、桌面版和手机版 Claude:
https://mcp.testchimp.io/mcp打开 Claude Desktop → Settings → Developer → Edit Config,把下面的内容粘贴到 claude_desktop_config.json
{
"mcpServers": {
"qa": {
"command": "npx",
"args": [
"-y",
"@testchimp/cli",
"mcp"
],
"env": {
"TESTCHIMP_API_KEY": "your-value",
"TESTCHIMP_BACKEND_URL": "your-value"
}
}
}
}在终端中运行这条命令
claude mcp add --transport http qa https://mcp.testchimp.io/mcpclaude mcp add qa --env TESTCHIMP_API_KEY=your-value --env TESTCHIMP_BACKEND_URL=your-value -- npx -y @testchimp/cli mcp运行前请先填写空着的值。
粘贴到项目中的 .cursor/mcp.json,或 ~/.cursor/mcp.json
{
"mcpServers": {
"qa": {
"url": "https://mcp.testchimp.io/mcp"
}
}
}粘贴到项目中的 .cursor/mcp.json,或 ~/.cursor/mcp.json
{
"mcpServers": {
"qa": {
"command": "npx",
"args": [
"-y",
"@testchimp/cli",
"mcp"
],
"env": {
"TESTCHIMP_API_KEY": "your-value",
"TESTCHIMP_BACKEND_URL": "your-value"
}
}
}
}浏览器会先询问是否打开应用,然后应用会显示设置并请你确认。密钥的值会留空,由你自己填写。
粘贴到项目中的 .vscode/mcp.json
{
"servers": {
"qa": {
"type": "http",
"url": "https://mcp.testchimp.io/mcp"
}
}
}粘贴到项目中的 .vscode/mcp.json
{
"servers": {
"qa": {
"type": "stdio",
"command": "npx",
"args": [
"-y",
"@testchimp/cli",
"mcp"
],
"env": {
"TESTCHIMP_API_KEY": "your-value",
"TESTCHIMP_BACKEND_URL": "your-value"
}
}
}
}浏览器会先询问是否打开应用,然后应用会显示设置并请你确认。密钥的值会留空,由你自己填写。
ChatGPT 只能连接互联网上的服务器:
https://mcp.testchimp.io/mcp菜单名称可能因套餐和版本不同而略有差异。
你的选择通过 Cookie 保存在这台设备上,无需账户。
TESTCHIMP_BACKEND_URL env这些设置是根据作者在注册中心的条目生成的。如果 README 的写法不同,请以 README 为准。
我们还没有读取这个服务器的工具列表;我们会轮流检查各个端点。
我们检查的是任何人都能看到的信息;我们没有阅读代码。不适用的检查项不计入总数。 · 检查于 2026年11月6日
注册名称已通过域名 testchimp.io 验证(注册中心会核实域名所有权)
我们还没有从 GitHub 读取这个仓库
我们还没有从 GitHub 读取这个仓库
尚未检查;我们会轮流检查各个端点
尚未检查;我们会轮流检查各个端点
尚未检查;我们会在检查端点时读取工具列表
与注册中心里这个分类中所有活跃的服务器比较。只有当发布者拥有该仓库时,星标数才计入。
它在 1 项适用的基础检查中通过了 1 项。我们没有阅读代码。在添加密钥或令牌之前,请先看看这个服务器要求哪些权限,并使用只具备所需权限的密钥。
你需要填写:TESTCHIMP_API_KEY
两种方式都可以:安装在你的电脑上,或者连接云端版本。
GitHub 仓库最后更新于–,最新版本(0.1.93)于19天前进入注册中心。
支持 MCP 的应用,例如 Claude Desktop、Claude Code、Cursor 和 VS Code。它通过 URL 连接,所以接受远程 MCP 服务器的应用也可以使用,例如开启开发者模式的 ChatGPT。
同一分类中有:Spec Driven Development, Remote Desktop Commander, BankBridge
同一分类中其他作者的服务器,按星标数排序。
如何看卡片:★ GitHub 星标i三大支柱:评价 · 检查 · 使用情况i更新 = 最新版本发布到注册中心的时间i
MCP Server that facilitates spec-driven development workflows, not just Vibe Coding.
Remote Desktop Commander: use files, terminal and processes on your own computers from any AI app.
Works in any MCP agent, including local models. Read-only bank accounts, spending, investments.
按原文从作者的仓库复制。PopNx MCP 没有审查或背书其内容。HTML、图片和脚本已被移除。链接会离开本站。
TestChimp CLI and MCP server for calling TestChimp /api/mcp/* endpoints with TESTCHIMP-API-KEY.
This repository folder may still be named testchimp-mcp-client locally; the published npm package is `@testchimp/cli`.
npm install -D @testchimp/cli@latest
Register the server so the host runs:
npx -y @testchimp/cli@latest mcp
Example mcpServers.testchimp:
{
"command": "npx", "args": ["-y", "@testchimp/cli@latest", "mcp"], "env": { "TESTCHIMP_API_KEY": "your-project-key", "TESTCHIMP_BACKEND_URL": "" } }
The config file path depends on the host (e.g. Cursor often uses /.cursor/mcp.json). Tool names use kebab-case (e.g. get-requirement-coverage, create-user-story).
export TESTCHIMP_API_KEY=... # required unless TESTCHIMP_OAUTH_TOKEN is set (often read from project MCP env; never commit keys)
testchimp --help testchimp get-requirement-coverage --branch-name main --help testchimp create-user-story --platform-file-path plans/stories/foo.md --title "Checkout" testchimp list-screen-states --json-input '{}' testchimp upsert-screen-states --json-input '{"screenStates":[{"screen":"Checkout","states":["empty","filled"]}]}' testchimp list-perf-runs --testchimp-id TC-123 --kind JOURNEY --limit 20 testchimp list-perf-runs --run-id 01ABC --include-raw testchimp promote-perf-baseline --run-id 01ABC --env-class CI testchimp compare-perf-to-baseline --run-id 01ABC --max-p95-regression-percent 10 testchimp list-related-perf-tests --scenario-titles "Checkout,Refund" testchimp list-api-operation-interactions --operation-id 01XYZ --interaction-type REAL --limit 100 testchimp list-meetings --include-filter-options testchimp list-meetings --from 2026-09-01 --to 2026-09-30 --domain customer.com --label Sales --search "pricing" testchimp get-meeting-transcript --meeting-id --summary-only testchimp ephemeral-environment --action PROVISION --branch-name feat --no-wait testchimp report-scan-findings --id scan-1 --scanner DAST --report-file zap.json testchimp upsert-issue --title "Broken checkout" testchimp list-issues --status ACTIVE --limit 10 testchimp get-release --release 1.2.0 testchimp upsert-release --release 1.2.0 testchimp manage-test-run --release 1.2.0 --title "Sprint 12"
ephemeral-environment --action PROVISION when waiting (“still waiting…” polls). Pass --no-wait for create/deploy trigger only.compare-perf-to-baseline still prints its JSON response but exits nonzero when regressed is true (top-level or under comparison).list-meetings covers team-wide Meeting Bots meetings only (same filters as the Meetings page). --include-filter-options returns label / participant / domain catalogs. --from / --to take YYYY-MM-DD (inclusive local days), ISO datetimes, or epoch millis; --label, --participant, --domain are repeatable or comma-separated.get-release, upsert-release, manage-test-run, and other release-filter commands. `--version` / `-V` print the CLI version only.| Variable | Purpose |
|---|---|
TESTCHIMP_API_KEY | Project API key (sent as TestChimp-Api-Key). Required unless TESTCHIMP_OAUTH_TOKEN is set. |
TESTCHIMP_OAUTH_TOKEN | OAuth 2.1 access token issued by featureservice (sent as Authorization: Bearer). When both are set, both are sent and the backend prefers the bearer. |
TESTCHIMP_BOT_ID | QA bot id (sent as bot-id header for attribution). Must be 1–64 printable ASCII characters without spaces; otherwise it is ignored with a warning. |
TESTCHIMP_BACKEND_URL | Featureservice base URL (default https://featureservice.testchimp.io). |
TESTCHIMP_INGRESS_URL | Ingress base URL used for bot event acks (default https://ingress.testchimp.io). |
TESTCHIMP_HOME | TestChimp Studio / CLI home holding projects.json (default ~/.testchimp). |
Map a local repository folder to a TestChimp project for the current user. The mapping lives in ~/.testchimp/projects.json (or $TESTCHIMP_HOME/projects.json), the same file TestChimp Studio uses, so a folder mapped from the CLI shows up in Studio and in the headless AgentWatch daemon.
testchimp workspace map --project-id <id> --folder ~/code/shop [--project-name "Shop"] [--reassign] [--skip-repo-check]
testchimp workspace get --project-id # prints the mapping JSON; exit 1 when unmapped
workspace map follows the same rules as Studio:
TESTCHIMP_API_KEY / TESTCHIMP_OAUTH_TOKEN is set, the CLI loads the project's connected repository (get-git-folder-mapping). If one is connected, the folder must be the repository root and one of its git remotes must match (owner/repo, case-insensitive). If no credential is set, no repo is connected, or the lookup fails, the check is skipped with a note on stderr. The credential's own project is used for this lookup, so run it with the same project's key or bot token. --skip-repo-check skips the lookup entirely.--reassign, which moves it (and drops the old project's entry if that leaves it with no folders).0600. Other projects are left alone, and unknown fields written by newer Studio versions are kept. A file that is not valid JSON or does not match schema v2 is moved to projects.invalid. .json and replaced with an empty registry. Schema v1 files are migrated to v2.The byte-level format is pinned by fixtures/projects-registry/, with an identical copy in the Studio repo. Both test suites replay the same upsert sequences and compare the output bytes.
workspace save-creds)Local runners (the Playwright reporter, this CLI, k6) need the project API key in their environment. TestChimp Studio keeps it in /.testchimp/mcp.json; remote MCP (OAuth) users write the same file once per repo:
# CLI: copy TESTCHIMP_API_KEY from the environment (or fetch when TESTCHIMP_OAUTH_TOKEN is set)
testchimp workspace save-creds --folder . --project-id \ [--project-name "Shop"] [--backend-url ] [--ingress-url ] [--reassign]
printf '%s' "$KEY" | testchimp workspace save-creds --folder . --project-id
TESTCHIMP_API_KEY still work. The key is never printed.fixtures/workspace-mcp-json/, mirrored in the Studio repo): mode 0600 in a 0700 .testchimp/ directory, other servers in the file kept, .testchimp/ added to .gitignore. The folder is also mapped in projects.json like workspace map.--reassign.Fallback: when neither TESTCHIMP_API_KEY nor TESTCHIMP_OAUTH_TOKEN is set, the CLI reads TESTCHIMP_API_KEY, TESTCHIMP_PROJECT_ID, TESTCHIMP_BACKEND_URL and TESTCHIMP_INGRESS_URL from the nearest .testchimp/mcp.json at or above the current directory. Exported variables always win, and --bot bindings are unaffected. The file must be private to you (mode 0600, as Studio and save-creds write it); a group- or world-readable copy, such as one committed to a cloned repo, is ignored with a warning. Other runners (Playwright, k6) still need the variables exported in their own shell.
testchimp get-my-tasks --user-id <user-id> # OAuth tokens imply the user
testchimp list-tests-awaiting-verification --limit 20 testchimp get-qa-posture testchimp bot get-profile testchimp bot register-profile --role QA_ENGINEER --responsibilities "Checkout + payments" \ --capability E2E_AUTHORING --capability TEST_BATCH_FIX \ --subscriptions-json '[{"eventType":"git-push","filters":[{"field":"author","op":"eq","value":"me"}]},{"eventType":"e2e-batch-completed"}]' testchimp bot ack [ ...] --ack-url testchimp bot compat --skill-version 1.0.53
bot ack prints one eventId status line per id and exits non-zero when any status is BOT_ACK_UNKNOWN_EVENT, BOT_ACK_NOT_A_TARGET, or BOT_ACK_MISSING_BOT_ID. An explicit --ack-url must be https (http only on localhost) and point at a TestChimp host or the TESTCHIMP_INGRESS_URL host. bot compat exits 0 and prints the deployment minimums plus cliUpgradeRequired / skillUpgradeRequired.
testchimp bot connect --project-id <id> # browser approval (OAuth, "agentwatch" scope)
testchimp bot connect --pair --project-id # or: no browser, your QA bot approves (see below) npx -y @testchimp/agentwatch query --project-id testchimp bot disconnect --project-id # forget the stored keys
Headless AgentWatch acts as the user, so it needs their user id, personal access key and the project API key. bot connect runs an OAuth 2.1 PKCE login with a loopback redirect, asks for the opt-in agentwatch scope (the consent page warns that keys will be stored locally), fetches the keys from /bots/get_agentwatch_credentials, and writes them to ~/.testchimp/agentwatch/credentials.json (mode 0600, keyed by project) with the backend and ingress URLs. It revokes the OAuth refresh token straight away and never prints the keys. Approving also opts the project in to AgentWatch.
Pairing (no second browser consent; what QA bots use). Every connection approved with Use this connection as my QA bot carries the agentwatch_pair scope, so the keys can reach the user's computer without another browser login, and without passing through the bot:
testchimp bot connect --pair [--project-id ] keeps a random verifier in ~/.testchimp/agentwatch/pairing.json (0600) and prints {pairingCode, expiresAtMillis}; the code is the verifier's SHA-256 (base64url).approve-agentwatch-pairing (or testchimp bot approve-pairing ).testchimp bot connect --finish-pair redeems with the verifier (polls up to --timeout-ms, default 60 s), stores the keys like above and deletes the pending file.Pairings are single use and expire after 10 minutes. The bot only ever sees the pairing code, which is useless without the verifier.
testchimp mcp --http [--port 8080] [--host 0.0.0.0]
Stateless Streamable HTTP at POST /mcp. Every request must carry Authorization: Bearer ; the caller's token is forwarded to TestChimp for each tool call, and the server's own TESTCHIMP_API_KEY / TESTCHIMP_OAUTH_TOKEN / TESTCHIMP_BOT_ID are never used. Requests without a bearer get 401 with WWW-Authenticate: Bearer resource_metadata="…". Other endpoints: GET /.well-known/oauth-protected-resource (RFC 9728 metadata), GET /healthz. Req
只显示了开头部分;其余内容请在仓库中阅读