Skip to main content

How to Connect Uplup to Claude, ChatGPT, and Cursor (MCP)

Uplup ships with a hosted MCP (Model Context Protocol) server at mcp.uplup.com. MCP is an open standard — any compatible client can connect, not just the three we walk through below. The server exposes 63 tools, 6 guided prompts, and 3 resources covering forms, quizzes, fields, pages, submissions, analytics, scoring, design, webhooks, and the random name picker.

Available on every plan, including Free. Plan tiers gate specific actions (e.g. webhook creation requires Pro), but read access is universal.

Quick connect

Claude (web or desktop)

  1. Settings → Connectors → Add custom connector.
  2. Paste https://mcp.uplup.com/mcp.
  3. Click Connect; complete the Uplup OAuth consent.
  4. Try: “List my Uplup forms”.

ChatGPT (Pro / Team)

  1. Settings → Connectors → Custom.
  2. Paste https://mcp.uplup.com/mcp and continue through the OAuth flow.

Cursor, Zed, Continue, Cline, Windsurf, Claude Desktop, etc.

These clients all read MCP servers from a JSON config block. Add this to whichever file your client uses (see the table further down):

{
  "mcpServers": {
    "uplup": {
      "url": "https://mcp.uplup.com/mcp"
    }
  }
}

Reload the client; the first tool call opens the OAuth consent window in your browser.


Other MCP-compatible clients

MCP is an open standard maintained by Anthropic and the wider community. Any client that speaks the protocol — with the Streamable HTTP transport and OAuth 2.0 authorisation — can talk to Uplup. New clients self-register through RFC 7591 dynamic client registration; we don’t maintain a per-vendor allowlist.

Clients confirmed working with the same JSON config above (drop the snippet into the right file or settings panel):

ClientWhere to add the config
CursorSettings -> MCP -> Edit (or edit ~/.cursor/mcp.json directly).
Continue (VS Code, JetBrains)config.yaml -> mcpServers section, or Continue settings UI.
Cline (VS Code)Cline -> MCP Servers -> Edit MCP Settings.
ZedSettings -> Edit settings.json -> add to context_servers.
WindsurfSettings -> Cascade -> Configure MCP servers.
Claude Desktop (with remote MCP support)Settings -> Connectors -> Add custom (preferred), or edit claude_desktop_config.json on older builds.
Goose CLIgoose configure -> Add Extension -> Remote URL.
LibreChat (self-hosted)librechat.yaml -> mcpServers section.
OpenWebUI (self-hosted)Admin Panel -> Settings -> Tools -> MCP Servers.
ChatBoxSettings -> Custom MCP Servers.

If your client is not on the list, look for a “custom MCP server” or “remote MCP” option in its settings, or check the project’s docs for an mcpServers block. The URL is always https://mcp.uplup.com/mcp.

Building your own client? Use the official MCP SDKs (TypeScript, Python, Java, Kotlin, C#) and point them at the same URL.


Try one of these

Practical examples to ask your AI assistant after connecting:

  • “Build a 10-question astronomy quiz on Uplup with a 70% pass score”
  • “Show me the conversion rate trend on my product quiz over the last 30 days”
  • “Find which field on form X is causing the most drop-off, and suggest fixes”
  • “Clone the Customer Service Skills Assessment and adapt it for sales”
  • “Create a 50-name wheel for our Friday raffle, then spin it”
  • “Set up a webhook that POSTs every new submission on my contact form to webhook.site/abc123”
  • “Show me the top 10 scorers on my certification quiz”
  • “Take the personality quiz live, with randomised question order and instant feedback”
  • “Apply the navy blue theme to my onboarding form”
  • “Add a conditional field that only shows when the user picks ‘enterprise’ on the plan question”

Tool reference

The MCP server exposes 63 tools across 10 categories. Every tool runs against your authenticated Uplup workspace and is gated by your plan.

Plan key: F = Free and up. P = Pro and up. B = Business and up.

Account & plan

ToolPlanWhat it does
get_accountFReturns the connected user, brand, plan tier, response limits, and current month usage.

Forms & quizzes

ToolPlanWhat it does
list_formsFList the user’s forms and quizzes. Filterable by content_type and sortable.
get_formFFetch one form including its full document structure (pages, fields, settings).
create_formFCreate a new form or quiz with optional document, presentation mode, scheduling, security.
update_formFPatch form metadata or document. Only provided fields change.
clone_formFDuplicate a form, returning the new form id.
delete_formFPermanently delete a form and its submissions.
publish_formFToggle whether a form is publicly accessible.

Fields (questions)

ToolPlanWhat it does
list_fieldsFEvery field across all content pages, in display order.
create_fieldFAdd a question. Supports correct_answer + points for scored quizzes, or option_objects for partial credit / personality scoring. Conditional show/hide via conditional_logic.
update_fieldFPatch an existing field. Same scoring + logic semantics as create_field.
delete_fieldFRemove a field from a form.
reorder_fieldsFReorder fields by providing field ids in the desired order.

Pages

ToolPlanWhat it does
list_pagesFPages in display order with id, type (cover/content/leadCapture/ending), title, field count.
add_pageFInsert a new page. Defaults to a content page before the ending; supports position / before_page_id / after_page_id.
update_pageFPatch a page’s title or type.
delete_pageFRemove a page along with its fields.
reorder_pagesFReorder pages by id.
get_logic_summaryFEnumerate every field that has conditional show/hide/require logic enabled.

Submissions

ToolPlanWhat it does
list_submissionsFSubmissions for a form, with optional country / pass-fail filters and sort.
get_submissionFOne submission with full field answers and metadata.
delete_submissionFPermanently delete a single submission.
export_submissionsFGenerate a CSV or JSON export of all submissions on a form.

Analytics

ToolPlanWhat it does
get_form_analyticsFTop-line: views, starts, submissions, conversion rate. Date range or 7d/30d/90d/all preset.
get_submission_analyticsFPer-day submission counts plus hourly + weekday patterns.
get_geography_analyticsFSubmission counts by country and region.
get_performance_analyticsFForm load time, time-to-submit, per-field drop-off.

Quiz scoring & outcomes

ToolPlanWhat it does
get_quiz_settingsFScoring rules, pass thresholds, outcomes, timing, retake policy, results display config.
update_quiz_settingsFUpdate any of those: passing_score, outcomes (score-band messages), timing, retake_policy, question_behavior (randomise / instant feedback), results_display, leaderboard.
get_quiz_resultsFPer-attempt: score, percentage, outcome, pass/fail.
get_quiz_leaderboardFTop scorers on a quiz.

Design & themes

ToolPlanWhat it does
get_form_designFReturns colors, typography, layout, background, theme assignment.
update_form_designFPatch design properties. Top-level shortcuts (primary_color etc.) or nested theme_overrides for fine control of heading_text / body_text / question_text / buttons / text_field / form_layout / branding.
apply_themeFApply a saved theme to a form by its id.
list_themesFAvailable preset and custom themes.

Webhooks (Pro+)

ToolPlanWhat it does
list_webhooksPAll webhook subscriptions on the account.
create_webhookPSubscribe to events at a target URL. Use “*” for all events.
get_webhookPFetch one webhook subscription.
update_webhookPModify target URL, events, or form filters.
delete_webhookPRemove a webhook subscription.
test_webhookPFire a synthetic test event so you can verify your endpoint.
regenerate_webhook_secretPRotate the HMAC signing secret. Receivers must update.
get_webhook_deliveriesPRecent delivery attempts with status codes and response body summaries.

Wheels (random name picker)

ToolPlanWhat it does
list_wheelsFAll your wheels.
get_wheelFOne wheel including entries, settings, winners, display config.
create_wheelFCreate a new wheel with optional initial entries.
update_wheelFPatch wheel name, entries, settings, display mode, or visibility.
delete_wheelFSoft-delete a wheel.
clone_wheelFDuplicate a wheel including entries and settings.
restore_wheelFUndo a wheel deletion.
get_wheel_settingsFSpin settings, display mode, display options.
update_wheel_settingsFReplace the wheel’s settings (spin duration, animation, sounds, remove-on-win, etc.).
update_wheel_appearanceFSet display mode (wheel/list/roulette/slot) and per-mode options.
get_wheel_entriesFCurrent entries on the wheel.
add_wheel_entriesFAppend entries (strings or {Name, weight, color} objects).
replace_wheel_entriesFOverwrite the entire entries list.
clear_wheel_entriesFRemove all entries.
spin_wheelFSpin and return a random winner. Increments the spin counter.
get_wheel_resultsFRecent winners drawn from this wheel.
clear_wheel_resultsFWipe the recorded winners list.
get_wheel_statsFtotal_spins, total_entries, total_winners.
get_wheel_embedFIframe embed URL and HTML snippet.
get_wheel_share_urlFPublic share URL and visibility flag.

Resource templates

Resources are read-only data the AI can pull directly without a tool call:

  • uplup://forms/{form_id} — Full form definition JSON.
  • uplup://forms/{form_id}/submissions — Paginated submissions for a form.
  • uplup://templates — Starter templates: lead-capture, NPS, product quiz, contact form.

Guided prompts

Prompts are multi-step instructions the AI can invoke. They orchestrate several tool calls in the right order:

  • build_quiz — Topic + question count -> creates form, adds questions, configures scoring + outcomes.
  • build_lead_form — Purpose -> name/email/phone form with one tailored open-ended question.
  • analyze_submissions — Form id -> overview + sample submissions + 3-5 actionable insights.
  • build_survey — Topic -> rating + multiple-choice + NPS + open-ended mix.
  • manage_quiz_scoring — Walk through configuring scoring rules, outcomes, randomisation, retakes on an existing quiz.
  • analyze_responses_by_field — Per-field drop-off, completion time, answer distribution, ranked edit suggestions.

In Claude or ChatGPT, prompts appear in the / picker once you have connected. You can also describe the same flow in plain language and the assistant will pick the right tools.


Plan tier and quota notes

  • Free: read and create forms, fields, pages; run wheels; pull analytics; manage your own design and themes; everything on this MCP except the webhooks tool group.
  • Pro and above: webhook subscriptions, higher API rate limits.
  • Submission limits, AI credits, and team-member counts apply to whichever Uplup plan you are on. The MCP server itself does not consume those; tool calls hit the same endpoints your dashboard uses.

Security and authorization

  • OAuth 2.0 with PKCE. Each AI client registers itself dynamically (RFC 7591) as a public client; no static secrets are exposed.
  • Every tool call carries your Bearer token; the MCP server forwards it to api.uplup.com and the existing API authorisation enforces plan gates.
  • Tokens are workspace-scoped to the brand you authorised. To revoke access, disconnect the connector from inside your AI client (Claude, ChatGPT, Cursor) so it stops calling the MCP server.
  • The consent screen shows the destination host and a third-party warning for any dynamically-registered client.

Troubleshooting

  • The connector cannot complete OAuth — ensure your AI client supports remote MCP with OAuth 2.0 + PKCE. Older builds of Claude Desktop and ChatGPT did not.
  • I get permission denied on a tool call — the underlying API endpoint requires a higher plan tier. Upgrade your Uplup plan or stick to read-only tools.
  • I get rate-limited — the server permits 120 requests per minute per IP. Slow the assistant down or batch.
  • I want to revoke access — remove the Uplup connector from your AI assistant’s settings (Claude / ChatGPT / Cursor / etc.). The next tool call will fail until you re-authorise.

Open source

The MCP server is open source. You can audit the code, file issues, or run your own instance: github.com/Uplup/uplup-mcp. Self-host instructions are in the README.