Skip to main content
Glama
dragosh29

SmartSurvey MCP server

by dragosh29

Get a survey

get_survey
Read-only

Fetch a SmartSurvey survey's page/question counts, theme, settings, or full design with pages, questions, choices, variables, and translations. Contact details remain redacted unless requested.

Instructions

One survey with page and question counts, theme and settings. With detail=true the full design is returned: variables, translations, and every page with its questions, answer choices and logic flags (this is the survey design, not respondents' answers). Emails and phone numbers in the title and in page, question and choice text are redacted unless include_contact_details is set.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
detailNoReturn the full design (pages, questions, choices) via the /detailed endpoint
survey_idYesSurvey ID (a positive integer)
translation_idNoTranslation to return the survey text in; 0 or omitted for the default
include_contact_detailsNoStop redacting email addresses and phone numbers in the survey title, nickname, page descriptions, question and choice text and variable labels

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.1.0

TDQS

A4.6/5.0
Behavior5/5

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

Annotations only declare readOnlyHint and openWorldHint; the description supplies the operationally important behavior: contact data in titles and text is redacted by default, and include_contact_details reverses that. It also clarifies the payload is design, not respondents' answers, heading off a likely misinterpretation.

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 the default summary behavior, then the detail=true expansion, then the redaction caveat. The middle clause is long and parenthetical but each sentence carries distinct information; nothing is filler.

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 no output schema, the description compensates by enumerating what the detailed response contains (variables, translations, pages, questions, choices, logic flags) and what is withheld (redacted contact details). An agent has enough to call it and anticipate the response.

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 interpretive value: detail=true returns variables, translations, pages, questions, choices and logic flags, and include_contact_details governs redaction of emails and phone numbers. It does not elaborate on survey_id or translation_id 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?

States a specific verb and resource ('One survey with page and question counts, theme and settings') and clearly distinguishes the single-survey read from the sibling list_surveys. The two operating modes, summary and full design, are named outright.

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?

Explains the condition that selects the detailed mode ('With detail=true the full design is returned'), which is effectively when-to-use guidance for the tool's main branching parameter. It stops short of naming when to prefer list_surveys or get_response instead.

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