Skip to main content
Glama
thenavidm

Senja MCP Server

by thenavidm

Update approval or tags

update_testimonial
Destructive

Change a Senja testimonial's approval status and add or remove tags. Text, rating, and customer edits stay dashboard-only.

Instructions

Change only native approval status and tag additions/removals. Text, rating and customer edits remain dashboard-only.

Input Schema

NameRequiredDescriptionDefault
accountNoExact configured private account profile label; not a tenant or provider account ID.
confirmNoSet true only when the user asked for exactly this action.
payloadNoComplete native JSON body; do not mix with body flags or payload_file. Arrays use repeated JSON object flags or a whole native array in a private file.
add_tagsNo
approvedNo
remove_tagsNo
payload_fileNoAbsolute regular non-symlink JSON body file, at most 1 MiB. Cannot mix with payload/body flags.
testimonial_idYesExact testimonial ID. No slash, traversal or arbitrary URL.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed1 schema field changedv3.0.0
    • changedInput schema / properties / confirm / description
      Previous value: -"Must be true for the requested mutation or exclusive private output file."New value: +"Set true only when the user asked for exactly this action."
  2. First observedv2.0.0

TDQS

A3.5/5.0
Behavior3/5

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

Annotations already declare destructiveHint=true, idempotentHint=false, and openWorldHint=true, so safety profile is covered externally. The description adds a real behavioral constraint (mutations limited to native approval/tags), but says nothing about permissions, reversibility, or partial-failure behavior despite being destructive.

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?

Two sentences, zero filler, with the scope restriction front-loaded before the exclusion. Well sized for a definition of this complexity.

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

Completeness3/5

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

For an 8-parameter destructive mutation with nested payload objects and no output schema, the description covers only the field scope. It leaves the payload/body-flag/payload_file alternatives and the confirm safeguard entirely to the schema, which is adequate but thin.

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

Parameters2/5

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

Schema coverage is 63%, so the description should compensate for the rest, particularly the account/confirm/payload-vs-payload_file mechanics. Instead it only references the approval and tag fields that the schema already names, adding no semantics for the remaining parameters.

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?

States a specific verb+resource (change approval status and tags on a testimonial) and narrows the scope to 'only native' fields. This is clear enough to distinguish it from create_testimonial/delete_testimonial, though it never names a sibling 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?

The second sentence draws an explicit exclusion boundary: text, rating, and customer edits are dashboard-only, which tells the agent when this tool is NOT the right choice. It stops short of naming which sibling to call for other operations, so the routing guidance is one-sided.

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