Skip to main content
Glama

Add survey language

limesurvey_add_language

Add a language to a survey.

Instructions

Add a language to a survey.

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

Input Schema

NameRequiredDescriptionDefault
languageYesLanguage code to add.
survey_idYesNumeric LimeSurvey survey 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. Changed1 schema field changedv1.6.0
    • addedOutput schema / properties / warnings
      Added value: +{
      +  "items": {
      +    "$ref": "#/definitions/__schema0"
      +  },
      +  "type": "array"
      +}
  2. First observedv1.3.1

TDQS

B3.4/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=false, destructiveHint=false, idempotentHint=false and openWorldHint=true, so the safety profile is covered by structured data. The description adds a genuinely useful operational detail — authentication uses the configured service account and no session key should be supplied — but says nothing about what happens when the language already exists, which matters given idempotentHint=false.

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 short sentences, the action front-loaded, and each clause carries distinct information (purpose, underlying RemoteControl method, auth expectation). No filler or restatement of the title.

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

Completeness4/5

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

With an output schema present and annotations covering the mutation/safety profile, the description need not explain return values, and it supplies the auth detail that would otherwise be missing. The one gap is duplicate-language behavior, which the agent cannot derive from annotations or schema given idempotentHint=false.

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

Parameters3/5

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

Schema description coverage is 100%, so survey_id, language, and response_format are already documented in the schema; the description adds no format hints or constraints (e.g., which ISO codes are accepted). This is the baseline case where the schema does the heavy lifting.

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 and resource ('Add a language to a survey'), which is unambiguous about the action taken. It does not, however, distinguish itself from nearby siblings such as limesurvey_delete_language, limesurvey_set_language_properties, or limesurvey_get_survey_languages, so the agent must infer the boundary from the name alone.

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

Usage Guidelines2/5

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

The description says what the tool does but gives no when-to-use, when-not-to-use, or alternative routing. It never mentions that get_survey_languages is the read counterpart or that set_language_properties handles modifications to an existing language, which is exactly the ambiguity an agent faces in this large sibling set.

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