# SurveyMonkey — how to use (mcp.ai)

Connect your SurveyMonkey account and use 22 tools for forms and surveys straight from your AI agent. Connect with your own API key. SurveyMonkey is an online survey development platform that enables users to create, distribute, and analyze surveys for various purposes.

## Option A — via MCP (recommended)
Remote MCP endpoint (HTTP, streamable): `https://api.mcp.ai/p_survey_monkey?ms=1787291280000`
Add it as a custom/remote MCP connector in your client (Claude, Cursor, VS Code…), then authenticate when prompted. Once connected, ask the agent to use the server's tools (e.g. `survey_monkey_create_bulk_contacts`).

## Option B — via direct REST API
Base URL: `https://api.mcp.ai/api/survey_monkey`
Auth: `Authorization: Bearer sk_live_…` — create a workspace API key at https://mcp.ai/settings/api-keys
Discover endpoints: `GET https://api.mcp.ai/api/survey_monkey/_endpoints`

### Endpoints
- `POST https://api.mcp.ai/api/survey_monkey/create/bulk/contacts` — Creates multiple contacts in SurveyMonkey in a single API call. Use this action to efficiently add multiple contacts at once, optionally updating existing ones. Each contact requires first_name, last_
  - body: { contacts: object[], update_existing?: boolean }
- `POST https://api.mcp.ai/api/survey_monkey/create/contact` — Creates a new contact in SurveyMonkey. Contacts can be added to contact lists and used for email invitations. Use this action when you need to add a new contact to your SurveyMonkey account for survey
  - body: { email: string, last_name?: string, first_name?: string, custom_fields?: object }
- `POST https://api.mcp.ai/api/survey_monkey/create/contact/list` — Creates a new contact list in SurveyMonkey. Contact lists are used to organize contacts for sending survey invitations via email or SMS collectors. Use this action when you need to create a contact li
  - body: { name?: string }
- `POST https://api.mcp.ai/api/survey_monkey/create/survey` — Creates a new empty survey in SurveyMonkey with one empty page and no questions. Returns the survey ID and internal URLs for editing, previewing, and analyzing results — shareable collector URLs are n
  - body: { title: string, footer?: boolean, language?: string, nickname?: string }
- `POST https://api.mcp.ai/api/survey_monkey/create/survey/folder` — Creates a new survey folder in SurveyMonkey to organize surveys. Use when you need to create a folder for grouping related surveys.
  - body: { title: string }
- `POST https://api.mcp.ai/api/survey_monkey/delete/survey` — Tool to delete a specific survey. Use when the survey ID is confirmed correct. Deletion is irreversible. Example prompt: "Delete survey '123456789'."
  - body: { survey_id: string }
- `POST https://api.mcp.ai/api/survey_monkey/get/bulk/contacts` — Tool to retrieve contacts in bulk from SurveyMonkey. Use when you need to fetch multiple contacts efficiently with pagination support.
  - body: { page?: integer, per_page?: integer }
- `POST https://api.mcp.ai/api/survey_monkey/get/collectors` — Tool to retrieve a list of collectors for a specific survey. Use when you need collector URLs, counts, and statuses. Survey creation does not return shareable links; use this tool to obtain collector 
  - body: { name?: string, page?: integer, include?: string[], sort_by?: string, end_date?: string, per_page?: integer, survey_id: string, sort_order?: string, start_date?: string }
- `POST https://api.mcp.ai/api/survey_monkey/get/contacts` — Retrieves a list of contacts from SurveyMonkey. Use this tool to fetch contacts that can be used for sending survey invitations. Contacts can be filtered by status (active, optout, bounced), searched 
  - body: { page?: integer, search?: string, status?: string, sort_by?: string, per_page?: integer, search_by?: string, sort_order?: string }
- `POST https://api.mcp.ai/api/survey_monkey/get/current/user` — Tool to retrieve the current authenticated user's account details including plan information. Use when you need to get information about the authenticated user's SurveyMonkey account.
- `POST https://api.mcp.ai/api/survey_monkey/get/groups` — Tool to retrieve a list of groups. Use after authentication when you need to enumerate or paginate through all groups in your SurveyMonkey account.
  - body: { page?: integer, include?: string, per_page?: integer }
- `POST https://api.mcp.ai/api/survey_monkey/get/responses` — Tool to retrieve a paginated list of responses for a specific survey. Use when you need to browse or filter responses after confirming the survey ID. Iterate through all pages using `page` and `per_pa
  - body: { ip?: string, page?: integer, email?: string, custom?: string, status?: string, sort_by?: string, per_page?: integer, last_name?: string, survey_id: string, first_name?: string, sort_order?: string, end_created_at?: string, total_time_max?: integer, total_time_min?: integer, end_modified_at?: string, custom_variables?: string, start_created_at?: string, total_time_units?: string, start_modified_at?: string }
- `POST https://api.mcp.ai/api/survey_monkey/get/survey/details` — Retrieves comprehensive details and metadata for a specific survey by its ID. Returns survey configuration including title, language, question/page counts, response count, URLs for preview/edit/analyz
  - body: { survey_id: string }
- `POST https://api.mcp.ai/api/survey_monkey/get/survey/details2` — Retrieves expanded survey details including all pages, questions, and answer options. Use when you need the complete survey structure with question IDs and answer option IDs for mapping responses.
  - body: { survey_id: string }
- `POST https://api.mcp.ai/api/survey_monkey/get/survey/responses/bulk` — Tool to retrieve bulk survey responses with full question answers and response data. Use when you need to export or analyze detailed response data for a survey.
  - body: { id: string, page?: integer, status?: string, per_page?: integer, end_created_at?: string, start_created_at?: string }
- `POST https://api.mcp.ai/api/survey_monkey/get/survey/trends` — Tool to retrieve trend data for a survey showing answer counts for particular time periods. Use when you need to analyze response trends over time for survey questions. Not available for file_upload, 
  - body: { trend_by?: string, survey_id: string, end_created_at?: string, end_modified_at?: string, start_created_at?: string, start_modified_at?: string }
- `POST https://api.mcp.ai/api/survey_monkey/get/surveys` — Tool to retrieve a paginated list of surveys. Use when you need to enumerate or paginate through all surveys. Results are capped at 100 per page (`per_page` max=100); iterate over all pages using `pag
  - body: { page?: integer, title?: string, include?: string[], sort_by?: string, per_page?: integer, folder_id?: string, sort_order?: string, end_modified_at?: string, start_modified_at?: string }
- `POST https://api.mcp.ai/api/survey_monkey/list/available/languages` — Tool to retrieve all available languages for creating multilingual surveys. Use when you need to get language codes and names for survey creation or translation.
- `POST https://api.mcp.ai/api/survey_monkey/list/benchmark/bundles` — Tool to retrieve a list of benchmark bundles. Use when you need to enumerate available benchmark bundles for benchmarking survey results.
  - body: { page?: integer, country?: string, per_page?: integer }
- `POST https://api.mcp.ai/api/survey_monkey/list/contact/fields` — Tool to retrieve a list of contact fields from SurveyMonkey. Use when you need to enumerate available contact fields that can be used for contact management and data collection.
  - body: { page?: integer, per_page?: integer }
- `POST https://api.mcp.ai/api/survey_monkey/list/contact/lists` — Tool to retrieve a list of contact lists from SurveyMonkey. Use this when you need to enumerate all contact lists in your account or find a specific list by name. Contact lists are collections of cont
  - body: { page?: integer, per_page?: integer }
- `POST https://api.mcp.ai/api/survey_monkey/list/webhooks` — Tool to retrieve a list of webhooks from SurveyMonkey. Use when you need to view all configured webhooks or find a specific webhook by name.
  - body: { page?: integer, per_page?: integer }

## Example prompts
- "What can I do in SurveyMonkey?"
- "Show me a summary of my SurveyMonkey account"

## More
- Page: https://mcp.ai/survey_monkey
- Agent spec (llms.txt): https://mcp.ai/survey_monkey/llms.txt
- Postman collection: https://mcp.ai/survey_monkey/postman.json
