Skip to main content
Glama

Get question properties

limesurvey_get_question_properties
Read-onlyIdempotent

Read selected question properties. LimeSurvey identifies the question by question_id alone, so a wrong ID reads another survey's question.

Instructions

Read selected question properties. LimeSurvey identifies the question by question_id alone, so a wrong ID reads another survey's question. Pass the optional survey_id to cross-check: the result's sid must match, otherwise the call fails with QUESTION_SURVEY_MISMATCH (survey_id is never sent to LimeSurvey).

Calls LimeSurvey RemoteControl method get_question_properties. Authentication uses the configured service account; do not provide a session key.

Input Schema

NameRequiredDescriptionDefault
languageNoLimeSurvey language code; null uses the survey default.
survey_idNoOptional survey ID the question is expected to belong to. MCP-only: it is never sent to LimeSurvey; the server compares it with the sid of the result (reading sid with one extra request when the result has none) and fails with a *_SURVEY_MISMATCH error when they differ.
propertiesNoProperties to return for the question; null returns all available properties.
question_idYesNumeric question ID.
response_formatNoOutput format. JSON preserves the complete structured result; Markdown is optimized for reading.json

Output Schema

NameRequiredDescriptionDefault
methodYes
resultYes
warningsNo
truncatedNo
truncation_messageNo

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed2 schema fields changedv1.6.0
    • addedInput schema / properties / survey_id
      Added value: +{
      +  "description": "Optional survey ID the question is expected to belong to. MCP-only: it is never sent to LimeSurvey; the server compares it with the sid of the result (reading sid with one extra request when the result has none) and fails with a *_SURVEY_MISMATCH error when they differ.",
      +  "exclusiveMinimum": 0,
      +  "maximum": 9007199254740991,
      +  "type": "integer"
      +}
    • addedOutput schema / properties / warnings
      Added value: +{
      +  "items": {
      +    "$ref": "#/definitions/__schema0"
      +  },
      +  "type": "array"
      +}
  2. First observedv1.3.1

TDQS

A4.6/5.0
Behavior5/5

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

Annotations already cover read-only/idempotent/non-destructive, yet the description adds real behavior: the QUESTION_SURVEY_MISMATCH failure, the extra sid read when the result lacks one, that survey_id is never forwarded to LimeSurvey, and that auth uses the service account with no session key. That is meaningful disclosure beyond the structured fields.

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?

Two short paragraphs, front-loaded with the core action and the most important gotcha first. The auth sentence is slightly tangential but earns its place by preventing a wrong invocation.

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?

An output schema exists, so return-value explanation is unnecessary; the description instead covers the non-obvious elements an agent needs (ID ambiguity, cross-check semantics, error code, auth model). Nothing material is missing for correct invocation.

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 semantics for survey_id (MCP-only cross-check, not sent upstream) and flags the question_id ambiguity that the schema merely calls 'Numeric question ID'.

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 (Read) and resource (selected question properties), and the scope word 'selected' signals it returns a subset rather than the whole survey. It is clearly distinguishable from siblings like set_question_properties and list_questions.

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?

Gives strong operational context: warns that question_id alone is ambiguous and prescribes passing survey_id to cross-check, with the exact failure mode. It does not, however, name alternative tools (e.g. list_questions) or state when not to use this one, so it stops short of explicit routing.

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

Deploy Server

Other Tools