surveymonkey_get_tablesLABSCO SUMMARY
Survey analysis without an export step.
The usual path to analysing responses is downloading a CSV and losing the connection to the live data; querying the source directly means the answer reflects what came in this morning. Because the interface is SQL rather than one tool per object, questions nobody anticipated still work. Two limits to keep in view: this build reads only, and it can query every table the connection reaches — the tables property does not narrow that, so limit the connection or the account it signs in with.
What it is
A local, read-only MCP server built by CData that wraps their JDBC driver for SurveyMonkey. The driver presents SurveyMonkey as relational SQL models; the server exposes a small tool surface so an assistant can discover the tables, inspect columns, and answer questions about survey data without you hand-writing the query.
What you get
- The list of tables available in the data source, returned as CSV with a header row —
get_tables - The columns of one table, so a query is built against the real schema —
get_columns - SQL SELECT execution against the connected source —
run_query - All three carry the prefix you set in the connection properties file, so several CData servers can run side by side without colliding tool names
Requirements
A SurveyMonkey account and the CData JDBC Driver for SurveyMonkey, downloaded and licensed separately — the driver JAR is run once with --license and takes your name, email and either TRIAL or a license key. Java, plus Maven to build the server JAR from a clone. Connection details go in a properties file listing the tool prefix, server name and version, the driver JAR path, the driver class, and the JDBC URL generated by the driver's connection-string utility; OAuth sources authenticate in the browser at that step. The tables property only picks which tables also get a ready-made description; the tools can query every table the connection reaches, so limit the connection or the account it signs in with. The client entry runs java with the built JAR and the properties file, over stdio, so client and server share a machine.
Setup effort
Build from source — git clone https://github.com/cdatasoftware/surveymonkey-mcp-server-by-cdata.git
USE CASES
Summarising responses as they come in
Query the live response tables rather than exporting a snapshot, so the numbers are current when the question is asked.
Cross-tabulating an answer against a respondent attribute
Read the columns of the response and survey tables, then let the assistant write the join it needs.
Finding out what data you actually have
List the tables and their columns to see how surveys, questions and responses are laid out before designing an analysis.
3 tools
Listed in project docs. Your client may show a different list.
surveymonkey_get_columnssurveymonkey_run_queryBEFORE YOU INSTALL
What to know first
Tools you get
3 tools named in the project's documentation. Tool names start with the Prefix in the .prp file, such as surveymonkey_get_tables. Read-only: run_query executes SELECT only, even though the README's usage notes say the client can write, update and delete.
Where it runs
The documented client runs the server on your machine.
INSTALLATION
Connect your client
You clone and build this one yourself.
Server setup
git clone https://github.com/cdatasoftware/surveymonkey-mcp-server-by-cdata.git
cd surveymonkey-mcp-server-by-cdata
mvn clean installDownload and install the CData JDBC Driver for SurveyMonkey from https://www.cdata.com/drivers/surveymonkey/download/jdbc
License the driver: java -jar cdata.jdbc.surveymonkey.jar --license (enter name, email and "TRIAL" or your license key)
Run java -jar cdata.jdbc.surveymonkey.jar to open the Connection String utility, configure and test the connection, then copy the connection string
Create surveymonkey.prp with:
Prefix=surveymonkey
ServerName=CDataSurveyMonkey
ServerVersion=1.0
DriverPath=<YOUR_DRIVER_PATH>
DriverClass=cdata.jdbc.surveymonkey.SurveyMonkeyDriver
JdbcUrl=<YOUR_JDBC_URL>
Tables=Tables only picks which tables also get a ready-made description for your assistant, and empty means none; the server can still list and query every table your connection string reaches, so to keep data out of reach, limit that connection or the account it signs in with.
Add the mcpServers entry below to claude_desktop_config.json and fully restart the client
MCP Clients
Claude Desktop — macOS, Linux
{
"mcpServers": {
"surveymonkey": {
"command": "<YOUR_PATH_TO_JAVA>",
"args": [
"-jar",
"<YOUR_PATH_TO_CDATA_MCP_JAR_WITH>",
"<YOUR_PATH_TO_SURVEYMONKEY>"
]
}
}
}