Skip to main content
Glama
SGromych

DataForge Semantic MCP Server

by SGromych

df_set_group_dimensions

DestructiveIdempotent

Add dimensions to a DataForge group or change hierarchy levels of existing members in a single all-or-nothing update, keeping levels unique.

Instructions

WRITES TO DATAFORGE. Add dimensions to a group, or change the hierarchy level of existing members. Applied all-or-nothing; levels must stay unique.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
dimensionsYes
project_idYesDataForge project id
version_idYesProject version id
idempotency_keyNoOptional UUID v4. Reusing a key within 24 hours replays the original response instead of applying the change twice. One is generated automatically when omitted.
dimension_group_idYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.3.1

TDQS

A3.5/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=false, idempotentHint=true, and destructiveHint=true, covering the write and destructive nature. The description adds the transactional 'all-or-nothing' behavior and the uniqueness constraint on levels, which are valuable beyond the annotations. However, it does not disclose other behavioral aspects like permissions or failure modes.

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 description is concise, with three short sentences. The opening 'WRITES TO DATAFORGE' is a clear warning, and the subsequent sentences convey the core function and key constraints. Every sentence adds value, though the initial warning is redundant with annotations.

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 a write operation with no output schema, the description covers the essential behavioral constraints (transactional, uniqueness) and hints at the action. It does not mention required permissions, side effects, or what happens on success/failure, but these may be less critical given the annotations. Overall, it is adequate but not exhaustive.

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 description coverage is 60%, meaning some parameters lack descriptions. The tool description does not explain any parameters in detail; it only mentions adding dimensions and changing levels, which vaguely maps to the 'dimensions' parameter. It fails to compensate for the missing 40% of parameter documentation, such as dimension_group_id semantics or the structure of the dimensions array beyond the schema.

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?

The description clearly states a specific action: add dimensions to a group or change hierarchy levels of existing members. It identifies the resource (group dimensions) and distinguishes from siblings like df_remove_group_dimension and df_write_dimension_group by implying it operates on an existing group. The all-or-nothing and uniqueness notes add specificity.

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

Usage Guidelines3/5

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

The description implies when to use it (when adding dimensions or changing levels) but does not explicitly contrast with alternatives like df_write_dimension_group or df_remove_group_dimension. There is no when-not-to-use guidance, leaving some ambiguity for an agent to select the right tool.

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