MCP API v2 migration
Short answer
TestChimp Programmatic API 2.0.0 is a major MCP surface change. Prefer the consolidated tools below. Deprecated /api/mcp/* paths still accept the old JSON bodies so @testchimp/cli and the skill can migrate independently.
OpenAPI info.version is now 2.0.0. Auth is still the TestChimp-Api-Key header (and optional bot-id). Do not put projectApiKey or botId on request bodies — those belong on the connection, not each tool schema.
report-agent-action now advertises only nested traceability plus the action fields. Flat copies of the same tracking fields are still accepted server-side for one release. Advertise proto enum names (LOCAL_AGENT, CREATED) only.
Migration table
| Old tool (kebab) | New tool | Parameter mapping |
|---|---|---|
get-eaas-config | unchanged | advertised permanently — skill connectivity check. ephemeral-environment action=CONFIG also returns the same public fields |
provision-ephemeral-environment | ephemeral-environment | action=PROVISION, wait=false |
provision-ephemeral-environment-and-wait | ephemeral-environment | action=PROVISION (wait defaults true; maxWaitMinutes) |
get-ephemeral-environment-status | ephemeral-environment | action=STATUS, bnsEnvironmentId |
destroy-ephemeral-environment | unchanged | still a separate tool so destroy stays annotated |
report-dast-findings | report-scan-findings | scanner=DAST (MCP_SCAN_FINDER_DAST) |
report-sast-findings | report-scan-findings | scanner=SAST |
report-deps-findings | report-scan-findings | scanner=DEPS |
report-secrets-findings | report-scan-findings | scanner=SECRETS |
list-workflow-executions | get-workflow-executions | same list filters |
get-workflow-execution | get-workflow-executions | workflowExecutionId |
get-last-run-workflow-detail | get-workflow-executions | workflowId + latestOnly=true (+ branchName / userId) |
get-policy | get-policies | policyFileName |
list-policies | get-policies | omit policyFileName (optional workflowId) |
list-api-operation-services | get-api-operations | no identity args |
list-api-operations | get-api-operations | rootFilePath / serviceKey |
get-api-operation-detail | get-api-operations | id, or oasOperationId, or httpMethod+pathTemplate |
list-meeting-filter-options | list-meetings | includeFilterOptions=true |
get-meeting-set | list-meetings | meetingSetId (expired sets still return 410) |
mark-entity-distinct | set-entity-distinct | same identities; distinct defaults true |
unmark-entity-distinct | set-entity-distinct | distinct=false |
mark-semantic-tests-distinct | set-entity-distinct | entityType=TEST + the two TestLocators |
get-batch-view-url | fetch-execution-report | batchInvocationId only is allowed; response always includes batchViewUrl |
get-suite-execution-stats | get-execution-history (list_execution_history) | same filters + aggregate=true |
get-perf-run | list-perf-runs | runId (+ optional includeRaw) |
get-release-details | get-release | version + detail=GATE |
create-issue | upsert-issue | omit issueId; title required |
update-issue-status | upsert-issue | issueId + status (and any other patch fields) |
New tools with no v1 equivalent: list-issues (status / severity / assignee / label / release / text) and upsert-issue for create-or-update.
Intentionally unchanged
Plans (stories / scenarios / lifecycle), TrueCoverage, credentials / bot bootstrap / project setup, and anything auth or login related. upload-attachment stays (it already accepts inline base64). BunnyShell diagnostics stay as three troubleshooting tools. get-eaas-config stays a standalone advertised tool because skills use it as the MCP connectivity check (ephemeral-environment action=CONFIG remains available too).
Develop-only tools shipped in 1.0.18–1.0.24 stay as-is. ask-about-testchimp (POST /api/mcp/ask_about_testchimp, CLI/skill alias ask-testchimp-question) is a distinct docs-KB Q&A tool — not folded into another family.
Client / skill follow-up
Update @testchimp/cli MCP tool descriptors and the TestChimp skill to the new names. Hide or delete the old kebab names after one skill release. Shorten any remaining projectApiKey / botId boilerplate on the client — the server never required those as JSON fields.
Frequently asked questions
Is MCP API 2.0.0 backward compatible?
Old HTTP paths still work as hidden aliases. The advertised OpenAPI and MCP tool list is the consolidated v2 surface.
What replaces get-release-details?
get-release with version and detail=GATE. Catalog list/get is unchanged when detail is omitted.
FAQ
Is MCP API 2.0.0 backward compatible?
Old HTTP paths still work as hidden aliases. The advertised OpenAPI and MCP tool list is the consolidated v2 surface.
What replaces get-release-details?
get-release with version and detail=GATE. Catalog list/get is unchanged when detail is omitted.
How do agents list and update issues now?
Use list-issues for search and upsert-issue to create (omit issueId) or patch (set issueId). get-issue-details is unchanged.