Create a feature

feature.createChanges dataCreates, updates or deletes something in your workspace.

What it does

Creates a feature: a named capability of the product, such as "Checkout" or "Password reset". It is stored as a test suite with type=feature, so test cases can be attached to it later. Call project.whoami first to confirm the workspace, and feature.list with a title filter to make sure it does not already exist: titles must be unique across all suites in the workspace (exact match), and a duplicate returns an error. A new feature starts in lifecycle stage "authoring". Returns the saved suite plus suiteId (also as id), uri and nextSteps. Next: add test cases with case.create_batch using that suiteId (cases created without it are not attached to the feature), add user stories with userstory.create, or track success with featuremetric.create. Note: passing parentFeatureId records the parent but the new suite is still type=feature, not sub-feature.

Ask your agent

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

  • “Add a feature for guest checkout”
  • “Create a Password reset feature and write its tests”
  • “Set up a feature for the new search page, planned for the June release”

Inputs

NameTypeDescription
title
required
stringFeature name, short and unique in the workspace. Example: "Guest checkout".
description
optional
stringWhat the feature does and why, in plain words. Example: "Lets shoppers pay without creating an account." Defaults to empty.
priority
optional
enumHow important it is. P0 = critical, must ship; P1 = high; P2 = normal (default); P3 = nice to have.
Allowed: P0P1P2P3
parentFeatureId
optional
stringOptional id of a bigger feature this one belongs to (the id from feature.list). Stored as a link only; the type stays feature.
featureOwnerId
optional
stringUser id of the person responsible for the feature. Your own id is user.id from project.whoami.
releaseId
optional
stringId of the release, sprint or milestone this feature is planned for (the id from release.list). Not checked for existence.
targetReleaseDate
optional
stringDate the feature should ship, as YYYY-MM-DD. Example: "2026-06-30".
rolloutPercentage
optional
numberShare of users who get the feature, 0 to 100. Example: 25 for a gradual rollout to a quarter of users. Informational only.
featureFlagKey
optional
stringKey of the feature flag that switches this feature on in your app, if you use one. Example: "guest-checkout". Informational only.

The MCP call

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

{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "feature.create",
    "arguments": {
      "title": "<title>"
    }
  }
}

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.