Skip to main content
Glama
secemp9
by secemp9

Server Configuration

Describes the environment variables required to run the server.

NameRequiredDescriptionDefault
KITTY_LISTEN_ONNoSet automatically by kitty inside its windows. Used as fallback when KITTY_MCP_SOCKET is not set.
KITTY_MCP_BINARYNoOverride the kitty CLI binary name or path. Default: kitten.
KITTY_MCP_SOCKETNoOverride the kitty remote control socket path.
KITTY_RC_PASSWORDNoPassword for kitty remote control authentication, if configured.

Capabilities

Features and capabilities supported by this server

CapabilityDetails
tools
{}

Tools

Functions exposed to the LLM to take actions

NameDescription
kitty_lsA

List all kitty OS windows, tabs, and windows as a JSON tree. Returns the full hierarchy: OS-window[] -> tab[] -> window[], including window IDs, titles, PIDs, cwds, foreground processes, and layout info. Use --match / --match-tab to filter. Results are cached for 3 seconds.

kitty_get_textA

Retrieve text content from a kitty window. Supports multiple extent modes: "screen" (visible content), "all" (screen + scrollback), "selection" (selected text), "last_cmd_output" (output of most recent command), and more. When extent is "all", output is truncated to max_lines (keeping most recent lines) to prevent overwhelming context.

kitty_get_colorsA

Get terminal color definitions for a kitty window. Returns color names and hex values in kitty.conf format (e.g. "background #1e1e2e"). Use --configured to get the original kitty.conf colors instead of any runtime overrides. Results are cached for 10 seconds.

kitty_select_windowA

Visually select a window in a kitty tab. Kitty overlays letter/number labels on each window and waits for user input. Returns the selected window's ID. This is an interactive command with a 60-second timeout.

kitty_launchA

Launch a new process in a kitty window, tab, or OS window. This is the primary window creation tool. Returns the ID of the newly created window. If no command is specified, the default shell is launched. Supports many launch options including window type, location, environment, and stdin source.

kitty_close_windowA

Close the specified kitty windows. If no match expression is provided, the active window is closed.

kitty_focus_windowB

Focus the specified kitty window, bringing it to the foreground. If no match expression is provided, the command window is focused.

kitty_resize_windowB

Resize the specified kitty window within its current layout. Not all layouts support resizing in all directions. Use axis "reset" to restore default sizes.

kitty_detach_windowA

Detach windows and move them to a different tab or a new OS window. By default, detached windows are moved to a new OS window. Use target_tab to specify a destination tab, or "new" to create a new tab.

kitty_set_window_titleA

Set the title for the specified kitty windows. By default the title is permanent (programs cannot change it). Use temporary to allow programs to change it. Omit title to reset to the child-process-controlled title.

kitty_close_tabA

Close the specified kitty tabs. If no match expression is provided, the active tab is closed.

kitty_focus_tabA

Focus the specified kitty tab. The active window in that tab will be focused.

kitty_set_tab_titleA

Set the title for the specified kitty tabs. If no title is provided, resets to the active-window-controlled title.

kitty_set_tab_colorA

Change the foreground/background colors of a tab in the tab bar. Colors can be color names (e.g. "red"), hex values (e.g. "#1e1e2e"), or "none" to revert to the default.

kitty_detach_tabA

Detach tabs and move them to a different or new OS window. By default, detached tabs are moved to a new OS window. Use target_tab to specify a destination OS window.

kitty_send_textA

Send arbitrary text to specified kitty windows. The text follows Python escaping rules on the kitty side (e.g. \e for ESC, \n for newline). Use from_file to send file contents. Use bracketed_paste to control paste mode behavior.

kitty_send_keyA

Send key presses to specified kitty windows. Keys are kitty key names like "ctrl+a", "enter", "shift+f1", "alt+left". All keys are sent as press events then release events in reverse order.

kitty_scrollA

Scroll the content of a kitty window. Supports scrolling by lines, pages, to start/end, to prompts (with shell integration), and unscrolling. Examples: "5" (5 lines down), "2p-" (2 pages up), "start", "end", "1r" (next prompt), "1r-" (previous prompt), "0.5p" (half page down).

kitty_set_colorsA

Set terminal colors for specified windows/tabs. Colors are specified as "key=value" strings (e.g. "foreground=red", "background=#1e1e2e") or a path to a .conf file. Use reset to restore all colors to startup values.

kitty_set_font_sizeA

Set the font size in the active OS window. All sub-windows in the same OS window share the same font size. Use "+N"/"-N" for relative changes, a number for absolute size, or "0" to reset to default.

kitty_set_spacingB

Set paddings and margins for specified kitty windows. Settings are "key=value" strings like "margin=20", "padding-left=10", "margin-h=30", "padding-v=5". Use "default" as value to reset.

kitty_set_background_opacityA

Set the background opacity for kitty windows. Requires dynamic_background_opacity to be enabled in kitty.conf. Opacity affects all windows in the same OS window.

kitty_disable_ligaturesA

Control ligature rendering for specified kitty windows/tabs. "never" shows ligatures normally, "always" disables them everywhere, "cursor" disables them only under the cursor.

kitty_goto_layoutA

Switch to a specific window layout in the active or specified tab. Valid layouts: fat, grid, horizontal, splits, stack, tall, vertical. Layout names can include options after a colon (e.g. "tall:bias=70").

kitty_last_used_layoutA

Switch to the previously active window layout in the specified tab. Works like a layout toggle between the current and last layout.

kitty_set_enabled_layoutsA

Set which layouts are available for cycling in the specified tab. If the current layout is not in the list, switches to the first enabled layout. Use "all" or "*" to enable all layouts.

kitty_create_markerA

Create a marker that highlights text matching a pattern in a kitty window. Marker types: "text"/"itext" for literal matches, "regex"/"iregex" for regex matches, "function" for custom Python functions. Color groups 1-3 use different highlight colors as configured in kitty.conf.

kitty_remove_markerA

Remove the currently set marker (if any) from the specified kitty window.

kitty_runA

Run a program on the computer where kitty is running and get its output (stdout, stderr, exit code). This waits for the process to complete. For fire-and-forget, use kitty_launch with type "background" instead.

kitty_actionA

Run a mappable kitty action in the specified window. Actions are the same action names used in kitty.conf key mappings (e.g. "scroll_line_down", "copy_to_clipboard", "new_tab"). Arguments are space-separated within the action string.

kitty_kittenB

Run a kitten (kitty extension) over the specified windows. The kitten can be a builtin name or a path to a Python file containing a custom kitten.

kitty_load_configA

Reload kitty configuration files. If no paths are specified, the previously specified config file is reloaded. Paths are resolved relative to the kitty config directory.

kitty_signal_childA

Send one or more Unix signals to the foreground process in the specified kitty windows. If no signals are specified, SIGINT is sent by default. Signal names can be with or without the SIG prefix.

kitty_envA

Change environment variables seen by newly launched kitty windows. Use "NAME=VALUE" to set a variable, or just "NAME" (without =) to unset it.

kitty_set_user_varsA

Set user variables for the specified kitty windows. User variables are accessible via kitty match expressions (var:NAME). Use "NAME=VALUE" to set, or just "NAME" to unset. If no variables provided, prints current vars.

kitty_resize_os_windowA

Resize, show, hide, or toggle fullscreen/maximized state of kitty OS windows. Note that some window managers (e.g. tiling WMs) may not allow applications to resize their windows.

kitty_dump_scrollbackA

Dump a window's full scrollback to a temp file and read it back with pagination. Solves the problem of scrollback buffers too large to return in a single response. First call dumps and returns a page; follow-up calls with file_path paginate through the dump without re-fetching from kitty.

kitty_get_tab_textA

Get text content from ALL windows in a specific tab in a single call. Combines kitty_ls + multiple kitty_get_text calls. Returns text from every window in the tab with per-window headers showing ID, title, CWD, PID, and dimensions. Useful for understanding what is happening across split panes or monitoring multiple processes.

kitty_clear_cacheA

Clear the MCP server internal cache. Useful if you suspect stale data from cached ls or get-colors results.

kitty_health_checkA

Perform a health check of the kitty MCP server. Verifies that the kitty CLI is accessible and all server subsystems are operational.

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/secemp9/kitty-mcp-server'

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