Change a product KPI's definition
productkpi.updateChanges dataCreates, updates or deletes something in your workspace.What it does
Edits a product KPI: name, description, unit, direction, targetValue, measurementMethod, measurementConfig, ownerId, rationale, or status "archived". Pass only the fields to change. Every change that alters the definition is stored as a new version with your note, so the goal's history stays readable. Agents cannot set status "active": a person activates a proposed KPI on the Dashboard → Goals card. Returns {success, data: the KPI after the change, uri}.
Ask your agent
You don’t call productkpi.update yourself. Say something like this to Claude Code, Cursor or another MCP-connected agent:
- “Raise the weekly-active-users target to 8,000 and note why”
- “Archive the NPS KPI, we stopped measuring it”
- “Point the churn KPI at the kpi-definitions doc as its rationale”
Inputs
| Name | Type | Description |
|---|---|---|
kpiIdrequired | string | The KPI id from productkpi.list. |
nameoptional | string | New KPI name, up to 128 characters. |
descriptionoptional | string | New definition in plain words. |
unitoptional | string | New unit: count, percent, usd, seconds, … (free string). |
directionoptional | enum | higher-better or lower-better. Allowed: higher-betterlower-better |
targetValueoptional | string | New goal. A plain number in a string: digits and an optional decimal point, no commas, symbols or units. It is stored as a number, so "5,000" or "5%" is rejected. |
measurementMethodoptional | string | manual, integration:<provider> or sql. |
measurementConfigoptional | object | Settings for the measurement method (JSON object). |
ownerIdoptional | string | User id of the person accountable for the KPI. |
rationaleoptional | object | null | The document that justifies the target ({path, md5} from docs manifest); null clears it. |
statusoptional | enum | "archived" = no longer tracked. Activation is for people, on the Dashboard. Allowed: proposedarchived |
noteoptional | string | Why the change. Stored on the version. |
The MCP call
What the agent’s MCP client sends (placeholders in angle brackets):
{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
"name": "productkpi.update",
"arguments": {
"kpiId": "<kpiId>"
}
}
}Connect your agent
npx -y @testmaze/mcp init tmt_xxx claude mcp add tm --scope project -- npx -y @testmaze/mcp
Create the token in your Test Maze workspace under Settings → MCP. Setup for Cursor, Cline, Gemini CLI and Codex CLI is shown there too.
More success metrics tools
- List product KPIs
productkpi.list - List per-feature success metrics
featuremetric.list - Create a product KPI
productkpi.create - Create a success metric for a feature
featuremetric.create - Record a metric value
metric.observe