surveymonkey-chatgpt

jhurl3y/surveymonkey-chatgpt

3.2

If you are the rightful owner of surveymonkey-chatgpt and would like to certify it and/or have it hosted online, please leave a comment on the right or send an email to dayong@mcphub.com.

The SurveyMonkey ChatGPT App allows users to create and manage surveys directly from ChatGPT using the Model Context Protocol (MCP) server.

Tools
4
Resources
0
Prompts
0

SurveyMonkey ChatGPT App

Create and manage SurveyMonkey surveys directly from ChatGPT!

✨ Features

  • 📋 List Surveys - View all your surveys in a beautiful interactive widget
  • Create Surveys - Build surveys with custom questions through natural conversation
  • 👀 Survey Preview - Preview your surveys with an embedded iframe
  • 🔗 Quick Links - Direct access to edit, preview, collect, and analyze

🚀 Quick Start

1. Get Your SurveyMonkey Access Token

  1. Go to https://developer.surveymonkey.com/apps/
  2. Create a new "Private App"
  3. Go to Settings tab → Copy the Access Token

2. Configure & Run

# Setup
cd surveymonkey_server_python
cp .env.example .env
# Edit .env and add your SURVEYMONKEY_ACCESS_TOKEN

# Install
pip install -r requirements.txt
cd .. && pnpm install && pnpm run build

# Run (2 terminals)
pnpm run serve              # Terminal 1: Asset server (port 4444)
python surveymonkey_server_python/main.py  # Terminal 2: MCP server (port 8000)

3. Connect to ChatGPT

Point your ChatGPT app to http://localhost:8000 (or your ngrok URL)

📱 Interactive Widgets

The app includes beautiful interactive UI widgets that enhance the ChatGPT experience:

Survey List Widget (list_surveys)

  • Interactive grid displaying all your surveys
  • Quick action buttons for Edit, Preview, Analyze, and Collect
  • Shows question count, response count, and creation date
  • Auto-rendered when listing surveys

Survey Preview Widget (get_survey_details, get_survey_links, create_survey)

  • Embedded iframe preview of your survey
  • Expandable preview (400px → 600px)
  • Direct links to Edit, Analyze, and Collect responses
  • Shows survey questions and structure
  • Auto-rendered after creating surveys or viewing details

🛠️ Available Tools

  • list_surveys() - Show all surveys
  • create_survey(title, questions) - Create new survey
  • get_survey_details(survey_id) - Get survey info
  • get_survey_links(survey_id) - Get all URLs

📝 Example Usage

"Show me my surveys"
→ Returns interactive widget with all surveys

"Create a customer satisfaction survey with rating and comment questions"
→ Creates survey and shows preview widget with iframe

"Get details for survey 123456"
→ Shows survey preview with questions and links

"Show me links for my latest survey"
→ Displays preview widget with all action links

🏗️ Architecture

Backend (Python)

  • FastMCP server using Model Context Protocol
  • Communicates with SurveyMonkey API v3
  • Returns structured content with widget metadata
  • Runs on port 8000

Frontend (React)

  • Vite-built React components with Tailwind CSS
  • Widget HTML files with content hashing
  • Served by asset server on port 4444
  • Receives data via window.openai.toolOutput

Widget Integration

  • Tools return types.TextContent with _meta field
  • _meta contains openai/outputTemplate pointing to widget HTML
  • ChatGPT renders the widget and injects tool output data
  • Widgets use window.openai.openExternal() for links

Built with MCP, FastMCP, React, Tailwind CSS, and SurveyMonkey API ✨