Skip to main content
Glama
SaloQT

imgui-mcp

by SaloQT

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
{
  "listChanged": false
}
experimental
{}

Tools

Functions exposed to the LLM to take actions

NameDescription
imgui_create_windowB

Create a new ImGui window. Windows are containers for widgets. Supports positioning, sizing, and window flags.

imgui_add_widgetC

Add a widget to an ImGui window. Supports 80+ widget types including buttons, text, inputs, sliders, drags, color pickers, combos, trees, tables, menus, popups, plots, containers, and tooltips.

imgui_update_widgetB

Update an existing widget's properties. Can update value, text, checked state, label, content, color, items, selected index, enabled state, and plot data.

imgui_remove_widgetC

Remove a widget from a window

imgui_remove_windowB

Remove a window and all its widgets

imgui_get_stateA

Get the current state of all windows and widgets. Returns values, checked states, text content, selected indices, and interaction flags (clicked, changed, hovered, active, focused).

imgui_clear_allB

Remove all windows and widgets, resetting to empty state

imgui_set_styleC

Set the ImGui style theme. Choose from built-in themes (dark, light, classic) or provide custom color overrides.

imgui_push_style_colorB

Push a style color override onto the style stack for a specific window or widget. Must be balanced with imgui_pop_style_color.

imgui_pop_style_colorC

Pop style color overrides from the style stack for a specific window or widget.

imgui_drawB

Append draw commands to a named layer in a window. Repeated calls preserve earlier geometry by default. Supports lines, shapes, gradients, ellipses, arcs, text, polygons, and bezier curves.

imgui_set_backgroundA

Set the background clear color of the viewport

imgui_show_demoB

Show or hide the ImGui demo window (showcases all available widgets)

imgui_show_metricsC

Show or hide the ImGui metrics/debug window (draw calls, vertices, etc.)

imgui_show_aboutC

Show or hide the ImGui about window (version info, credits)

imgui_show_style_editorC

Show or hide the ImGui style editor window (edit colors and sizes interactively)

imgui_window_controlC

Control a window's properties: position, size, collapsed state, focus, background alpha, or scroll position.

imgui_get_input_stateB

Query input state: mouse position, mouse buttons, keyboard keys, and item interaction states.

imgui_clipboardC

Get or set the system clipboard text via ImGui

imgui_app_statusA

Check if the ImGui application is running and get its status including binary path and availability.

imgui_drain_eventsA

Drain a bounded batch of native UI events. Returns the events, remaining queue depth, and the number dropped since the previous drain.

imgui_screenshotB

Capture a screenshot of the current ImGui frame and save it as a BMP file.

imgui_screenshot_widgetB

Capture a screenshot with information about a specific widget's bounds. Returns the screenshot path and widget location data.

imgui_screenshot_annotatedB

Capture a screenshot with widget ID overlays for debugging and inspection.

imgui_click_widgetB

Simulate a mouse click on a widget by its ID

imgui_type_textA

Type text into a widget (focuses it first, then injects characters)

imgui_hover_widgetC

Move the mouse cursor to hover over a widget

imgui_scroll_windowC

Scroll the mouse wheel over a window

imgui_press_keyA

Simulate a key press and release. Supports single keys and modifier combos. Examples: 'Enter', 'Tab', 'Escape', 'Ctrl+S', 'Shift+A', 'Ctrl+Shift+Z'

imgui_set_mouse_posC

Set the mouse cursor position in screen coordinates

imgui_focus_widgetC

Set keyboard focus to a widget (it will receive focus on the next frame)

imgui_animateB

Animate a widget property over time using a tween/animation. Supports multiple easing functions and looping.

imgui_stop_animationB

Stop animations for a specific widget, or all animations in a window if widget is omitted.

imgui_stop_all_animationsA

Stop and remove all active animations across all windows

imgui_move_windowB

Move a window to a new position

imgui_resize_windowC

Resize a window to new dimensions

imgui_move_widgetC

Move a widget by applying a cursor offset before rendering

imgui_get_widget_rectA

Get the actual rendered bounding box of a widget in pixel coordinates

imgui_get_window_rectB

Get the position and size of a window

imgui_bring_to_frontB

Bring a window to the front and give it focus

imgui_set_widget_sizeC

Set the size of a widget

imgui_get_layoutC

Get the layout of all widgets in a window with their bounding boxes

imgui_set_anchorB

Set a window's anchor position relative to the viewport (e.g. top_left, center, bottom_right)

imgui_set_widget_anchorB

Set a widget's anchor position for responsive layout within its window

imgui_set_viewport_sizeC

Resize the application viewport (SDL window) to specific pixel dimensions

imgui_get_viewport_sizeA

Get the current viewport (SDL window) dimensions

imgui_set_resolution_presetB

Resize the viewport to a common resolution preset

imgui_set_dpi_scaleC

Set the DPI/UI scale factor for all ImGui sizes

imgui_set_safe_areaB

Set safe area insets (in pixels) that anchored windows will respect

imgui_create_sceneB

Create a named scene that controls which windows are visible together

imgui_delete_sceneC

Delete a scene by name

imgui_switch_sceneA

Switch to a named scene, showing only its windows

imgui_list_scenesA

List all scenes and their window lists, plus the active scene

imgui_set_window_layerB

Set the render layer (z-order) of a window. Higher layers render on top.

imgui_set_widget_visibilityB

Set conditional visibility on a widget. Conditions: 'always', 'never', 'widget_id.checked==true', 'widget_id.value>0.5'

imgui_set_window_visibilityC

Show or hide a window by setting its open state

imgui_save_snapshotA

Save the current layout state as a named snapshot. Snapshots can be restored later with imgui_load_snapshot.

imgui_load_snapshotA

Restore a previously saved snapshot by name. The current state is pushed to the undo stack before restoring.

imgui_list_snapshotsA

List all saved snapshots with their names, frame numbers, and widget counts

imgui_delete_snapshotC

Delete a saved snapshot by name

imgui_undoA

Undo the last destructive operation (add/remove/update widget, remove window, clear all). The undone state is pushed to the redo stack.

imgui_redoA

Redo the last undone operation. Re-applies the state that was reversed by imgui_undo.

imgui_export_cppB

Export the current UI layout as C++ ImGui code that recreates all windows and widgets with their current values.

imgui_export_luaA

Export the current UI layout as Lua ImGui bindings code that recreates all windows and widgets with their current values.

imgui_export_jsonA

Export the current UI layout as structured JSON with version info, window properties, and all widget definitions.

imgui_import_jsonA

Import a UI layout from JSON (same format as imgui_export_json). Clears the current layout and recreates all windows and widgets.

imgui_load_textureA

Load a texture from a BMP or PPM file. If the file doesn't exist or is unsupported, creates a 64x64 checkerboard placeholder texture.

imgui_unload_textureA

Unload a previously loaded texture and free its GPU resources.

imgui_load_fontB

Load a TTF or OTF font into the live ImGui atlas under a stable ID. Use imgui_set_font to make it the global default.

imgui_set_fontB

Set the global default font by loaded ID. Use 'default' to restore Dear ImGui's embedded font.

imgui_list_fontsB

List loaded fonts, their native paths and sizes, and which font is active.

imgui_set_themeA

Apply a theme preset to the ImGui interface. Available themes: dark, light, classic, fantasy (gold/amber accents), scifi (cyan/teal accents), retro (green terminal style), minimal (white, thin borders, no rounding).

imgui_set_theme_colorA

Set a specific ImGui style color by name. Color names include: Text, WindowBg, FrameBg, Button, ButtonHovered, ButtonActive, Header, HeaderHovered, HeaderActive, Border, CheckMark, SliderGrab, etc.

imgui_set_style_varC

Set an ImGui style variable. Float vars: FrameRounding, WindowRounding, IndentSpacing, ScrollbarSize, GrabMinSize, etc. Vec2 vars: FramePadding, ItemSpacing, WindowPadding, etc.

imgui_add_hit_regionA

Add an interactive hit region to a window. Hit regions are invisible shapes that detect mouse hover, click, drag, double-click, and wheel events. Use with imgui_get_canvas_events to read interactions. Shapes: rect, circle, ellipse, polygon.

imgui_remove_hit_regionB

Remove a hit region by its id

imgui_update_hit_regionB

Update a hit region's shape, transform, or interaction flags. Only provided fields are updated.

imgui_get_canvas_eventsA

Drain canvas interaction events from hit regions. Returns hover, click, drag (start/move/end), wheel, and double-click events with positions and deltas. Events are consumed on read.

imgui_update_draw_commandB

Update a single draw command in a named draw layer without replacing the entire layer. Specify the command index and the fields to change.

imgui_transform_draw_layerB

Apply a transform to an entire draw layer: translate, rotate, scale, or set opacity. Transforms persist until changed and apply to all draw commands in the layer.

imgui_bindA

Bind a widget's value to a visual property. Each frame the source widget's property is read, scaled, offset, and written to the target. Example: bind a slider's value to a draw layer's opacity.

imgui_unbindA

Remove bindings. Filter by source_widget and/or target_id, or omit both to remove all.

imgui_set_callbackA

Set a declarative callback action that fires automatically when a widget event occurs. Actions: toggle_visibility, set_visibility, set_value, switch_scene. No polling round-trip needed.

imgui_remove_callbackB

Remove declarative callbacks. Filter by trigger_widget and/or action.

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/SaloQT/imgui-mcp'

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