Skip to main content
Glama
safe-mind-tools

safe-mind-tools

safe_mind_get_analytics

Retrieve aggregated survey analytics per category, optionally grouped by department, location, age group, or gender, while suppressing groups below the anonymity threshold.

Instructions

Aggregated results of one survey: respondent count, anonymity threshold and the average score per category (scale -1 to +1, higher is better; the Safe Mind app shows the same values times 10). With groupBy the averages are split by department, location, age group or gender. Groups below the anonymity threshold are never returned, only counted in suppressedGroupCount, and individual answers are never exposed. resultsAvailable is false until the survey is paid. Read-only. Requires an API key: set SAFE_MIND_API_KEY or call safe_mind_get_api_key first. Acts on the company of the account behind the key.

Input Schema

NameRequiredDescriptionDefault
groupByNoOptional split of the results. Omit for the overall result of the whole survey.
surveyIdYesSurvey id (UUID) as returned by safe_mind_list_surveys or safe_mind_create_survey.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed2 schema fields changed
    • addedInput schema / properties / groupBy / description
      Added value: +"Optional split of the results. Omit for the overall result of the whole survey."
    • addedInput schema / properties / surveyId / description
      Added value: +"Survey id (UUID) as returned by safe_mind_list_surveys or safe_mind_create_survey."
  2. First observedv0.1.1

TDQS

A4.6/5.0
Behavior5/5

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

With no annotations, the description carries the full burden and does so well: it discloses the anonymity-threshold suppression rule (suppressedGroupCount), that individual answers are never exposed, the paid-survey gate on resultsAvailable, that it is read-only, that it requires an API key (SAFE_MIND_API_KEY or safe_mind_get_api_key), and that it scopes to the company behind the key. These are exactly the constraints an agent needs before calling.

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?

Front-loaded with what is returned and every sentence carries information (scale, suppression, payment gate, auth, scope). It is a single dense paragraph, though, and could be split for easier scanning, so it is not maximally structured.

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?

There is no output schema, and the description compensates by enumerating the returned fields (respondent count, threshold, per-category averages, suppressedGroupCount, resultsAvailable) plus auth and scoping requirements. Nothing an agent needs to invoke this correctly or interpret the result is missing.

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, but the description adds genuine meaning by explaining what groupBy does to the output (averages split by department, location, age group, or gender) rather than just repeating the enum. surveyId semantics remain entirely in the schema, so it is not a full 5.

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 (retrieve aggregated results of one survey) and enumerates exactly what is returned: respondent count, anonymity threshold, and average score per category with scale semantics. An agent can immediately distinguish it from safe_mind_get_survey, which would return the survey definition rather than aggregated analytics.

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?

Clearly explains the condition that changes behavior (groupBy splits averages; omit for overall) and the precondition for resultsAvailable being true (survey must be paid). It does not, however, explicitly name a sibling alternative or state when NOT to use this tool versus safe_mind_get_survey, so it falls short of full routing guidance.

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