SurveyMonkey MCP Server
Community-maintained MCP server for the SurveyMonkey API v3 covering surveys, pages, questions, responses, collectors, webhooks, and contacts.
SurveyMonkey MCP (dscovr/surveymonkey-mcp) is a community-built Model Context Protocol server that wraps the SurveyMonkey API v3 and exposes it as 48 tools to MCP-compatible clients like Claude Desktop, Cursor, and Windsurf. It covers the full survey lifecycle: creating and editing surveys, managing pages and questions, configuring collectors, sending invitations, retrieving responses (including bulk and CSV export), and managing webhooks and contact lists.
The server authenticates with a single SurveyMonkey access token issued from the SurveyMonkey Developer Portal, and runs locally over stdio via uvx or as an installed uv tool. It is not an official SurveyMonkey product, so users should review the source and respect SurveyMonkey API rate limits and plan entitlements before granting agents write access.
For teams that prefer a read-only, SQL-style interface, CData also publishes a SurveyMonkey MCP server that exposes the data through their JDBC driver. SurveyMonkey itself does not currently ship a first-party MCP server.
Tools
| Tool | Description |
|---|---|
surveymonkey_get_me |
Get the authenticated user's profile. |
surveymonkey_list_surveys |
List surveys in the account. |
surveymonkey_get_survey |
Get a single survey by ID. |
surveymonkey_get_survey_details |
Get a survey with its pages and questions expanded. |
surveymonkey_create_survey |
Create a new survey. |
surveymonkey_update_survey |
Replace a survey's properties. |
surveymonkey_patch_survey |
Partially update a survey. |
surveymonkey_delete_survey |
Delete a survey. |
surveymonkey_list_pages |
List pages on a survey. |
surveymonkey_get_page |
Get a page. |
surveymonkey_create_page |
Add a page to a survey. |
surveymonkey_update_page |
Update a page. |
surveymonkey_delete_page |
Delete a page. |
surveymonkey_list_questions |
List questions on a page. |
surveymonkey_get_question |
Get a question. |
surveymonkey_create_question |
Create a question on a page. |
surveymonkey_update_question |
Update a question. |
surveymonkey_delete_question |
Delete a question. |
surveymonkey_list_responses |
List responses for a survey. |
surveymonkey_list_responses_bulk |
List responses in bulk with answer details. |
surveymonkey_get_response |
Get a single response. |
surveymonkey_get_response_details |
Get a response with full answer details. |
surveymonkey_delete_response |
Delete a response. |
surveymonkey_export_responses_csv |
Export responses as CSV. |
surveymonkey_list_collectors |
List collectors for a survey. |
surveymonkey_get_collector |
Get a collector. |
surveymonkey_create_collector |
Create a collector. |
surveymonkey_update_collector |
Update a collector. |
surveymonkey_delete_collector |
Delete a collector. |
surveymonkey_list_collector_messages |
List messages on an email collector. |
surveymonkey_create_collector_message |
Create a message on a collector. |
surveymonkey_send_collector_message |
Send a collector message to recipients. |
surveymonkey_list_collector_recipients |
List recipients of a collector. |
surveymonkey_list_webhooks |
List webhooks. |
surveymonkey_get_webhook |
Get a webhook. |
surveymonkey_create_webhook |
Create a webhook subscription. |
surveymonkey_update_webhook |
Update a webhook. |
surveymonkey_delete_webhook |
Delete a webhook. |
surveymonkey_list_contacts |
List contacts. |
surveymonkey_get_contact |
Get a contact. |
surveymonkey_create_contact |
Create a contact. |
surveymonkey_update_contact |
Update a contact. |
surveymonkey_delete_contact |
Delete a contact. |
surveymonkey_list_contact_lists |
List contact lists. |
surveymonkey_get_contact_list |
Get a contact list. |
surveymonkey_create_contact_list |
Create a contact list. |
surveymonkey_delete_contact_list |
Delete a contact list. |
surveymonkey_list_contact_list_members |
List members of a contact list. |
Prerequisites
- A SurveyMonkey account with API access (paid plans typically required for write operations)
- A SurveyMonkey access token from the Developer Portal (sign in, open your app, copy the access token)
uv/uvxinstalled locally (Python tooling)
Install and run
Run directly without installing:
SURVEYMONKEY_TOKEN=your_token uvx --from git+https://github.com/dscovr/surveymonkey-mcp surveymonkey-mcp
Or install as a uv tool:
uv tool install git+https://github.com/dscovr/surveymonkey-mcp
SURVEYMONKEY_TOKEN=your_token surveymonkey-mcp
Claude Desktop / Cursor config
Add to claude_desktop_config.json (or your client's .mcp.json):
{
"mcpServers": {
"surveymonkey": {
"type": "stdio",
"command": "uvx",
"args": [
"--from",
"git+https://github.com/dscovr/surveymonkey-mcp",
"surveymonkey-mcp"
],
"env": {
"SURVEYMONKEY_TOKEN": "YOUR_SURVEYMONKEY_ACCESS_TOKEN"
}
}
}
}
Environment variables
SURVEYMONKEY_TOKEN(required): SurveyMonkey API v3 access token used as a Bearer credential on every request.
Restart your MCP client after editing the config so it picks up the new server.
- Spin up a new NPS or CSAT survey from a brief in chat, then create pages, questions, and an email collector without leaving the agent.
- Pull all responses for a survey, export them to CSV, and have the agent summarize themes or compute score distributions.
- Send a follow-up email blast: create a collector message and trigger
surveymonkey_send_collector_messageto a contact list. - Sync webhook subscriptions so a downstream system (warehouse, Slack, CRM) receives
response_completedevents automatically. - Manage contact lists in bulk: import contacts from another tool, deduplicate, and attach them to a survey collector.
- "Create a 5 question post-onboarding survey called Onboarding Pulse and set up an email collector."
- "Export all completed responses from survey 123456789 to CSV and tell me the top three complaints."
- "List my last 10 surveys and show which one has the highest response count this month."
- "Add these 50 contacts to a new list named Q2 Beta Users and send them the welcome survey collector."
- "Create a webhook that fires on response_completed for survey 123456789 pointing at https://hooks.mycompany.com/sm."
- Broad coverage of the SurveyMonkey API v3 surface with 48 tools spanning surveys, responses, collectors, webhooks, and contacts.
- Simple single-token auth via
SURVEYMONKEY_TOKEN, no OAuth flow to host. - Zero-install execution through
uvx --from git+..., easy to drop into Claude Desktop or Cursor. - Includes useful conveniences like bulk response listing and CSV export.
- Community-maintained, not an official SurveyMonkey project, so support and long-term maintenance are not guaranteed.
- Requires a SurveyMonkey access token with sufficient scopes; many write endpoints depend on paid plan entitlements.
- Limited in-repo documentation beyond the tool list; no published npm or PyPI package, install is via git source.
- CData SurveyMonkey MCP Server: read-only SQL-style access via the CData JDBC driver, good for analytics queries.
- Zapier MCP for SurveyMonkey: hosted MCP that exposes SurveyMonkey actions through Zapier's integration layer.
- Pipedream MCP for SurveyMonkey: hosted alternative that bundles SurveyMonkey actions and triggers.