Skip to main content
Glama

Set project variables

nerdit_set_variable
DestructiveIdempotent

Set variables on an existing project by immutable ID; returns names only. Values enter the agent transcript even with secret=true. For credentials ask the human to run nerdit vars set --secret --prompt KEY instead. Local ownership applies; running services pick up values on their next restart or redeploy.

Input Schema

NameRequiredDescriptionDefault
secretNoOmit or true for write-only storage; false stores plain values.
valuesYesKEY to value pairs. Values enter the transcript: never send credentials.
serviceNoService scope; omit for variables shared by the project's services.
project_idYesImmutable project ID from nerdit_list_projects; never its name or slug.
idempotency_keyNoReuse this key when retrying the same write; omitted keys are minted.

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A4.6/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already flag destructiveHint=true and idempotentHint=true, but the description adds the non-obvious hazard that values enter the agent transcript even when secret=true, and that only names are returned. It also discloses operational behavior (services pick up values on restart/redeploy), which annotations cannot express.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Four short clauses, all earning their place, with the critical transcript-leak warning front-loaded after the core purpose. Slight redundancy with the schema's own 'never send credentials' note, but the repetition is defensible for a safety-critical warning.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

No output schema exists, and the description compensates by stating the return value ('names only'). For a destructive, nested-object write tool it covers purpose, safety hazard, credential workaround, scoping, and propagation — everything needed to call it correctly.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so project_id, values, secret, service, and idempotency_key are all documented in the schema itself. The description reinforces the immutability constraint on project_id but adds no format or syntax detail beyond what the schema already provides; baseline 3 applies.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb and resource ('Set variables on an existing project') plus a scoping constraint (by immutable ID) and return format (names only). It cannot be confused with any sibling such as nerdit_get_project or nerdit_apply_project.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Provides an explicit when-not: credentials should be set by the human via `nerdit vars set <project> --secret --prompt KEY` instead of this tool. It also states the propagation timing (next restart or redeploy) and the local-ownership constraint, leaving nothing to inference.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Resources