limesurvey-mcp-server
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
No arguments | |||
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tools | {
"listChanged": false
} |
| experimental | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| limesurvey_connection_testA | Verify configuration and connectivity with LimeSurvey: authenticates with the .env credentials and returns the site name and the number of visible surveys. Use it before operating if you're not sure the connection works. |
| list_surveysA | List the user's surveys (id, title, group, dates, whether active). |
| add_surveyA | Create an empty survey with the bare minimum (id, title, language). Returns the new survey ID. |
| import_surveyA | Import a survey from a .lss/.csv/.txt/.lsa file. Returns the new survey ID. Pass |
| copy_surveyA | Copy an existing survey to a new one. Returns the new survey ID. |
| delete_surveyA | Delete a survey by its ID. Irreversible. |
| activate_surveyA | Activate a survey (creates the responses table). Returns the activation result. |
| get_survey_propertiesA | Get properties of a survey (all or only the ones requested). |
| set_survey_propertiesC | Set properties of a survey. |
| get_summaryA | Participation summary for a survey (complete/incomplete responses, token usage...). |
| get_fieldmapB | Get the fieldmap of a survey. |
| list_groupsA | List the question groups of a survey. |
| add_groupA | Add an empty question group. Returns the new group ID. |
| delete_groupB | Delete a group from a survey. Returns the deleted ID. |
| import_groupA | Import a group (.lsg/.csv file) into a survey. Pass |
| get_group_propertiesB | Get properties of a group. |
| set_group_propertiesA | Set properties of a group ('sid' and 'gid' cannot be set). |
| list_questionsA | List questions (and subquestions) of a survey or group. |
| import_question | Import a question (.lsq file) into a group. Pass |
| delete_questionA | Delete a question by its ID. Returns the deleted ID. |
| get_question_propertiesB | Get properties of a question (includes answeroptions, subquestions, attributes...). |
| set_question_propertiesA | Set properties of a question (qid, gid, sid, type, language... cannot be set). |
| add_languageC | Add a language to a survey. |
| delete_language | Remove a language from a survey (the base language cannot be removed). |
| get_language_properties | Get language properties of a survey (title, welcome texts...). |
| set_language_properties | Set language properties of a survey. |
| activate_tokens | Initialize the participants (tokens) table of a survey. |
| list_participants | List participants (tokens) of a survey, with pagination and conditions. |
| add_participants | Add participants (tokens) to a survey. Returns the inserted data with its token. |
| delete_participants | Delete participants from the tokens table. Returns the result per token. |
| get_participant_properties | Get properties of a specific participant. |
| set_participant_properties | Set properties of a specific participant (only one). |
| invite_participants | Send email invitations to participants of a survey. |
| remind_participantsB | Send email reminders to participants of a survey. |
| mail_registered_participantsB | Send registration emails to the registered participants of a survey. |
| cpd_importParticipantsB | Import participants into the central participants database (CPDB). |
| add_responseB | Add a response to a survey. Returns the ID of the inserted response. |
| update_response | Update an existing response in a survey. |
| delete_response | Delete a response by its ID. |
| get_response_ids | Get the response IDs associated with a token. |
| export_responses | Export responses of a survey. Returns base64; use |
| export_responses_by_token | Export the responses of a specific token. Returns base64; use |
| export_statistics | Export survey statistics (pdf/xls/html). Returns base64; use |
| export_timeline | Export the submission timeline (counts per day/hour). |
| get_uploaded_files | Get the files uploaded in responses (by token). |
| upload_file | Upload a file for later use in a response. Pass |
| list_quotasA | List the quotas of a survey. |
| add_quota | Create a quota with the bare minimum. Returns the new quota ID. |
| delete_quota | Delete a quota by its ID. |
| get_quota_properties | Get properties of a quota. |
| set_quota_properties | Set properties of a quota. |
| list_users | List admin users (requires super-admin). |
| list_survey_groups | List a user's survey groups. |
| get_site_settings | Get a global site setting (requires super-admin). |
| get_available_site_settings | List the names of available site settings. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
TDQS
Scored across 27 tools
Tools are mostly grouped by resource (surveys, groups, questions, participants, responses) and the verb_noun names make their targets clear. A couple of pairs such as get_summary vs get_fieldmap and remind_participants vs mail_registered_participants could be confused, but the descriptions generally resolve the ambiguity.
Most tools follow a consistent verb_noun snake_case pattern like list_surveys, add_group, and delete_question. The main deviations are cpd_importParticipants, which mixes prefix and camelCase, and limesurvey_connection_test, which is a noun phrase rather than a verb-based action.
With 27 tools, the server exceeds the threshold where tool selection becomes unwieldy. While LimeSurvey is a broad domain, many of these tools could be consolidated or the server split into focused sub-servers to reduce mental overhead.
The server covers surveys, groups, and several property operations, but key lifecycle gaps exist: there is no add_question, no response read/update/delete, no quota mutation, and no survey deactivate/export. These missing operations will cause failures in common LimeSurvey automation workflows.