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.

Quick connect
Claude (web or desktop)
- Settings → Connectors → Add custom connector.
- Paste
https://mcp.uplup.com/mcp. - Click Connect; complete the Uplup OAuth consent.
- Try: “List my Uplup forms”.
ChatGPT (Pro / Team)
- Settings → Connectors → Custom.
- Paste
https://mcp.uplup.com/mcpand 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):
| Client | Where to add the config |
|---|---|
| Cursor | Settings -> 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. |
| Zed | Settings -> Edit settings.json -> add to context_servers. |
| Windsurf | Settings -> 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 CLI | goose configure -> Add Extension -> Remote URL. |
| LibreChat (self-hosted) | librechat.yaml -> mcpServers section. |
| OpenWebUI (self-hosted) | Admin Panel -> Settings -> Tools -> MCP Servers. |
| ChatBox | Settings -> 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
| Tool | Plan | What it does |
|---|---|---|
get_account | F | Returns the connected user, brand, plan tier, response limits, and current month usage. |
Forms & quizzes
| Tool | Plan | What it does |
|---|---|---|
list_forms | F | List the user’s forms and quizzes. Filterable by content_type and sortable. |
get_form | F | Fetch one form including its full document structure (pages, fields, settings). |
create_form | F | Create a new form or quiz with optional document, presentation mode, scheduling, security. |
update_form | F | Patch form metadata or document. Only provided fields change. |
clone_form | F | Duplicate a form, returning the new form id. |
delete_form | F | Permanently delete a form and its submissions. |
publish_form | F | Toggle whether a form is publicly accessible. |
Fields (questions)
| Tool | Plan | What it does |
|---|---|---|
list_fields | F | Every field across all content pages, in display order. |
create_field | F | Add a question. Supports correct_answer + points for scored quizzes, or option_objects for partial credit / personality scoring. Conditional show/hide via conditional_logic. |
update_field | F | Patch an existing field. Same scoring + logic semantics as create_field. |
delete_field | F | Remove a field from a form. |
reorder_fields | F | Reorder fields by providing field ids in the desired order. |
Pages
| Tool | Plan | What it does |
|---|---|---|
list_pages | F | Pages in display order with id, type (cover/content/leadCapture/ending), title, field count. |
add_page | F | Insert a new page. Defaults to a content page before the ending; supports position / before_page_id / after_page_id. |
update_page | F | Patch a page’s title or type. |
delete_page | F | Remove a page along with its fields. |
reorder_pages | F | Reorder pages by id. |
get_logic_summary | F | Enumerate every field that has conditional show/hide/require logic enabled. |
Submissions
| Tool | Plan | What it does |
|---|---|---|
list_submissions | F | Submissions for a form, with optional country / pass-fail filters and sort. |
get_submission | F | One submission with full field answers and metadata. |
delete_submission | F | Permanently delete a single submission. |
export_submissions | F | Generate a CSV or JSON export of all submissions on a form. |
Analytics
| Tool | Plan | What it does |
|---|---|---|
get_form_analytics | F | Top-line: views, starts, submissions, conversion rate. Date range or 7d/30d/90d/all preset. |
get_submission_analytics | F | Per-day submission counts plus hourly + weekday patterns. |
get_geography_analytics | F | Submission counts by country and region. |
get_performance_analytics | F | Form load time, time-to-submit, per-field drop-off. |
Quiz scoring & outcomes
| Tool | Plan | What it does |
|---|---|---|
get_quiz_settings | F | Scoring rules, pass thresholds, outcomes, timing, retake policy, results display config. |
update_quiz_settings | F | Update any of those: passing_score, outcomes (score-band messages), timing, retake_policy, question_behavior (randomise / instant feedback), results_display, leaderboard. |
get_quiz_results | F | Per-attempt: score, percentage, outcome, pass/fail. |
get_quiz_leaderboard | F | Top scorers on a quiz. |
Design & themes
| Tool | Plan | What it does |
|---|---|---|
get_form_design | F | Returns colors, typography, layout, background, theme assignment. |
update_form_design | F | Patch 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_theme | F | Apply a saved theme to a form by its id. |
list_themes | F | Available preset and custom themes. |
Webhooks (Pro+)
| Tool | Plan | What it does |
|---|---|---|
list_webhooks | P | All webhook subscriptions on the account. |
create_webhook | P | Subscribe to events at a target URL. Use “*” for all events. |
get_webhook | P | Fetch one webhook subscription. |
update_webhook | P | Modify target URL, events, or form filters. |
delete_webhook | P | Remove a webhook subscription. |
test_webhook | P | Fire a synthetic test event so you can verify your endpoint. |
regenerate_webhook_secret | P | Rotate the HMAC signing secret. Receivers must update. |
get_webhook_deliveries | P | Recent delivery attempts with status codes and response body summaries. |
Wheels (random name picker)
| Tool | Plan | What it does |
|---|---|---|
list_wheels | F | All your wheels. |
get_wheel | F | One wheel including entries, settings, winners, display config. |
create_wheel | F | Create a new wheel with optional initial entries. |
update_wheel | F | Patch wheel name, entries, settings, display mode, or visibility. |
delete_wheel | F | Soft-delete a wheel. |
clone_wheel | F | Duplicate a wheel including entries and settings. |
restore_wheel | F | Undo a wheel deletion. |
get_wheel_settings | F | Spin settings, display mode, display options. |
update_wheel_settings | F | Replace the wheel’s settings (spin duration, animation, sounds, remove-on-win, etc.). |
update_wheel_appearance | F | Set display mode (wheel/list/roulette/slot) and per-mode options. |
get_wheel_entries | F | Current entries on the wheel. |
add_wheel_entries | F | Append entries (strings or {Name, weight, color} objects). |
replace_wheel_entries | F | Overwrite the entire entries list. |
clear_wheel_entries | F | Remove all entries. |
spin_wheel | F | Spin and return a random winner. Increments the spin counter. |
get_wheel_results | F | Recent winners drawn from this wheel. |
clear_wheel_results | F | Wipe the recorded winners list. |
get_wheel_stats | F | total_spins, total_entries, total_winners. |
get_wheel_embed | F | Iframe embed URL and HTML snippet. |
get_wheel_share_url | F | Public 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.comand 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.
