Skip to main content
Glama
jens-duttke

mcp-popup-ui

by jens-duttke

Server Configuration

Describes the environment variables required to run the server.

NameRequiredDescriptionDefault

No arguments

Instructions

Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.

This server publishes no instructions, or was last inspected before Glama recorded them.

Capabilities

Features and capabilities supported by this server

Protocol revision2025-11-25

CapabilityDetails
tools
{}

Tools

Functions exposed to the LLM to take actions

NameDescription
ask_userA

Ask the user to choose exactly ONE option from a list. Use this tool instead of listing options in your text response whenever you need the user to make a decision.

WHEN TO USE THIS TOOL:

  • You are about to list numbered options and ask "which do you prefer?"

  • You need user confirmation on a specific choice before proceeding

  • The user must pick one mutually exclusive option (e.g., "Which approach should I implement?", "Which file should I modify?", "What framework do you want?")

EXAMPLES OF WHEN TO USE:

  • "Should I use Option A, B, or C?" → Use this tool

  • "Which implementation approach?" → Use this tool

  • "What programming language?" → Use this tool

  • "Pick a template to scaffold" → Use this tool

⚠️ CRITICAL: Each parameter MUST be passed SEPARATELY. Do NOT combine them!

❌ WRONG (options contains title/description - WILL FAIL): options: [{"label": "A"}, {"label": "B"}], "title": "...", "description": "..."

✅ CORRECT (each parameter separate): options: [{"label": "A"}, {"label": "B"}] title: "Pick one" description: "Choose your preference"

PARAMETERS:

  • options (REQUIRED): Array of objects, each with "label" (required) and optional "description", "recommended"

  • title (optional): String displayed above options

  • description (optional): String displayed below title

  • allow_other (optional): Boolean to allow custom input

The tool opens a popup in the user's browser and waits for their selection. If allow_other is true, users can enter custom text if predefined options don't fit. Returns the selected option as a string, or indicates if the user skipped.

ask_user_multipleA

Ask the user to choose ONE OR MORE options from a list. Use this tool instead of listing options in your text response whenever the user can select multiple items.

WHEN TO USE THIS TOOL:

  • You are about to list items and ask "which ones do you want?" or "select all that apply"

  • The user can pick multiple non-exclusive options (e.g., "Which features to include?", "Which files to modify?", "What languages do you know?")

  • You need to gather multiple preferences at once

EXAMPLES OF WHEN TO USE:

  • "Which features do you want?" → Use this tool

  • "Select the files to include" → Use this tool

  • "What integrations should I add?" → Use this tool

  • "Pick all applicable tags" → Use this tool

⚠️ CRITICAL: Each parameter MUST be passed SEPARATELY. Do NOT combine them!

❌ WRONG (options contains title/description - WILL FAIL): options: [{"label": "A"}, {"label": "B"}], "title": "...", "description": "..."

✅ CORRECT (each parameter separate): options: [{"label": "A"}, {"label": "B"}] title: "Select features" description: "Choose all that apply"

PARAMETERS:

  • options (REQUIRED): Array of objects, each with "label" (required) and optional "description", "recommended"

  • title (optional): String displayed above options

  • description (optional): String displayed below title

  • min_selections (optional): Minimum selections required

  • max_selections (optional): Maximum selections allowed

  • allow_other (optional): Boolean to allow custom input

The tool opens a popup in the user's browser and waits for their selections. If allow_other is true, users can add custom text if predefined options don't fit. Returns an array of selected options, or indicates if the user skipped.

Prompts

Interactive templates invoked by user choice

NameDescription

No prompts

Resources

Contextual data attached and managed by the client

NameDescription

No resources

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/jens-duttke/mcp-popup-ui'

If you have feedback or need assistance with the MCP directory API, please join our Discord server