LABSCO SUMMARY
It authenticates as a person, not as a scoped app.
The configuration takes your LimeSurvey username and password, which means whatever that account can do in the admin UI is what the connection can do. Use a dedicated account with only the survey permissions you intend to expose rather than an administrator login, and keep the credentials in the client's environment block rather than a file in the repo.
What it is
A small Python server that connects an MCP client to a LimeSurvey instance, so surveys and their responses can be managed from the assistant rather than the admin UI. It is deliberately thin — a direct wrapper over the LimeSurvey remote API with a three-variable configuration.
What you get
- Access to your LimeSurvey surveys and their responses through a running MCP client
- Configuration is three variables and nothing else — no per-survey setup
- It talks to whichever instance you point it at, hosted or self-run, through that instance's RemoteControl endpoint
- It runs locally over stdio, so survey data goes between your machine and your own LimeSurvey server
Requirements
A LimeSurvey instance with the RemoteControl API enabled, plus an account on it. Three environment variables: LIMESURVEY_URL pointing at the instance's /admin/remotecontrol path, LIMESURVEY_USERNAME and LIMESURVEY_PASSWORD. Published as mcp-limesurvey version 0.0.1; the documented client entry runs uv with --directory pointing at the checkout, followed by run and main.py, so uv and a local checkout are what you need.
Setup effort
Build from source — git clone https://github.com/edgarrmondragon/limesurvey-mcp.git
USE CASES
01
Checking how a survey is doing
Ask about a survey and its responses from the assistant rather than logging into the admin panel.
02
Pulling responses into an analysis
Reach the response data through the client you are already working in.
03
Connecting to a self-hosted instance
Point the three variables at your own LimeSurvey server so nothing routes through a third party.
BEFORE YOU INSTALL
What to know first
Requires
- LIMESURVEY_URL in your environment (your LimeSurvey instance's RemoteControl URL)
- LIMESURVEY_USERNAME in your environment
- LIMESURVEY_PASSWORD in your environment
Where it runs
The documented client runs the server on your machine.
INSTALLATION
Connect your client
You clone this one yourself.
Server setup
TERMINAL
git clone https://github.com/edgarrmondragon/limesurvey-mcp.git
cd limesurvey-mcpMCP Clients
Any MCP client
ANY MCP CLIENT · JSON
{
"mcpServers": {
"limesurvey-mcp": {
"command": "<YOUR_PATH_TO_UV>",
"args": [
"--directory",
"<YOUR_PATH_TO_LIMESURVEY_MCP>",
"run",
"main.py"
],
"env": {
"LIMESURVEY_URL": "https://myinstance.limequery.com/admin/remotecontrol",
"LIMESURVEY_USERNAME": "myusername",
"LIMESURVEY_PASSWORD": "mypassword"
}
}
}
}