{
"mcpServers": {
"limesurvey-mcp": {
"command": "<see-readme>",
"args": []
}
}
}No install config available. Check the server's README for setup instructions.
Are you the author?
Add this badge to your README to show your security score and help users find safe servers.
Limesurvey MCP server
Is it safe?
No package registry to scan.
No authentication — any process on your machine can connect.
License not specified.
Is it maintained?
Last commit 0 days ago. 2 stars.
Will it work with my client?
Transport: stdio. Works with Claude Desktop, Cursor, Claude Code, and most MCP clients.
No automated test available for this server. Check the GitHub README for setup instructions.
No known vulnerabilities.
This server is missing a description. Tools and install config are also missing.If you've used it, help the community.
Add informationHave you used this server?
Share your experience — it helps other developers decide.
Sign in to write a review.
Persistent memory using a knowledge graph
Privacy-first. MCP is the protocol for tool access. We're the virtualization layer for context.
Pre-build reality check. Scans GitHub, HN, npm, PyPI, Product Hunt — returns 0-100 signal.
Monitor browser logs directly from Cursor and other MCP compatible IDEs.
MCP Security Weekly
Get CVE alerts and security updates for Limesurvey Mcp and similar servers.
Start a conversation
Ask a question, share a tip, or report an issue.
Sign in to join the discussion.
A Model Context Protocol (MCP) server that exposes LimeSurvey Remote API functionality as MCP tools. This server provides a standardized way to interact with LimeSurvey's powerful survey management capabilities through MCP clients.
# Clone the repository
git clone https://github.com/TonisOrmisson/limesurvey-mcp.git
cd limesurvey-mcp
# Install dependencies
npm install
# Build the project
npm run build
# Start the server
npm start
Create a .env file in the root directory with the following variables:
# LimeSurvey Remote API Settings
LIMESURVEY_API_URL=https://your-limesurvey-instance.com/admin/remotecontrol
LIMESURVEY_USERNAME=your_username
LIMESURVEY_PASSWORD=your_password
# Server settings
PORT=3000
# Optional: run in read‑only mode
# When true, all write tools short‑circuit and return an error message
# instead of calling LimeSurvey.
READONLY_MODE=false
Once the server is running, you can use any MCP client to connect to it and access LimeSurvey functionality.
You can build a survey without the LimeSurvey admin UI by combining write tools:
addSurvey — create an inactive survey; note the returned survey ID (sid).addGroup — create one or more question groups; each call returns a group ID (gid) for the next step.importQuestion — for each question, pass base64-encoded .lsq content (export a prototype question once from the UI, or generate compatible XML). Use importDataType: lsq.setSurveyProperties — welcome text, description, end URL, etc.activateSurvey — when the structure is ready.Idempotent rebuilds: use deleteQuestion (per qid, with confirmDeletion: true) and deleteGroup (per survey + gid) to tear down a group or individual questions before re-importing .lsq templates. Deleting a group removes that group’s content; confirm behaviour on your LimeSurvey version in a dev survey first.
Participant link pattern: https://<host>/index.php/<sid> (use sid from addSurvey or listSurveys). Tokenised access uses your existing participant tools.
Example MCP client snippet (pseudo‑YAML) to list surveys:
tool: listSurveys
args: {}
The table below shows how LimeSurvey RemoteControl2 methods are exposed as MCP tools in this server. Methods that are not implemented here are either not available in the target LimeSurvey instance or intentionally skipped (for example unstable or undocumented endpoints).
| Domain | RemoteControl2 method | MCP tool name | Notes |
|---------------------|------------------------------|----------------------------|----------------------------------------|
| Surveys | list_surveys | listSurveys | read‑only |
| Surveys | get_survey_properties | getSurveyProperties | read‑only |
| Surveys | activate_survey | activateSurvey | write (guarded by READONLY_MODE) |
| Surveys | get_language_properties | getSurveyLanguageProperties | read‑only |
| Surveys | get_site_settings | getAvailableLanguages | reads availablelanguages setting |
| Surveys | —