tkinter-mcp-server
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
No arguments | |||
Capabilities
Features and capabilities supported by this server
| Capability | Details |
|---|---|
| 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
| Name | Description |
|---|---|
| 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:
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:
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:
|
| set_widget_valueA | Set the value of a widget based on its type. Sets the appropriate value for the widget type:
|
| 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
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
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/tctibbs/tkinter-mcp-server'
If you have feedback or need assistance with the MCP directory API, please join our Discord server