Skip to main content
Glama

Save request

save_request
Destructive

Create or update a request in the workspace so developers can find and re-run it in Gostman; only supplied fields change, and secret values must use {{variable}} references.

Instructions

Create a request in the workspace, or update one by id, so the developer finds it in the Gostman app and it can be re-run later. Only the fields you give are changed. Secrets are refused: a value that matches a variable or a credential must be written as {{name}}. Returns the request's id, name and folder.

Input Schema

NameRequiredDescriptionDefault
idNoThe id of the request to update. Leave out to create a new request.
urlNoRequired for a new request. Use {{variables}} for hosts and credentials, for example {{baseUrl}}/users.
bodyNoThe request body as text.
nameNoRequired for a new request.
tagsNoReplaces the request's tags, such as smoke. run_folder runs a tagged subset.
folderNoThe folder path to keep the request in, such as auth/tokens. Missing folders are created. An empty string moves it to the top level.
methodNoGET, POST and so on. Defaults to GET.
headersNoReplaces the request's headers. Credentials must be variable references.
body_typeNoHow the body is sent.
assertionsNoReplaces the request's checks. They run every time the request is sent, here and in the app.
extractorsNoReplaces the request's extraction rules. After each response, every rule stores a value in a session variable, so a login can hand its token to later requests as {{token}} without the token appearing in a result.
descriptionNoWhat the request does, in a sentence. Shown in the app and used as the tool description with --expose-tag.

Output Schema

NameRequiredDescriptionDefault
idNo
nameNo
folderNo
createdNo

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv1.7.19

TDQS

A4.1/5.0
Behavior4/5

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

Annotations already declare destructiveHint=true and idempotentHint=false, so the bar is lower; the description still adds real context by disclosing partial-update semantics, the secret-refusal policy requiring {{name}} references, and the identity fields returned. It does not warn that array/map fields (tags, headers, assertions, extractors) are replaced wholesale, which is the most likely source of surprise given destructiveHint=true.

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

Conciseness5/5

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

Four sentences, front-loaded with create/update, then the partial-update rule, then the secret constraint, then the return shape. No restatement of the title, no filler, and the most consequential constraint (secrets refused) is placed before the return value.

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

Completeness4/5

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

The schema is rich (12 parameters, nested objects, enums) and an output schema exists, so return-format explanation is redundant but harmless. Given destructiveHint=true, the description should have flagged that repeated fields are fully replaced rather than merged — the one behavioral gap an agent could trip on. Otherwise create/update/partial/secret semantics are all covered.

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

Parameters4/5

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

Schema coverage is 100%, so the baseline is 3; the description earns a bump by adding a cross-cutting constraint that the schema states only piecemeal — any value matching a credential or variable must be written as {{name}}. That rule applies across url, headers, and body and is the single most important parameter-level fact for calling this correctly.

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

Purpose4/5

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

The description opens with a concrete verb and resource ('Create a request in the workspace, or update one by id') and explains the outcome — the developer finds it in the Gostman app and can re-run it. It clearly separates create vs. update behavior, which distinguishes it from read-only siblings like get_request and list_requests, though it never names an alternative explicitly.

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

Usage Guidelines4/5

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

It states the two modes of use (omit id to create, supply id to update) and adds the partial-update rule ('Only the fields you give are changed'). What's missing is routing against siblings such as send_request, import_requests, or run_folder, so the agent must infer when saving is preferred over sending or importing.

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