Back to MCP Servers

SurveyMonkey MCP Server

Community-maintained MCP server for the SurveyMonkey API v3 covering surveys, pages, questions, responses, collectors, webhooks, and contacts.

Collaboration by dscovr (community) Bearer Token active
Overview

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.
Setup Guide

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 / uvx installed 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.

Use Cases
  • 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_message to a contact list.
  • Sync webhook subscriptions so a downstream system (warehouse, Slack, CRM) receives response_completed events automatically.
  • Manage contact lists in bulk: import contacts from another tool, deduplicate, and attach them to a survey collector.
Example Prompts
  • "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."
Pros
  • 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.
Limitations
  • 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.
Alternatives