Update the product details for this workspace

product.updateChanges dataCreates, updates or deletes something in your workspace.

What it does

Edits the product description stored on the connected workspace (the "product" is the workspace itself). Pass only the fields you want to change; anything you leave out stays as it is. Typical use: after reading the repo or talking to the user, record the vision, the problem the app solves, who it is for and where it stands (lifecycleStage). Call project.whoami first to confirm you are editing the right workspace, and product.get to see the current values. Setting name renames the workspace for everyone; if that name is already taken nothing is saved and you get success: false with a message. Setting launchedAt or sunsetAt to an empty string clears the date. Returns {success, message, data: the saved workspace, uri}.

Ask your agent

You don’t call product.update yourself. Say something like this to Claude Code, Cursor or another MCP-connected agent:

  • “Save this product vision and target audience to Test Maze”
  • “Mark the app as in beta”
  • “Set the repo URL and default branch for this project”

Inputs

NameTypeDescription
name
optional
stringNew workspace name, shown to everyone in the workspace. Example: "Recipe Box". Must not already be in use.
description
optional
stringOne or two sentences on what the app is. Example: "A web app for saving and sharing family recipes."
vision
optional
stringWhere the product is heading, in a sentence or two. Example: "Every family cookbook, online and searchable."
problemStatement
optional
stringThe user problem the app solves. Example: "Handwritten recipes get lost and are hard to share."
targetUsers
optional
stringWho the app is for, as free text. Example: "Home cooks and families who share recipes across generations."
productOwnerId
optional
stringUser id of the person who owns product decisions. Your own id is user.id from project.whoami.
lifecycleStage
optional
enumWhere the whole product stands. discovery = still exploring the idea, not built for real users yet; beta = usable by early users, still changing; live = generally available (the default for new workspaces); sunset = being wound down.
Allowed: discoverybetalivesunset
launchedAt
optional
stringWhen the product launched, as an ISO 8601 date or date-time. Example: "2026-03-01". Empty string clears it.
sunsetAt
optional
stringWhen the product was or will be retired, as an ISO 8601 date or date-time. Example: "2027-01-31". Empty string clears it.
defaultBranch
optional
stringMain git branch of the app repository. Example: "main".
repoUrl
optional
stringGit repository URL of the app. Example: "https://github.com/acme/recipe-box" or "git@github.com:acme/recipe-box.git".

The MCP call

What the agent’s MCP client sends (placeholders in angle brackets):

{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "product.update",
    "arguments": {
      "name": "<name>"
    }
  }
}

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.