Skip to main content
Glama
orjahren

Nettskjema MCP Server

by orjahren

delete_all_submissions

Destructive

Permanently deletes every response a Nettskjema form has ever collected, with no undo and no partial removal. Use it only after user confirmation; to remove specific responses, use delete_submissions instead.

Instructions

Delete EVERY response the form has ever collected. This CANNOT be undone.

There is no id list and no partial form of this call: the whole dataset goes, for every respondent, and the API offers no undo and no trash can for submissions. Confirm with the user before calling it. To remove particular responses, use delete_submissions, which takes submission ids and leaves the rest of the form's data in place.

The spec's plural operation accepts an optional array body, but documents the operation as deleting all submissions and never says the ids narrow it. This tool therefore sends no body and offers no id parameter, rather than a parameter that looks like it limits the damage and may not.

Input Schema

NameRequiredDescriptionDefault
form_idYesThe form whose responses are to be deleted, all of them.

Output Schema

NameRequiredDescriptionDefault
resultYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.1.0

TDQS

A4.8/5.0
Behavior5/5

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

Annotations only mark destructiveHint=true; the description goes well beyond that by stating the operation is irreversible, that no undo or trash can exists, that no id list or partial mode is offered, and that user confirmation is required. It even discloses a deliberate design decision (sending no body) so the agent understands why no limiting parameter exists.

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?

The destructive warning and scope are front-loaded in the first sentence, which is the right structure. The third paragraph on the spec's plural operation is longer than strictly needed to invoke the tool, though it does justify the missing parameter.

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?

With annotations covering destructiveness and an output schema covering return values, the description supplies exactly the missing context: irreversibility, blast radius, the alternative tool, and the confirmation requirement. Nothing an agent needs to call this safely is absent.

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% and there is only one parameter, so the schema already carries the field semantics. The description adds value by explaining the absence of an id parameter and why it was not exposed, which is meaning beyond the schema itself.

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 with full scope ('Delete EVERY response the form has ever collected') and explicitly distinguishes itself from the sibling delete_submissions, which handles id-scoped deletion. An agent can separate the two without opening either schema.

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?

Gives explicit when-to-use ('the whole dataset goes'), when-not ('To remove particular responses, use delete_submissions'), and a prerequisite ('Confirm with the user before calling it'). Nothing is left to inference.

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