create_work_item
Create a card on a board. Lands in the named column, or the board's first column when none is given. WRITE THE ACCEPTANCE CRITERIA IN body. A card is the unit of QA sign-off, so a card that does not say what "done" means cannot be validated by QA and cannot be built from by the next agent — those...
This record as markdown: /tools/adrata-starfield-mcp/create-work-item.md
What create_work_item does on Starfield
AI agents use create_work_item to create or update resources in Starfield, usually the action step of a workflow, after the agent has gathered context. Every call changes real data in your Starfield environment.
| Parameter | Type | Required | Description |
|---|---|---|---|
body | string | — | The request in full AND its acceptance criteria — what QA will validate this against, one checkable outcome per line under an "Acceptance criteria" heading. Rep |
kind | string | — | What kind of work this is. OMIT IT unless the card plainly says: an absent kind means untyped, which is honest, where a guess is indistinguishable from a person |
title | string | Yes | What the card is. Keep it a statement of the work, not a label. |
dryRun | boolean | — | Defaults to true. Set false to create it. |
reason | string | — | Required for a live create. |
boardId | string | Yes | Board id from list_work_boards. |
product | string | — | Product tag — orthogonal to the board. |
approved | boolean | — | Required true for a live create. |
columnId | string | — | Target column. Defaults to the board's first. |
assigneeUserId | string | — | Workspace user who will do the work. OMIT IT unless somebody has actually agreed to own this — creating a card is not claiming it, and an unowned card in the ba |
idempotencyKey | string | — | Required for a live create. |
Parameters from the server's own tool schema.
Why create_work_item is rated Medium
An AI agent can call create_work_item faster than any human can review: one bad instruction and it creates or modifies resources in Starfield by the hundred, each call as confident as the last.
Risk signalsAccepts raw HTML/template content (body) · High parameter count (11 properties) · Bulk/mass operation — affects multiple targets
Attacks that exploit this kind of access
The rule that runs create_work_item safely
PolicyLayer is an MCP gateway: it sits between your AI agents and Starfield, and checks every tool call against a rule you set before the call runs. Nothing changes on the server itself. For create_work_item, this is the rule to start with:
create_work_item stays usable, but capped: an agent stuck in a loop can't make hundreds of changes a minute. Everything else on the server is denied unless you say otherwise.
The button opens the PolicyLayer dashboard: create your workspace, connect Starfield, apply this rule, and every create_work_item call is checked against it from then on.
Questions about create_work_item
Create a card on a board. Lands in the named column, or the board's first column when none is given. WRITE THE ACCEPTANCE CRITERIA IN body. A card is the unit of QA sign-off, so a card that does not say what "done" means cannot be validated by QA and cannot be built from by the next agent — those are the two readers of the same list. There is no separate criteria field yet: the criteria live in body, under a short "Acceptance criteria" heading, one checkable outcome per line. If you cannot write them, you do not yet understand the card well enough to file it as workable — file it with what you DO know and say in the body that the criteria are missing, rather than inventing outcomes nobody agreed to. ONE CARD IS ONE QA JUDGEMENT. If your criteria list needs QA to make more than one call ("follows the OS theme" AND "the toggle persists" AND "every surface is restyled"), that is several cards, not one — a bounce from a multi-outcome card names nothing actionable. Implementation steps ("create a React hook", "rename the CSS variables") are never cards; they are lines inside one. YOU DO NOT NEED TO SAY WHO IS CREATING IT. The card records its creator from your authenticated token — there is no parameter for it, and a body naming one is REFUSED rather than ignored, on the same rule as list_my_work_items. Creating is also not claiming: a new card arrives unassigned unless you name an owner, and you pick work up by moving it into an active column with move_work_item(claim:true), which is the act that also starts the stage timer honestly. Governed write: previews by default. A live write requires dryRun:false plus approved:true, a reason, and an idempotencyKey (reuse the SAME key on retry — a duplicate move would read as the card having bounced between columns). It is categorised as a Write tool in the Starfield MCP Server, which means it can create or modify data. Consider rate limits to prevent runaway writes.
create_work_item accepts 11 parameters: body, kind, title, dryRun, reason, boardId, product, approved, columnId, assigneeUserId, idempotencyKey. Required: title, boardId. The full parameter table on this page comes from the server's own tool schema.
Register the Starfield MCP server in PolicyLayer and add a rule for create_work_item: allow, deny, rate-limit, or require approval. Point your MCP client at the PolicyLayer proxy URL and the rule is enforced on every call, before it reaches Starfield. Nothing to install.
create_work_item is a Write tool with medium risk. Write tools should be rate-limited to prevent accidental bulk modifications.
Yes. Add a rate_limit block to the create_work_item rule in your PolicyLayer policy. For example, setting max: 10 and window: 60 limits the tool to 10 calls per minute. Rate limits are tracked per agent session and reset automatically.
Set action: deny in the PolicyLayer policy for create_work_item. The AI agent will receive a policy violation error and cannot call the tool. You can also include a reason field to explain why the tool is blocked.
create_work_item is provided by the Starfield MCP server (@adrata/starfield-mcp). PolicyLayer sits as a proxy in front of this server to enforce policies before tool calls reach the server.
More on Starfield, and thousands of servers like it.
This server
Across the catalogue