Skip to main content
Glama

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": true
}
logging
{}
prompts
{
  "listChanged": false
}
resources
{
  "subscribe": false,
  "listChanged": false
}
extensions
{
  "io.modelcontextprotocol/ui": {}
}
experimental
{}

Tools

Functions exposed to the LLM to take actions

NameDescription
launch_appA

Launch a Tkinter application with inspection enabled.

Starts the script with automatic Tkinter patching. The app will be inspectable via the other tools once launched.

get_ui_layoutA

Get the current UI layout as hierarchical JSON.

Returns a JSON structure containing the complete widget tree with:

  • widget class names (Button, Label, Frame, etc.)

  • unique widget IDs

  • geometry (x, y, width, height)

  • widget state (normal, disabled)

  • text content where applicable

  • nested children

Use this to understand the current state of the GUI.

view_applicationA

Take a screenshot of the application window.

Returns a base64-encoded JPEG image of the current window state. Use this to visually inspect the GUI appearance.

view_application_thumbnailA

Take a small thumbnail screenshot of the application window.

Returns a low-resolution preview for quick UI state checks. Use view_application for detailed inspection.

Returns: Base64-encoded JPEG string prefixed with data URI scheme.

get_window_infoA

Get basic information about the application window.

Returns JSON with window position and dimensions:

  • x, y: Window position on screen

  • width, height: Window dimensions in pixels

Useful for understanding window placement.

click_widgetA

Click a widget by its ID.

Finds the widget with the given ID and triggers a click action. For buttons, this invokes the button command. For other widgets, this generates a click event.

type_textA

Type text into an Entry or Text widget.

Clears the current content and inserts the new text. Only works with Entry and Text widgets.

get_widget_by_textB

Find a widget by its text content.

Searches the widget tree for a widget containing the specified text. Returns the widget ID if found.

close_appA

Close the currently running Tkinter application.

Terminates the app gracefully.

Returns: JSON with success status

is_connectedA

Check if an app is currently connected.

Returns: JSON with connection status

focus_widgetA

Set keyboard focus to a widget.

get_focused_widgetA

Get the currently focused widget.

Returns: JSON with the focused widget's ID or null if no widget has focus

get_widget_valueA

Get the value of a widget based on its type.

Returns the appropriate value for the widget type:

  • Entry/Text: text content

  • Scale: numeric value

  • Combobox: selected text

  • Checkbutton: boolean (checked/unchecked)

  • Radiobutton: variable value

  • Listbox: list of selected item texts

  • Spinbox: current value

set_widget_valueA

Set the value of a widget based on its type.

Sets the appropriate value for the widget type:

  • Entry/Text: sets text content

  • Scale: sets numeric value (e.g., "50.0")

  • Combobox: sets selected text

  • Checkbutton: sets checked state ("true"/"false")

  • Radiobutton: selects this radio button (value ignored)

  • Listbox: selects item by index (e.g., "0", "1")

  • Spinbox: sets value

get_widget_optionsB

Get available options for a Combobox or Listbox widget.

Returns the list of selectable options/items.

drag_widgetA

Perform drag and drop between two widgets.

Simulates dragging from one widget to another. Useful for drag-and-drop interfaces like chess boards, sortable lists, etc.

Prompts

Interactive templates invoked by user choice

NameDescription

No prompts

Resources

Contextual data attached and managed by the client

NameDescription

No resources

TDQS

A3.9/5.0

Scored across 16 tools

Disambiguation5/5

Each tool has a distinct purpose: launching, clicking, dragging, focusing, getting UI layout, reading/writing widget values, etc. Even similar tools like view_application and view_application_thumbnail are differentiated by resolution.

Naming Consistency4/5

Tools mostly follow a verb_noun pattern (launch_app, click_widget, set_widget_value) or get_ prefix (get_widget_value, get_window_info). The mix is consistent within subgroups, but not strictly uniform across all tools.

Tool Count4/5

16 tools is slightly above the ideal range of 3-15, but the count is justified by the need for various GUI interactions and inspections. It does not feel excessive for the scope.

Completeness4/5

Covers core GUI operations: launch, close, click, drag, focus, read layout, read/write values, type text, and screenshots. Missing advanced interactions (e.g., right-click, scroll) but sufficient for fundamental testing.

Maintenance

ActivityInactive
ResponsivenessNo issues