{
  "tools": [
    "call_read_tools_batch",
    "capture_pane",
    "capture_since",
    "clear_pane_scrollback",
    "create_session",
    "create_window",
    "find_pane_by_position",
    "get_pane_info",
    "get_server_info",
    "get_session_info",
    "get_tmux_variables",
    "get_window_info",
    "kill_pane",
    "kill_session",
    "kill_window",
    "list_panes",
    "list_sessions",
    "list_windows",
    "move_window",
    "paste_text",
    "rename_session",
    "rename_window",
    "resize_pane",
    "resize_window",
    "respawn_pane",
    "run_shell_command",
    "search_panes",
    "select_layout",
    "select_pane",
    "select_window",
    "send_keys",
    "send_keys_batch",
    "set_history_limit",
    "set_mouse_enabled",
    "set_pane_title",
    "set_synchronize_panes",
    "show_environment",
    "show_hooks",
    "show_option",
    "signal_channel",
    "snapshot_pane",
    "split_window",
    "swap_pane",
    "wait_for_channel",
    "wait_for_text"
  ],
  "registrations": [
    {
      "name": "call_read_tools_batch",
      "wireName": "call_read_tools_batch",
      "source": {
        "repo": "libtmux/libtmux-java",
        "revision": "a0ecbc16da00140e2520462d478a2af470878272",
        "extractedRevision": "a0ecbc16da00140e2520462d478a2af470878272",
        "file": "libtmux-mcp/src/main/java/io/github/libtmux/mcp/InspectTools.java",
        "line": 391
      },
      "description": "Calls up to sixteen eligible inspect tools serially; inner tools receive no separate approval, and its nested authority is disclosed. The complete JSON-RPC response is capped at 1,000,000 bytes; a removed nested envelope is marked on its row and counted in truncatedBytes. Read pane output; accepts no client-supplied executable input. Returned content may be sensitive or untrusted.",
      "schemaStatus": "runtime",
      "inputSchema": {
        "additionalProperties": false,
        "properties": {
          "onError": {
            "description": "stop or continue; defaults to stop.",
            "enum": [
              "stop",
              "continue"
            ],
            "type": "string"
          },
          "operations": {
            "description": "Typed calls within the disclosed nested authority.",
            "items": {
              "oneOf": [
                {
                  "additionalProperties": false,
                  "properties": {
                    "arguments": {
                      "additionalProperties": false,
                      "properties": {},
                      "required": [],
                      "type": "object"
                    },
                    "tool": {
                      "const": "list_sessions",
                      "type": "string"
                    }
                  },
                  "required": [
                    "tool"
                  ],
                  "type": "object"
                },
                {
                  "additionalProperties": false,
                  "properties": {
                    "arguments": {
                      "additionalProperties": false,
                      "properties": {
                        "session_id": {
                          "description": "Only windows in this session, such as $1.",
                          "type": "string"
                        },
                        "session_name": {
                          "description": "Only windows in the session with this exact name.",
                          "type": "string"
                        }
                      },
                      "required": [],
                      "type": "object"
                    },
                    "tool": {
                      "const": "list_windows",
                      "type": "string"
                    }
                  },
                  "required": [
                    "tool"
                  ],
                  "type": "object"
                },
                {
                  "additionalProperties": false,
                  "properties": {
                    "arguments": {
                      "additionalProperties": false,
                      "properties": {},
                      "required": [],
                      "type": "object"
                    },
                    "tool": {
                      "const": "list_panes",
                      "type": "string"
                    }
                  },
                  "required": [
                    "tool"
                  ],
                  "type": "object"
                },
                {
                  "additionalProperties": false,
                  "properties": {
                    "arguments": {
                      "additionalProperties": false,
                      "properties": {},
                      "required": [],
                      "type": "object"
                    },
                    "tool": {
                      "const": "get_server_info",
                      "type": "string"
                    }
                  },
                  "required": [
                    "tool"
                  ],
                  "type": "object"
                },
                {
                  "additionalProperties": false,
                  "properties": {
                    "arguments": {
                      "additionalProperties": false,
                      "properties": {
                        "session_id": {
                          "description": "The session ID, such as $1.",
                          "type": "string"
                        }
                      },
                      "required": [
                        "session_id"
                      ],
                      "type": "object"
                    },
                    "tool": {
                      "const": "get_session_info",
                      "type": "string"
                    }
                  },
                  "required": [
                    "tool"
                  ],
                  "type": "object"
                },
                {
                  "additionalProperties": false,
                  "properties": {
                    "arguments": {
                      "additionalProperties": false,
                      "properties": {
                        "window_id": {
                          "description": "The window ID, such as @1.",
                          "type": "string"
                        }
                      },
                      "required": [
                        "window_id"
                      ],
                      "type": "object"
                    },
                    "tool": {
                      "const": "get_window_info",
                      "type": "string"
                    }
                  },
                  "required": [
                    "tool"
                  ],
                  "type": "object"
                },
                {
                  "additionalProperties": false,
                  "properties": {
                    "arguments": {
                      "additionalProperties": false,
                      "properties": {
                        "pane_id": {
                          "description": "The pane to act on, such as %1. Every listing tool returns these.",
                          "type": "string"
                        }
                      },
                      "required": [
                        "pane_id"
                      ],
                      "type": "object"
                    },
                    "tool": {
                      "const": "get_pane_info",
                      "type": "string"
                    }
                  },
                  "required": [
                    "tool"
                  ],
                  "type": "object"
                },
                {
                  "additionalProperties": false,
                  "properties": {
                    "arguments": {
                      "additionalProperties": false,
                      "properties": {
                        "history": {
                          "default": false,
                          "description": "Include scrollback rather than only the visible screen. Defaults to false.",
                          "type": "boolean"
                        },
                        "max_lines": {
                          "default": 200,
                          "description": "Maximum lines, keeping the newest. Defaults to 200.",
                          "type": "integer"
                        },
                        "pane_id": {
                          "description": "The pane to act on, such as %1. Every listing tool returns these.",
                          "type": "string"
                        }
                      },
                      "required": [
                        "pane_id"
                      ],
                      "type": "object"
                    },
                    "tool": {
                      "const": "capture_pane",
                      "type": "string"
                    }
                  },
                  "required": [
                    "tool"
                  ],
                  "type": "object"
                },
                {
                  "additionalProperties": false,
                  "properties": {
                    "arguments": {
                      "additionalProperties": false,
                      "properties": {
                        "cursor": {
                          "description": "A cursor returned by an earlier capture.",
                          "type": "string"
                        },
                        "max_lines": {
                          "default": 200,
                          "description": "Maximum new lines, keeping the newest. Defaults to 200.",
                          "type": "integer"
                        },
                        "pane_id": {
                          "description": "The pane to act on, such as %1. Every listing tool returns these.",
                          "type": "string"
                        }
                      },
                      "required": [
                        "pane_id"
                      ],
                      "type": "object"
                    },
                    "tool": {
                      "const": "capture_since",
                      "type": "string"
                    }
                  },
                  "required": [
                    "tool"
                  ],
                  "type": "object"
                },
                {
                  "additionalProperties": false,
                  "properties": {
                    "arguments": {
                      "additionalProperties": false,
                      "properties": {
                        "history": {
                          "default": false,
                          "description": "Include scrollback rather than only the visible screen. Defaults to false.",
                          "type": "boolean"
                        },
                        "max_lines": {
                          "default": 200,
                          "description": "Maximum lines, keeping the newest. Defaults to 200.",
                          "type": "integer"
                        },
                        "pane_id": {
                          "description": "The pane to act on, such as %1. Every listing tool returns these.",
                          "type": "string"
                        }
                      },
                      "required": [
                        "pane_id"
                      ],
                      "type": "object"
                    },
                    "tool": {
                      "const": "snapshot_pane",
                      "type": "string"
                    }
                  },
                  "required": [
                    "tool"
                  ],
                  "type": "object"
                },
                {
                  "additionalProperties": false,
                  "properties": {
                    "arguments": {
                      "additionalProperties": false,
                      "properties": {
                        "max_lines": {
                          "default": 200,
                          "description": "Maximum matches across all panes. Defaults to 200.",
                          "type": "integer"
                        },
                        "max_matches_per_pane": {
                          "default": 5,
                          "description": "Maximum matching lines per pane. Defaults to 5.",
                          "type": "integer"
                        },
                        "pattern": {
                          "description": "The bounded text or regular expression to search for.",
                          "maxLength": 4096,
                          "type": "string"
                        },
                        "regex": {
                          "default": false,
                          "description": "Treat pattern as a regular expression. Defaults to false.",
                          "type": "boolean"
                        }
                      },
                      "required": [
                        "pattern"
                      ],
                      "type": "object"
                    },
                    "tool": {
                      "const": "search_panes",
                      "type": "string"
                    }
                  },
                  "required": [
                    "tool"
                  ],
                  "type": "object"
                },
                {
                  "additionalProperties": false,
                  "properties": {
                    "arguments": {
                      "additionalProperties": false,
                      "properties": {
                        "position": {
                          "description": "top-left, top-right, bottom-left or bottom-right.",
                          "type": "string"
                        },
                        "window_id": {
                          "description": "The window ID, such as @1.",
                          "type": "string"
                        }
                      },
                      "required": [
                        "window_id",
                        "position"
                      ],
                      "type": "object"
                    },
                    "tool": {
                      "const": "find_pane_by_position",
                      "type": "string"
                    }
                  },
                  "required": [
                    "tool"
                  ],
                  "type": "object"
                },
                {
                  "additionalProperties": false,
                  "properties": {
                    "arguments": {
                      "additionalProperties": false,
                      "properties": {
                        "names": {
                          "description": "One to thirty-two variable names matching [A-Za-z][A-Za-z0-9_]*. One value may be sent on its own, without a list.",
                          "items": {
                            "maxLength": 128,
                            "type": "string"
                          },
                          "maxItems": 32,
                          "type": [
                            "array",
                            "string"
                          ]
                        },
                        "pane": {
                          "description": "An optional pane context.",
                          "type": "string"
                        }
                      },
                      "required": [
                        "names"
                      ],
                      "type": "object"
                    },
                    "tool": {
                      "const": "get_tmux_variables",
                      "type": "string"
                    }
                  },
                  "required": [
                    "tool"
                  ],
                  "type": "object"
                },
                {
                  "additionalProperties": false,
                  "properties": {
                    "arguments": {
                      "additionalProperties": false,
                      "properties": {
                        "effective": {
                          "default": true,
                          "description": "Include an inherited value. Defaults to true.",
                          "type": "boolean"
                        },
                        "name": {
                          "description": "The exact option name.",
                          "type": "string"
                        },
                        "scope": {
                          "description": "global, server, session, window or pane.",
                          "type": "string"
                        },
                        "target": {
                          "description": "Required for session scope (an ID such as $1, or a name), window scope (@1) and pane scope (%1).",
                          "type": "string"
                        }
                      },
                      "required": [
                        "name"
                      ],
                      "type": "object"
                    },
                    "tool": {
                      "const": "show_option",
                      "type": "string"
                    }
                  },
                  "required": [
                    "tool"
                  ],
                  "type": "object"
                },
                {
                  "additionalProperties": false,
                  "properties": {
                    "arguments": {
                      "additionalProperties": false,
                      "properties": {
                        "session_id": {
                          "description": "A session, such as $1; omit both for the global environment.",
                          "type": "string"
                        },
                        "session_name": {
                          "description": "A session's exact name, in place of session_id.",
                          "type": "string"
                        }
                      },
                      "required": [],
                      "type": "object"
                    },
                    "tool": {
                      "const": "show_environment",
                      "type": "string"
                    }
                  },
                  "required": [
                    "tool"
                  ],
                  "type": "object"
                },
                {
                  "additionalProperties": false,
                  "properties": {
                    "arguments": {
                      "additionalProperties": false,
                      "properties": {
                        "name": {
                          "description": "One hook name; omit to read all hooks in the scope.",
                          "type": "string"
                        },
                        "scope": {
                          "description": "global, server, session, window or pane.",
                          "type": "string"
                        },
                        "target": {
                          "description": "Required for session scope (an ID such as $1, or a name), window scope (@1) and pane scope (%1).",
                          "type": "string"
                        }
                      },
                      "required": [],
                      "type": "object"
                    },
                    "tool": {
                      "const": "show_hooks",
                      "type": "string"
                    }
                  },
                  "required": [
                    "tool"
                  ],
                  "type": "object"
                }
              ]
            },
            "maxItems": 16,
            "minItems": 1,
            "type": "array"
          }
        },
        "required": [
          "operations"
        ],
        "type": "object"
      },
      "outputSchema": {
        "additionalProperties": false,
        "properties": {
          "failed": {
            "type": "integer"
          },
          "onError": {
            "type": "string"
          },
          "results": {
            "items": {
              "additionalProperties": false,
              "properties": {
                "error": {
                  "oneOf": [
                    {
                      "type": "string"
                    },
                    {
                      "type": "null"
                    }
                  ]
                },
                "index": {
                  "type": "integer"
                },
                "result": {
                  "oneOf": [
                    {
                      "additionalProperties": false,
                      "properties": {
                        "_meta": {
                          "type": "object"
                        },
                        "content": {
                          "items": {
                            "type": "object"
                          },
                          "type": "array"
                        },
                        "isError": {
                          "type": "boolean"
                        },
                        "structuredContent": {
                          "type": "object"
                        }
                      },
                      "required": [
                        "content",
                        "isError"
                      ],
                      "type": "object"
                    },
                    {
                      "type": "null"
                    }
                  ]
                },
                "resultTruncated": {
                  "type": "boolean"
                },
                "success": {
                  "type": "boolean"
                },
                "tool": {
                  "type": "string"
                }
              },
              "required": [
                "index",
                "tool",
                "success",
                "error",
                "result",
                "resultTruncated"
              ],
              "type": "object"
            },
            "type": "array"
          },
          "stoppedAt": {
            "oneOf": [
              {
                "type": "integer"
              },
              {
                "type": "null"
              }
            ]
          },
          "succeeded": {
            "type": "integer"
          },
          "truncated": {
            "type": "boolean"
          },
          "truncatedBytes": {
            "type": "integer"
          }
        },
        "required": [
          "results",
          "succeeded",
          "failed",
          "stoppedAt",
          "truncated",
          "truncatedBytes",
          "onError"
        ],
        "type": "object"
      },
      "annotations": {
        "destructiveHint": true,
        "idempotentHint": false,
        "openWorldHint": true,
        "readOnlyHint": false,
        "title": "Call read tools in a batch"
      },
      "meta": {
        "com.git-pull.libtmux-mcp/capability": {
          "amplifiesFutureInput": false,
          "annotations": {
            "destructiveHint": true,
            "idempotentHint": false,
            "openWorldHint": true,
            "readOnlyHint": false
          },
          "description": "Calls up to sixteen eligible inspect tools serially; inner tools receive no separate approval, and its nested authority is disclosed. The complete JSON-RPC response is capped at 1,000,000 bytes; a removed nested envelope is marked on its row and counted in truncatedBytes. Read pane output; accepts no client-supplied executable input. Returned content may be sensitive or untrusted.",
          "inputLiteralization": {},
          "inputSchema": {
            "additionalProperties": false,
            "properties": {
              "onError": {
                "description": "stop or continue; defaults to stop.",
                "enum": [
                  "stop",
                  "continue"
                ],
                "type": "string"
              },
              "operations": {
                "description": "Typed calls within the disclosed nested authority.",
                "items": {
                  "oneOf": [
                    {
                      "additionalProperties": false,
                      "properties": {
                        "arguments": {
                          "additionalProperties": false,
                          "properties": {},
                          "required": [],
                          "type": "object"
                        },
                        "tool": {
                          "const": "list_sessions",
                          "type": "string"
                        }
                      },
                      "required": [
                        "tool"
                      ],
                      "type": "object"
                    },
                    {
                      "additionalProperties": false,
                      "properties": {
                        "arguments": {
                          "additionalProperties": false,
                          "properties": {
                            "session_id": {
                              "description": "Only windows in this session, such as $1.",
                              "type": "string"
                            },
                            "session_name": {
                              "description": "Only windows in the session with this exact name.",
                              "type": "string"
                            }
                          },
                          "required": [],
                          "type": "object"
                        },
                        "tool": {
                          "const": "list_windows",
                          "type": "string"
                        }
                      },
                      "required": [
                        "tool"
                      ],
                      "type": "object"
                    },
                    {
                      "additionalProperties": false,
                      "properties": {
                        "arguments": {
                          "additionalProperties": false,
                          "properties": {},
                          "required": [],
                          "type": "object"
                        },
                        "tool": {
                          "const": "list_panes",
                          "type": "string"
                        }
                      },
                      "required": [
                        "tool"
                      ],
                      "type": "object"
                    },
                    {
                      "additionalProperties": false,
                      "properties": {
                        "arguments": {
                          "additionalProperties": false,
                          "properties": {},
                          "required": [],
                          "type": "object"
                        },
                        "tool": {
                          "const": "get_server_info",
                          "type": "string"
                        }
                      },
                      "required": [
                        "tool"
                      ],
                      "type": "object"
                    },
                    {
                      "additionalProperties": false,
                      "properties": {
                        "arguments": {
                          "additionalProperties": false,
                          "properties": {
                            "session_id": {
                              "description": "The session ID, such as $1.",
                              "type": "string"
                            }
                          },
                          "required": [
                            "session_id"
                          ],
                          "type": "object"
                        },
                        "tool": {
                          "const": "get_session_info",
                          "type": "string"
                        }
                      },
                      "required": [
                        "tool"
                      ],
                      "type": "object"
                    },
                    {
                      "additionalProperties": false,
                      "properties": {
                        "arguments": {
                          "additionalProperties": false,
                          "properties": {
                            "window_id": {
                              "description": "The window ID, such as @1.",
                              "type": "string"
                            }
                          },
                          "required": [
                            "window_id"
                          ],
                          "type": "object"
                        },
                        "tool": {
                          "const": "get_window_info",
                          "type": "string"
                        }
                      },
                      "required": [
                        "tool"
                      ],
                      "type": "object"
                    },
                    {
                      "additionalProperties": false,
                      "properties": {
                        "arguments": {
                          "additionalProperties": false,
                          "properties": {
                            "pane_id": {
                              "description": "The pane to act on, such as %1. Every listing tool returns these.",
                              "type": "string"
                            }
                          },
                          "required": [
                            "pane_id"
                          ],
                          "type": "object"
                        },
                        "tool": {
                          "const": "get_pane_info",
                          "type": "string"
                        }
                      },
                      "required": [
                        "tool"
                      ],
                      "type": "object"
                    },
                    {
                      "additionalProperties": false,
                      "properties": {
                        "arguments": {
                          "additionalProperties": false,
                          "properties": {
                            "history": {
                              "default": false,
                              "description": "Include scrollback rather than only the visible screen. Defaults to false.",
                              "type": "boolean"
                            },
                            "max_lines": {
                              "default": 200,
                              "description": "Maximum lines, keeping the newest. Defaults to 200.",
                              "type": "integer"
                            },
                            "pane_id": {
                              "description": "The pane to act on, such as %1. Every listing tool returns these.",
                              "type": "string"
                            }
                          },
                          "required": [
                            "pane_id"
                          ],
                          "type": "object"
                        },
                        "tool": {
                          "const": "capture_pane",
                          "type": "string"
                        }
                      },
                      "required": [
                        "tool"
                      ],
                      "type": "object"
                    },
                    {
                      "additionalProperties": false,
                      "properties": {
                        "arguments": {
                          "additionalProperties": false,
                          "properties": {
                            "cursor": {
                              "description": "A cursor returned by an earlier capture.",
                              "type": "string"
                            },
                            "max_lines": {
                              "default": 200,
                              "description": "Maximum new lines, keeping the newest. Defaults to 200.",
                              "type": "integer"
                            },
                            "pane_id": {
                              "description": "The pane to act on, such as %1. Every listing tool returns these.",
                              "type": "string"
                            }
                          },
                          "required": [
                            "pane_id"
                          ],
                          "type": "object"
                        },
                        "tool": {
                          "const": "capture_since",
                          "type": "string"
                        }
                      },
                      "required": [
                        "tool"
                      ],
                      "type": "object"
                    },
                    {
                      "additionalProperties": false,
                      "properties": {
                        "arguments": {
                          "additionalProperties": false,
                          "properties": {
                            "history": {
                              "default": false,
                              "description": "Include scrollback rather than only the visible screen. Defaults to false.",
                              "type": "boolean"
                            },
                            "max_lines": {
                              "default": 200,
                              "description": "Maximum lines, keeping the newest. Defaults to 200.",
                              "type": "integer"
                            },
                            "pane_id": {
                              "description": "The pane to act on, such as %1. Every listing tool returns these.",
                              "type": "string"
                            }
                          },
                          "required": [
                            "pane_id"
                          ],
                          "type": "object"
                        },
                        "tool": {
                          "const": "snapshot_pane",
                          "type": "string"
                        }
                      },
                      "required": [
                        "tool"
                      ],
                      "type": "object"
                    },
                    {
                      "additionalProperties": false,
                      "properties": {
                        "arguments": {
                          "additionalProperties": false,
                          "properties": {
                            "max_lines": {
                              "default": 200,
                              "description": "Maximum matches across all panes. Defaults to 200.",
                              "type": "integer"
                            },
                            "max_matches_per_pane": {
                              "default": 5,
                              "description": "Maximum matching lines per pane. Defaults to 5.",
                              "type": "integer"
                            },
                            "pattern": {
                              "description": "The bounded text or regular expression to search for.",
                              "maxLength": 4096,
                              "type": "string"
                            },
                            "regex": {
                              "default": false,
                              "description": "Treat pattern as a regular expression. Defaults to false.",
                              "type": "boolean"
                            }
                          },
                          "required": [
                            "pattern"
                          ],
                          "type": "object"
                        },
                        "tool": {
                          "const": "search_panes",
                          "type": "string"
                        }
                      },
                      "required": [
                        "tool"
                      ],
                      "type": "object"
                    },
                    {
                      "additionalProperties": false,
                      "properties": {
                        "arguments": {
                          "additionalProperties": false,
                          "properties": {
                            "position": {
                              "description": "top-left, top-right, bottom-left or bottom-right.",
                              "type": "string"
                            },
                            "window_id": {
                              "description": "The window ID, such as @1.",
                              "type": "string"
                            }
                          },
                          "required": [
                            "window_id",
                            "position"
                          ],
                          "type": "object"
                        },
                        "tool": {
                          "const": "find_pane_by_position",
                          "type": "string"
                        }
                      },
                      "required": [
                        "tool"
                      ],
                      "type": "object"
                    },
                    {
                      "additionalProperties": false,
                      "properties": {
                        "arguments": {
                          "additionalProperties": false,
                          "properties": {
                            "names": {
                              "description": "One to thirty-two variable names matching [A-Za-z][A-Za-z0-9_]*. One value may be sent on its own, without a list.",
                              "items": {
                                "maxLength": 128,
                                "type": "string"
                              },
                              "maxItems": 32,
                              "type": [
                                "array",
                                "string"
                              ]
                            },
                            "pane": {
                              "description": "An optional pane context.",
                              "type": "string"
                            }
                          },
                          "required": [
                            "names"
                          ],
                          "type": "object"
                        },
                        "tool": {
                          "const": "get_tmux_variables",
                          "type": "string"
                        }
                      },
                      "required": [
                        "tool"
                      ],
                      "type": "object"
                    },
                    {
                      "additionalProperties": false,
                      "properties": {
                        "arguments": {
                          "additionalProperties": false,
                          "properties": {
                            "effective": {
                              "default": true,
                              "description": "Include an inherited value. Defaults to true.",
                              "type": "boolean"
                            },
                            "name": {
                              "description": "The exact option name.",
                              "type": "string"
                            },
                            "scope": {
                              "description": "global, server, session, window or pane.",
                              "type": "string"
                            },
                            "target": {
                              "description": "Required for session scope (an ID such as $1, or a name), window scope (@1) and pane scope (%1).",
                              "type": "string"
                            }
                          },
                          "required": [
                            "name"
                          ],
                          "type": "object"
                        },
                        "tool": {
                          "const": "show_option",
                          "type": "string"
                        }
                      },
                      "required": [
                        "tool"
                      ],
                      "type": "object"
                    },
                    {
                      "additionalProperties": false,
                      "properties": {
                        "arguments": {
                          "additionalProperties": false,
                          "properties": {
                            "session_id": {
                              "description": "A session, such as $1; omit both for the global environment.",
                              "type": "string"
                            },
                            "session_name": {
                              "description": "A session's exact name, in place of session_id.",
                              "type": "string"
                            }
                          },
                          "required": [],
                          "type": "object"
                        },
                        "tool": {
                          "const": "show_environment",
                          "type": "string"
                        }
                      },
                      "required": [
                        "tool"
                      ],
                      "type": "object"
                    },
                    {
                      "additionalProperties": false,
                      "properties": {
                        "arguments": {
                          "additionalProperties": false,
                          "properties": {
                            "name": {
                              "description": "One hook name; omit to read all hooks in the scope.",
                              "type": "string"
                            },
                            "scope": {
                              "description": "global, server, session, window or pane.",
                              "type": "string"
                            },
                            "target": {
                              "description": "Required for session scope (an ID such as $1, or a name), window scope (@1) and pane scope (%1).",
                              "type": "string"
                            }
                          },
                          "required": [],
                          "type": "object"
                        },
                        "tool": {
                          "const": "show_hooks",
                          "type": "string"
                        }
                      },
                      "required": [
                        "tool"
                      ],
                      "type": "object"
                    }
                  ]
                },
                "maxItems": 16,
                "minItems": 1,
                "type": "array"
              }
            },
            "required": [
              "operations"
            ],
            "type": "object"
          },
          "mayExposeSecrets": true,
          "mayReturnUntrustedContent": true,
          "name": "call_read_tools_batch",
          "nestedAuthority": [
            "list_sessions",
            "list_windows",
            "list_panes",
            "get_server_info",
            "get_session_info",
            "get_window_info",
            "get_pane_info",
            "capture_pane",
            "capture_since",
            "snapshot_pane",
            "search_panes",
            "find_pane_by_position",
            "get_tmux_variables",
            "show_option",
            "show_environment",
            "show_hooks"
          ],
          "outputClasses": [
            "tmux-metadata",
            "terminal-content",
            "process-environment",
            "configured-command"
          ],
          "outputSchema": {
            "additionalProperties": false,
            "properties": {
              "failed": {
                "type": "integer"
              },
              "onError": {
                "type": "string"
              },
              "results": {
                "items": {
                  "additionalProperties": false,
                  "properties": {
                    "error": {
                      "oneOf": [
                        {
                          "type": "string"
                        },
                        {
                          "type": "null"
                        }
                      ]
                    },
                    "index": {
                      "type": "integer"
                    },
                    "result": {
                      "oneOf": [
                        {
                          "additionalProperties": false,
                          "properties": {
                            "_meta": {
                              "type": "object"
                            },
                            "content": {
                              "items": {
                                "type": "object"
                              },
                              "type": "array"
                            },
                            "isError": {
                              "type": "boolean"
                            },
                            "structuredContent": {
                              "type": "object"
                            }
                          },
                          "required": [
                            "content",
                            "isError"
                          ],
                          "type": "object"
                        },
                        {
                          "type": "null"
                        }
                      ]
                    },
                    "resultTruncated": {
                      "type": "boolean"
                    },
                    "success": {
                      "type": "boolean"
                    },
                    "tool": {
                      "type": "string"
                    }
                  },
                  "required": [
                    "index",
                    "tool",
                    "success",
                    "error",
                    "result",
                    "resultTruncated"
                  ],
                  "type": "object"
                },
                "type": "array"
              },
              "stoppedAt": {
                "oneOf": [
                  {
                    "type": "integer"
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "succeeded": {
                "type": "integer"
              },
              "truncated": {
                "type": "boolean"
              },
              "truncatedBytes": {
                "type": "integer"
              }
            },
            "required": [
              "results",
              "succeeded",
              "failed",
              "stoppedAt",
              "truncated",
              "truncatedBytes",
              "onError"
            ],
            "type": "object"
          },
          "processReach": "none",
          "title": "Call read tools in a batch",
          "tmuxEffects": [
            "observe"
          ],
          "toolset": "inspect"
        }
      }
    },
    {
      "name": "capture_pane",
      "wireName": "capture_pane",
      "source": {
        "repo": "libtmux/libtmux-java",
        "revision": "a0ecbc16da00140e2520462d478a2af470878272",
        "extractedRevision": "a0ecbc16da00140e2520462d478a2af470878272",
        "file": "libtmux-mcp/src/main/java/io/github/libtmux/mcp/InspectTools.java",
        "line": 134
      },
      "description": "Returns what a pane shows now, its newest lines first to go when bounded, and a cursor for capture_since. Use it to read a pane once. Read pane output; accepts no client-supplied executable input. Returned content may be sensitive or untrusted.",
      "schemaStatus": "runtime",
      "inputSchema": {
        "additionalProperties": false,
        "properties": {
          "history": {
            "default": false,
            "description": "Include scrollback rather than only the visible screen. Defaults to false.",
            "type": "boolean"
          },
          "max_lines": {
            "default": 200,
            "description": "Maximum lines, keeping the newest. Defaults to 200.",
            "type": "integer"
          },
          "pane_id": {
            "description": "The pane to act on, such as %1. Every listing tool returns these.",
            "type": "string"
          }
        },
        "required": [
          "pane_id"
        ],
        "type": "object"
      },
      "outputSchema": {
        "additionalProperties": false,
        "properties": {
          "content": {
            "items": {
              "type": "string"
            },
            "type": "array"
          },
          "cursor": {
            "type": "string"
          },
          "lines": {
            "type": "integer"
          },
          "lines_dropped": {
            "type": "integer"
          },
          "note": {
            "type": "string"
          },
          "pane_id": {
            "type": "string"
          },
          "truncated": {
            "type": "boolean"
          }
        },
        "required": [
          "pane_id",
          "lines",
          "content",
          "truncated",
          "lines_dropped",
          "cursor"
        ],
        "type": "object"
      },
      "annotations": {
        "destructiveHint": true,
        "idempotentHint": false,
        "openWorldHint": true,
        "readOnlyHint": false,
        "title": "Capture a pane"
      },
      "meta": {
        "com.git-pull.libtmux-mcp/capability": {
          "amplifiesFutureInput": false,
          "annotations": {
            "destructiveHint": true,
            "idempotentHint": false,
            "openWorldHint": true,
            "readOnlyHint": false
          },
          "description": "Returns what a pane shows now, its newest lines first to go when bounded, and a cursor for capture_since. Use it to read a pane once. Read pane output; accepts no client-supplied executable input. Returned content may be sensitive or untrusted.",
          "inputLiteralization": {},
          "inputSchema": {
            "additionalProperties": false,
            "properties": {
              "history": {
                "default": false,
                "description": "Include scrollback rather than only the visible screen. Defaults to false.",
                "type": "boolean"
              },
              "max_lines": {
                "default": 200,
                "description": "Maximum lines, keeping the newest. Defaults to 200.",
                "type": "integer"
              },
              "pane_id": {
                "description": "The pane to act on, such as %1. Every listing tool returns these.",
                "type": "string"
              }
            },
            "required": [
              "pane_id"
            ],
            "type": "object"
          },
          "mayExposeSecrets": true,
          "mayReturnUntrustedContent": true,
          "name": "capture_pane",
          "nestedAuthority": [],
          "outputClasses": [
            "tmux-metadata",
            "terminal-content"
          ],
          "outputSchema": {
            "additionalProperties": false,
            "properties": {
              "content": {
                "items": {
                  "type": "string"
                },
                "type": "array"
              },
              "cursor": {
                "type": "string"
              },
              "lines": {
                "type": "integer"
              },
              "lines_dropped": {
                "type": "integer"
              },
              "note": {
                "type": "string"
              },
              "pane_id": {
                "type": "string"
              },
              "truncated": {
                "type": "boolean"
              }
            },
            "required": [
              "pane_id",
              "lines",
              "content",
              "truncated",
              "lines_dropped",
              "cursor"
            ],
            "type": "object"
          },
          "processReach": "none",
          "title": "Capture a pane",
          "tmuxEffects": [
            "observe"
          ],
          "toolset": "inspect"
        }
      }
    },
    {
      "name": "capture_since",
      "wireName": "capture_since",
      "source": {
        "repo": "libtmux/libtmux-java",
        "revision": "a0ecbc16da00140e2520462d478a2af470878272",
        "extractedRevision": "a0ecbc16da00140e2520462d478a2af470878272",
        "file": "libtmux-mcp/src/main/java/io/github/libtmux/mcp/InspectTools.java",
        "line": 153
      },
      "description": "Returns only the output a pane produced after a cursor from capture_pane or an earlier capture_since. Use it to follow a pane across turns without rereading it. Read pane output; accepts no client-supplied executable input. Returned content may be sensitive or untrusted.",
      "schemaStatus": "runtime",
      "inputSchema": {
        "additionalProperties": false,
        "properties": {
          "cursor": {
            "description": "A cursor returned by an earlier capture.",
            "type": "string"
          },
          "max_lines": {
            "default": 200,
            "description": "Maximum new lines, keeping the newest. Defaults to 200.",
            "type": "integer"
          },
          "pane_id": {
            "description": "The pane to act on, such as %1. Every listing tool returns these.",
            "type": "string"
          }
        },
        "required": [
          "pane_id"
        ],
        "type": "object"
      },
      "outputSchema": {
        "additionalProperties": false,
        "properties": {
          "content": {
            "items": {
              "type": "string"
            },
            "type": "array"
          },
          "continuous": {
            "type": "boolean"
          },
          "cursor": {
            "type": "string"
          },
          "lines_dropped": {
            "type": "integer"
          },
          "new_lines": {
            "type": "integer"
          },
          "note": {
            "type": "string"
          },
          "pane_id": {
            "type": "string"
          },
          "truncated": {
            "type": "boolean"
          }
        },
        "required": [
          "pane_id",
          "new_lines",
          "content",
          "cursor",
          "continuous",
          "truncated",
          "lines_dropped"
        ],
        "type": "object"
      },
      "annotations": {
        "destructiveHint": true,
        "idempotentHint": false,
        "openWorldHint": true,
        "readOnlyHint": false,
        "title": "Capture new pane output"
      },
      "meta": {
        "com.git-pull.libtmux-mcp/capability": {
          "amplifiesFutureInput": false,
          "annotations": {
            "destructiveHint": true,
            "idempotentHint": false,
            "openWorldHint": true,
            "readOnlyHint": false
          },
          "description": "Returns only the output a pane produced after a cursor from capture_pane or an earlier capture_since. Use it to follow a pane across turns without rereading it. Read pane output; accepts no client-supplied executable input. Returned content may be sensitive or untrusted.",
          "inputLiteralization": {},
          "inputSchema": {
            "additionalProperties": false,
            "properties": {
              "cursor": {
                "description": "A cursor returned by an earlier capture.",
                "type": "string"
              },
              "max_lines": {
                "default": 200,
                "description": "Maximum new lines, keeping the newest. Defaults to 200.",
                "type": "integer"
              },
              "pane_id": {
                "description": "The pane to act on, such as %1. Every listing tool returns these.",
                "type": "string"
              }
            },
            "required": [
              "pane_id"
            ],
            "type": "object"
          },
          "mayExposeSecrets": true,
          "mayReturnUntrustedContent": true,
          "name": "capture_since",
          "nestedAuthority": [],
          "outputClasses": [
            "tmux-metadata",
            "terminal-content"
          ],
          "outputSchema": {
            "additionalProperties": false,
            "properties": {
              "content": {
                "items": {
                  "type": "string"
                },
                "type": "array"
              },
              "continuous": {
                "type": "boolean"
              },
              "cursor": {
                "type": "string"
              },
              "lines_dropped": {
                "type": "integer"
              },
              "new_lines": {
                "type": "integer"
              },
              "note": {
                "type": "string"
              },
              "pane_id": {
                "type": "string"
              },
              "truncated": {
                "type": "boolean"
              }
            },
            "required": [
              "pane_id",
              "new_lines",
              "content",
              "cursor",
              "continuous",
              "truncated",
              "lines_dropped"
            ],
            "type": "object"
          },
          "processReach": "none",
          "title": "Capture new pane output",
          "tmuxEffects": [
            "observe"
          ],
          "toolset": "inspect"
        }
      }
    },
    {
      "name": "clear_pane_scrollback",
      "wireName": "clear_pane_scrollback",
      "source": {
        "repo": "libtmux/libtmux-java",
        "revision": "a0ecbc16da00140e2520462d478a2af470878272",
        "extractedRevision": "a0ecbc16da00140e2520462d478a2af470878272",
        "file": "libtmux-mcp/src/main/java/io/github/libtmux/mcp/TeardownTools.java",
        "line": 25
      },
      "description": "Deletes retained scrollback from one pane. Delete tmux state; accepts no command payload.",
      "schemaStatus": "runtime",
      "inputSchema": {
        "additionalProperties": false,
        "properties": {
          "pane_id": {
            "description": "The pane to act on, such as %1. Every listing tool returns these.",
            "type": "string"
          }
        },
        "required": [
          "pane_id"
        ],
        "type": "object"
      },
      "outputSchema": {
        "additionalProperties": false,
        "properties": {
          "cleared": {
            "type": "boolean"
          },
          "pane_id": {
            "type": "string"
          }
        },
        "required": [
          "pane_id",
          "cleared"
        ],
        "type": "object"
      },
      "annotations": {
        "destructiveHint": true,
        "idempotentHint": false,
        "openWorldHint": true,
        "readOnlyHint": false,
        "title": "Clear pane scrollback"
      },
      "meta": {
        "com.git-pull.libtmux-mcp/capability": {
          "amplifiesFutureInput": false,
          "annotations": {
            "destructiveHint": true,
            "idempotentHint": false,
            "openWorldHint": true,
            "readOnlyHint": false
          },
          "description": "Deletes retained scrollback from one pane. Delete tmux state; accepts no command payload.",
          "inputLiteralization": {},
          "inputSchema": {
            "additionalProperties": false,
            "properties": {
              "pane_id": {
                "description": "The pane to act on, such as %1. Every listing tool returns these.",
                "type": "string"
              }
            },
            "required": [
              "pane_id"
            ],
            "type": "object"
          },
          "mayExposeSecrets": false,
          "mayReturnUntrustedContent": false,
          "name": "clear_pane_scrollback",
          "nestedAuthority": [],
          "outputClasses": [
            "tmux-metadata"
          ],
          "outputSchema": {
            "additionalProperties": false,
            "properties": {
              "cleared": {
                "type": "boolean"
              },
              "pane_id": {
                "type": "string"
              }
            },
            "required": [
              "pane_id",
              "cleared"
            ],
            "type": "object"
          },
          "processReach": "none",
          "title": "Clear pane scrollback",
          "tmuxEffects": [
            "delete"
          ],
          "toolset": "teardown"
        }
      }
    },
    {
      "name": "create_session",
      "wireName": "create_session",
      "source": {
        "repo": "libtmux/libtmux-java",
        "revision": "a0ecbc16da00140e2520462d478a2af470878272",
        "extractedRevision": "a0ecbc16da00140e2520462d478a2af470878272",
        "file": "libtmux-mcp/src/main/java/io/github/libtmux/mcp/ExecuteTools.java",
        "line": 39
      },
      "description": "Creates a detached session whose first pane runs the configured process. Start a pane's configured process; accepts no command payload.",
      "schemaStatus": "runtime",
      "inputSchema": {
        "additionalProperties": false,
        "properties": {
          "height": {
            "default": -1,
            "description": "Initial height; supply with width. Defaults to -1.",
            "type": "integer"
          },
          "session_name": {
            "description": "A literal session name.",
            "type": "string"
          },
          "start_directory": {
            "description": "An absolute literal start directory.",
            "type": "string"
          },
          "width": {
            "default": -1,
            "description": "Initial width; supply with height. Defaults to -1.",
            "type": "integer"
          },
          "window_name": {
            "description": "A literal first-window name.",
            "type": "string"
          }
        },
        "required": [],
        "type": "object"
      },
      "outputSchema": {
        "additionalProperties": false,
        "properties": {
          "attached": {
            "type": "boolean"
          },
          "id": {
            "type": "string"
          },
          "name": {
            "type": "string"
          },
          "windows": {
            "type": "integer"
          }
        },
        "required": [
          "id",
          "name",
          "attached",
          "windows"
        ],
        "type": "object"
      },
      "annotations": {
        "destructiveHint": true,
        "idempotentHint": false,
        "openWorldHint": true,
        "readOnlyHint": false,
        "title": "Create a session"
      },
      "meta": {
        "com.git-pull.libtmux-mcp/capability": {
          "amplifiesFutureInput": false,
          "annotations": {
            "destructiveHint": true,
            "idempotentHint": false,
            "openWorldHint": true,
            "readOnlyHint": false
          },
          "description": "Creates a detached session whose first pane runs the configured process. Start a pane's configured process; accepts no command payload.",
          "inputLiteralization": {
            "session_name": "double-hash-once",
            "start_directory": "double-hash-once",
            "window_name": "double-hash-once"
          },
          "inputSchema": {
            "additionalProperties": false,
            "properties": {
              "height": {
                "default": -1,
                "description": "Initial height; supply with width. Defaults to -1.",
                "type": "integer"
              },
              "session_name": {
                "description": "A literal session name.",
                "type": "string"
              },
              "start_directory": {
                "description": "An absolute literal start directory.",
                "type": "string"
              },
              "width": {
                "default": -1,
                "description": "Initial width; supply with height. Defaults to -1.",
                "type": "integer"
              },
              "window_name": {
                "description": "A literal first-window name.",
                "type": "string"
              }
            },
            "required": [],
            "type": "object"
          },
          "mayExposeSecrets": true,
          "mayReturnUntrustedContent": true,
          "name": "create_session",
          "nestedAuthority": [],
          "outputClasses": [
            "tmux-metadata"
          ],
          "outputSchema": {
            "additionalProperties": false,
            "properties": {
              "attached": {
                "type": "boolean"
              },
              "id": {
                "type": "string"
              },
              "name": {
                "type": "string"
              },
              "windows": {
                "type": "integer"
              }
            },
            "required": [
              "id",
              "name",
              "attached",
              "windows"
            ],
            "type": "object"
          },
          "processReach": "configured-process",
          "title": "Create a session",
          "tmuxEffects": [
            "observe",
            "change"
          ],
          "toolset": "execute"
        }
      }
    },
    {
      "name": "create_window",
      "wireName": "create_window",
      "source": {
        "repo": "libtmux/libtmux-java",
        "revision": "a0ecbc16da00140e2520462d478a2af470878272",
        "extractedRevision": "a0ecbc16da00140e2520462d478a2af470878272",
        "file": "libtmux-mcp/src/main/java/io/github/libtmux/mcp/ExecuteTools.java",
        "line": 67
      },
      "description": "Creates a window whose first pane runs the configured process. Start a pane's configured process; accepts no command payload.",
      "schemaStatus": "runtime",
      "inputSchema": {
        "additionalProperties": false,
        "properties": {
          "attach": {
            "default": false,
            "description": "Make the new window active. Defaults to false.",
            "type": "boolean"
          },
          "direction": {
            "description": "before or after.",
            "type": "string"
          },
          "session_id": {
            "description": "The session ID, such as $1.",
            "type": "string"
          },
          "start_directory": {
            "description": "An absolute literal start directory.",
            "type": "string"
          },
          "window_name": {
            "description": "A literal window name.",
            "type": "string"
          }
        },
        "required": [
          "session_id"
        ],
        "type": "object"
      },
      "outputSchema": {
        "additionalProperties": false,
        "properties": {
          "active": {
            "type": "boolean"
          },
          "id": {
            "type": "string"
          },
          "index": {
            "type": "integer"
          },
          "name": {
            "type": "string"
          },
          "panes": {
            "type": "integer"
          },
          "session_id": {
            "type": "string"
          },
          "size": {
            "type": "string"
          }
        },
        "required": [
          "id",
          "index",
          "name",
          "session_id",
          "active",
          "panes",
          "size"
        ],
        "type": "object"
      },
      "annotations": {
        "destructiveHint": true,
        "idempotentHint": false,
        "openWorldHint": true,
        "readOnlyHint": false,
        "title": "Create a window"
      },
      "meta": {
        "com.git-pull.libtmux-mcp/capability": {
          "amplifiesFutureInput": false,
          "annotations": {
            "destructiveHint": true,
            "idempotentHint": false,
            "openWorldHint": true,
            "readOnlyHint": false
          },
          "description": "Creates a window whose first pane runs the configured process. Start a pane's configured process; accepts no command payload.",
          "inputLiteralization": {
            "start_directory": "double-hash-once",
            "window_name": "double-hash-once"
          },
          "inputSchema": {
            "additionalProperties": false,
            "properties": {
              "attach": {
                "default": false,
                "description": "Make the new window active. Defaults to false.",
                "type": "boolean"
              },
              "direction": {
                "description": "before or after.",
                "type": "string"
              },
              "session_id": {
                "description": "The session ID, such as $1.",
                "type": "string"
              },
              "start_directory": {
                "description": "An absolute literal start directory.",
                "type": "string"
              },
              "window_name": {
                "description": "A literal window name.",
                "type": "string"
              }
            },
            "required": [
              "session_id"
            ],
            "type": "object"
          },
          "mayExposeSecrets": true,
          "mayReturnUntrustedContent": true,
          "name": "create_window",
          "nestedAuthority": [],
          "outputClasses": [
            "tmux-metadata"
          ],
          "outputSchema": {
            "additionalProperties": false,
            "properties": {
              "active": {
                "type": "boolean"
              },
              "id": {
                "type": "string"
              },
              "index": {
                "type": "integer"
              },
              "name": {
                "type": "string"
              },
              "panes": {
                "type": "integer"
              },
              "session_id": {
                "type": "string"
              },
              "size": {
                "type": "string"
              }
            },
            "required": [
              "id",
              "index",
              "name",
              "session_id",
              "active",
              "panes",
              "size"
            ],
            "type": "object"
          },
          "processReach": "configured-process",
          "title": "Create a window",
          "tmuxEffects": [
            "observe",
            "change"
          ],
          "toolset": "execute"
        }
      }
    },
    {
      "name": "find_pane_by_position",
      "wireName": "find_pane_by_position",
      "source": {
        "repo": "libtmux/libtmux-java",
        "revision": "a0ecbc16da00140e2520462d478a2af470878272",
        "extractedRevision": "a0ecbc16da00140e2520462d478a2af470878272",
        "file": "libtmux-mcp/src/main/java/io/github/libtmux/mcp/InspectTools.java",
        "line": 219
      },
      "description": "Finds a pane at one of a window's four corners. Inspect tmux metadata; accepts no client-supplied executable input.",
      "schemaStatus": "runtime",
      "inputSchema": {
        "additionalProperties": false,
        "properties": {
          "position": {
            "description": "top-left, top-right, bottom-left or bottom-right.",
            "type": "string"
          },
          "window_id": {
            "description": "The window ID, such as @1.",
            "type": "string"
          }
        },
        "required": [
          "window_id",
          "position"
        ],
        "type": "object"
      },
      "outputSchema": {
        "additionalProperties": false,
        "properties": {
          "active": {
            "type": "boolean"
          },
          "command": {
            "type": "string"
          },
          "id": {
            "type": "string"
          },
          "index": {
            "type": "integer"
          },
          "path": {
            "type": "string"
          },
          "session_id": {
            "type": "string"
          },
          "size": {
            "type": "string"
          },
          "title": {
            "type": "string"
          },
          "window_id": {
            "type": "string"
          }
        },
        "required": [
          "id",
          "index",
          "window_id",
          "session_id",
          "active",
          "command",
          "path",
          "title",
          "size"
        ],
        "type": "object"
      },
      "annotations": {
        "destructiveHint": true,
        "idempotentHint": false,
        "openWorldHint": true,
        "readOnlyHint": false,
        "title": "Find pane by position"
      },
      "meta": {
        "com.git-pull.libtmux-mcp/capability": {
          "amplifiesFutureInput": false,
          "annotations": {
            "destructiveHint": true,
            "idempotentHint": false,
            "openWorldHint": true,
            "readOnlyHint": false
          },
          "description": "Finds a pane at one of a window's four corners. Inspect tmux metadata; accepts no client-supplied executable input.",
          "inputLiteralization": {},
          "inputSchema": {
            "additionalProperties": false,
            "properties": {
              "position": {
                "description": "top-left, top-right, bottom-left or bottom-right.",
                "type": "string"
              },
              "window_id": {
                "description": "The window ID, such as @1.",
                "type": "string"
              }
            },
            "required": [
              "window_id",
              "position"
            ],
            "type": "object"
          },
          "mayExposeSecrets": true,
          "mayReturnUntrustedContent": true,
          "name": "find_pane_by_position",
          "nestedAuthority": [],
          "outputClasses": [
            "tmux-metadata"
          ],
          "outputSchema": {
            "additionalProperties": false,
            "properties": {
              "active": {
                "type": "boolean"
              },
              "command": {
                "type": "string"
              },
              "id": {
                "type": "string"
              },
              "index": {
                "type": "integer"
              },
              "path": {
                "type": "string"
              },
              "session_id": {
                "type": "string"
              },
              "size": {
                "type": "string"
              },
              "title": {
                "type": "string"
              },
              "window_id": {
                "type": "string"
              }
            },
            "required": [
              "id",
              "index",
              "window_id",
              "session_id",
              "active",
              "command",
              "path",
              "title",
              "size"
            ],
            "type": "object"
          },
          "processReach": "none",
          "title": "Find pane by position",
          "tmuxEffects": [
            "observe"
          ],
          "toolset": "inspect"
        }
      }
    },
    {
      "name": "get_pane_info",
      "wireName": "get_pane_info",
      "source": {
        "repo": "libtmux/libtmux-java",
        "revision": "a0ecbc16da00140e2520462d478a2af470878272",
        "extractedRevision": "a0ecbc16da00140e2520462d478a2af470878272",
        "file": "libtmux-mcp/src/main/java/io/github/libtmux/mcp/InspectTools.java",
        "line": 117
      },
      "description": "Returns metadata for one pane. Inspect tmux metadata; accepts no client-supplied executable input.",
      "schemaStatus": "runtime",
      "inputSchema": {
        "additionalProperties": false,
        "properties": {
          "pane_id": {
            "description": "The pane to act on, such as %1. Every listing tool returns these.",
            "type": "string"
          }
        },
        "required": [
          "pane_id"
        ],
        "type": "object"
      },
      "outputSchema": {
        "additionalProperties": false,
        "properties": {
          "active": {
            "type": "boolean"
          },
          "command": {
            "type": "string"
          },
          "id": {
            "type": "string"
          },
          "index": {
            "type": "integer"
          },
          "path": {
            "type": "string"
          },
          "session_id": {
            "type": "string"
          },
          "size": {
            "type": "string"
          },
          "title": {
            "type": "string"
          },
          "window_id": {
            "type": "string"
          }
        },
        "required": [
          "id",
          "index",
          "window_id",
          "session_id",
          "active",
          "command",
          "path",
          "title",
          "size"
        ],
        "type": "object"
      },
      "annotations": {
        "destructiveHint": true,
        "idempotentHint": false,
        "openWorldHint": true,
        "readOnlyHint": false,
        "title": "Get pane info"
      },
      "meta": {
        "com.git-pull.libtmux-mcp/capability": {
          "amplifiesFutureInput": false,
          "annotations": {
            "destructiveHint": true,
            "idempotentHint": false,
            "openWorldHint": true,
            "readOnlyHint": false
          },
          "description": "Returns metadata for one pane. Inspect tmux metadata; accepts no client-supplied executable input.",
          "inputLiteralization": {},
          "inputSchema": {
            "additionalProperties": false,
            "properties": {
              "pane_id": {
                "description": "The pane to act on, such as %1. Every listing tool returns these.",
                "type": "string"
              }
            },
            "required": [
              "pane_id"
            ],
            "type": "object"
          },
          "mayExposeSecrets": true,
          "mayReturnUntrustedContent": true,
          "name": "get_pane_info",
          "nestedAuthority": [],
          "outputClasses": [
            "tmux-metadata"
          ],
          "outputSchema": {
            "additionalProperties": false,
            "properties": {
              "active": {
                "type": "boolean"
              },
              "command": {
                "type": "string"
              },
              "id": {
                "type": "string"
              },
              "index": {
                "type": "integer"
              },
              "path": {
                "type": "string"
              },
              "session_id": {
                "type": "string"
              },
              "size": {
                "type": "string"
              },
              "title": {
                "type": "string"
              },
              "window_id": {
                "type": "string"
              }
            },
            "required": [
              "id",
              "index",
              "window_id",
              "session_id",
              "active",
              "command",
              "path",
              "title",
              "size"
            ],
            "type": "object"
          },
          "processReach": "none",
          "title": "Get pane info",
          "tmuxEffects": [
            "observe"
          ],
          "toolset": "inspect"
        }
      }
    },
    {
      "name": "get_server_info",
      "wireName": "get_server_info",
      "source": {
        "repo": "libtmux/libtmux-java",
        "revision": "a0ecbc16da00140e2520462d478a2af470878272",
        "extractedRevision": "a0ecbc16da00140e2520462d478a2af470878272",
        "file": "libtmux-mcp/src/main/java/io/github/libtmux/mcp/InspectTools.java",
        "line": 89
      },
      "description": "Reports whether the pinned server exists and its version. Inspect tmux metadata; accepts no client-supplied executable input.",
      "schemaStatus": "runtime",
      "inputSchema": {
        "additionalProperties": false,
        "properties": {},
        "required": [],
        "type": "object"
      },
      "outputSchema": {
        "additionalProperties": false,
        "properties": {
          "identity": {
            "type": "string"
          },
          "running": {
            "type": "boolean"
          },
          "sessions": {
            "type": "integer"
          },
          "version": {
            "type": "string"
          }
        },
        "required": [
          "running",
          "identity",
          "version",
          "sessions"
        ],
        "type": "object"
      },
      "annotations": {
        "destructiveHint": true,
        "idempotentHint": false,
        "openWorldHint": true,
        "readOnlyHint": false,
        "title": "Get server info"
      },
      "meta": {
        "com.git-pull.libtmux-mcp/capability": {
          "amplifiesFutureInput": false,
          "annotations": {
            "destructiveHint": true,
            "idempotentHint": false,
            "openWorldHint": true,
            "readOnlyHint": false
          },
          "description": "Reports whether the pinned server exists and its version. Inspect tmux metadata; accepts no client-supplied executable input.",
          "inputLiteralization": {},
          "inputSchema": {
            "additionalProperties": false,
            "properties": {},
            "required": [],
            "type": "object"
          },
          "mayExposeSecrets": true,
          "mayReturnUntrustedContent": true,
          "name": "get_server_info",
          "nestedAuthority": [],
          "outputClasses": [
            "tmux-metadata"
          ],
          "outputSchema": {
            "additionalProperties": false,
            "properties": {
              "identity": {
                "type": "string"
              },
              "running": {
                "type": "boolean"
              },
              "sessions": {
                "type": "integer"
              },
              "version": {
                "type": "string"
              }
            },
            "required": [
              "running",
              "identity",
              "version",
              "sessions"
            ],
            "type": "object"
          },
          "processReach": "none",
          "title": "Get server info",
          "tmuxEffects": [
            "observe"
          ],
          "toolset": "inspect"
        }
      }
    },
    {
      "name": "get_session_info",
      "wireName": "get_session_info",
      "source": {
        "repo": "libtmux/libtmux-java",
        "revision": "a0ecbc16da00140e2520462d478a2af470878272",
        "extractedRevision": "a0ecbc16da00140e2520462d478a2af470878272",
        "file": "libtmux-mcp/src/main/java/io/github/libtmux/mcp/InspectTools.java",
        "line": 101
      },
      "description": "Returns metadata for one session. Inspect tmux metadata; accepts no client-supplied executable input.",
      "schemaStatus": "runtime",
      "inputSchema": {
        "additionalProperties": false,
        "properties": {
          "session_id": {
            "description": "The session ID, such as $1.",
            "type": "string"
          }
        },
        "required": [
          "session_id"
        ],
        "type": "object"
      },
      "outputSchema": {
        "additionalProperties": false,
        "properties": {
          "attached": {
            "type": "boolean"
          },
          "id": {
            "type": "string"
          },
          "name": {
            "type": "string"
          },
          "windows": {
            "type": "integer"
          }
        },
        "required": [
          "id",
          "name",
          "attached",
          "windows"
        ],
        "type": "object"
      },
      "annotations": {
        "destructiveHint": true,
        "idempotentHint": false,
        "openWorldHint": true,
        "readOnlyHint": false,
        "title": "Get session info"
      },
      "meta": {
        "com.git-pull.libtmux-mcp/capability": {
          "amplifiesFutureInput": false,
          "annotations": {
            "destructiveHint": true,
            "idempotentHint": false,
            "openWorldHint": true,
            "readOnlyHint": false
          },
          "description": "Returns metadata for one session. Inspect tmux metadata; accepts no client-supplied executable input.",
          "inputLiteralization": {},
          "inputSchema": {
            "additionalProperties": false,
            "properties": {
              "session_id": {
                "description": "The session ID, such as $1.",
                "type": "string"
              }
            },
            "required": [
              "session_id"
            ],
            "type": "object"
          },
          "mayExposeSecrets": true,
          "mayReturnUntrustedContent": true,
          "name": "get_session_info",
          "nestedAuthority": [],
          "outputClasses": [
            "tmux-metadata"
          ],
          "outputSchema": {
            "additionalProperties": false,
            "properties": {
              "attached": {
                "type": "boolean"
              },
              "id": {
                "type": "string"
              },
              "name": {
                "type": "string"
              },
              "windows": {
                "type": "integer"
              }
            },
            "required": [
              "id",
              "name",
              "attached",
              "windows"
            ],
            "type": "object"
          },
          "processReach": "none",
          "title": "Get session info",
          "tmuxEffects": [
            "observe"
          ],
          "toolset": "inspect"
        }
      }
    },
    {
      "name": "get_tmux_variables",
      "wireName": "get_tmux_variables",
      "source": {
        "repo": "libtmux/libtmux-java",
        "revision": "a0ecbc16da00140e2520462d478a2af470878272",
        "extractedRevision": "a0ecbc16da00140e2520462d478a2af470878272",
        "file": "libtmux-mcp/src/main/java/io/github/libtmux/mcp/InspectTools.java",
        "line": 272
      },
      "description": "Reads a capped list of validated tmux variable names, not free-form formats. Read configured tmux commands; accepts no client-supplied executable input. Returned values may contain executable configuration.",
      "schemaStatus": "runtime",
      "inputSchema": {
        "additionalProperties": false,
        "properties": {
          "names": {
            "description": "One to thirty-two variable names matching [A-Za-z][A-Za-z0-9_]*. One value may be sent on its own, without a list.",
            "items": {
              "maxLength": 128,
              "type": "string"
            },
            "maxItems": 32,
            "type": [
              "array",
              "string"
            ]
          },
          "pane": {
            "description": "An optional pane context.",
            "type": "string"
          }
        },
        "required": [
          "names"
        ],
        "type": "object"
      },
      "outputSchema": {
        "additionalProperties": false,
        "properties": {
          "values": {
            "type": "object"
          }
        },
        "required": [
          "values"
        ],
        "type": "object"
      },
      "annotations": {
        "destructiveHint": true,
        "idempotentHint": false,
        "openWorldHint": true,
        "readOnlyHint": false,
        "title": "Get tmux variables"
      },
      "meta": {
        "com.git-pull.libtmux-mcp/capability": {
          "amplifiesFutureInput": false,
          "annotations": {
            "destructiveHint": true,
            "idempotentHint": false,
            "openWorldHint": true,
            "readOnlyHint": false
          },
          "description": "Reads a capped list of validated tmux variable names, not free-form formats. Read configured tmux commands; accepts no client-supplied executable input. Returned values may contain executable configuration.",
          "inputLiteralization": {
            "names": "validated-variable-name"
          },
          "inputSchema": {
            "additionalProperties": false,
            "properties": {
              "names": {
                "description": "One to thirty-two variable names matching [A-Za-z][A-Za-z0-9_]*. One value may be sent on its own, without a list.",
                "items": {
                  "maxLength": 128,
                  "type": "string"
                },
                "maxItems": 32,
                "type": [
                  "array",
                  "string"
                ]
              },
              "pane": {
                "description": "An optional pane context.",
                "type": "string"
              }
            },
            "required": [
              "names"
            ],
            "type": "object"
          },
          "mayExposeSecrets": true,
          "mayReturnUntrustedContent": true,
          "name": "get_tmux_variables",
          "nestedAuthority": [],
          "outputClasses": [
            "tmux-metadata",
            "configured-command"
          ],
          "outputSchema": {
            "additionalProperties": false,
            "properties": {
              "values": {
                "type": "object"
              }
            },
            "required": [
              "values"
            ],
            "type": "object"
          },
          "processReach": "none",
          "title": "Get tmux variables",
          "tmuxEffects": [
            "observe"
          ],
          "toolset": "inspect"
        }
      }
    },
    {
      "name": "get_window_info",
      "wireName": "get_window_info",
      "source": {
        "repo": "libtmux/libtmux-java",
        "revision": "a0ecbc16da00140e2520462d478a2af470878272",
        "extractedRevision": "a0ecbc16da00140e2520462d478a2af470878272",
        "file": "libtmux-mcp/src/main/java/io/github/libtmux/mcp/InspectTools.java",
        "line": 109
      },
      "description": "Returns metadata for one window. Inspect tmux metadata; accepts no client-supplied executable input.",
      "schemaStatus": "runtime",
      "inputSchema": {
        "additionalProperties": false,
        "properties": {
          "window_id": {
            "description": "The window ID, such as @1.",
            "type": "string"
          }
        },
        "required": [
          "window_id"
        ],
        "type": "object"
      },
      "outputSchema": {
        "additionalProperties": false,
        "properties": {
          "active": {
            "type": "boolean"
          },
          "id": {
            "type": "string"
          },
          "index": {
            "type": "integer"
          },
          "name": {
            "type": "string"
          },
          "panes": {
            "type": "integer"
          },
          "session_id": {
            "type": "string"
          },
          "size": {
            "type": "string"
          }
        },
        "required": [
          "id",
          "index",
          "name",
          "session_id",
          "active",
          "panes",
          "size"
        ],
        "type": "object"
      },
      "annotations": {
        "destructiveHint": true,
        "idempotentHint": false,
        "openWorldHint": true,
        "readOnlyHint": false,
        "title": "Get window info"
      },
      "meta": {
        "com.git-pull.libtmux-mcp/capability": {
          "amplifiesFutureInput": false,
          "annotations": {
            "destructiveHint": true,
            "idempotentHint": false,
            "openWorldHint": true,
            "readOnlyHint": false
          },
          "description": "Returns metadata for one window. Inspect tmux metadata; accepts no client-supplied executable input.",
          "inputLiteralization": {},
          "inputSchema": {
            "additionalProperties": false,
            "properties": {
              "window_id": {
                "description": "The window ID, such as @1.",
                "type": "string"
              }
            },
            "required": [
              "window_id"
            ],
            "type": "object"
          },
          "mayExposeSecrets": true,
          "mayReturnUntrustedContent": true,
          "name": "get_window_info",
          "nestedAuthority": [],
          "outputClasses": [
            "tmux-metadata"
          ],
          "outputSchema": {
            "additionalProperties": false,
            "properties": {
              "active": {
                "type": "boolean"
              },
              "id": {
                "type": "string"
              },
              "index": {
                "type": "integer"
              },
              "name": {
                "type": "string"
              },
              "panes": {
                "type": "integer"
              },
              "session_id": {
                "type": "string"
              },
              "size": {
                "type": "string"
              }
            },
            "required": [
              "id",
              "index",
              "name",
              "session_id",
              "active",
              "panes",
              "size"
            ],
            "type": "object"
          },
          "processReach": "none",
          "title": "Get window info",
          "tmuxEffects": [
            "observe"
          ],
          "toolset": "inspect"
        }
      }
    },
    {
      "name": "kill_pane",
      "wireName": "kill_pane",
      "source": {
        "repo": "libtmux/libtmux-java",
        "revision": "a0ecbc16da00140e2520462d478a2af470878272",
        "extractedRevision": "a0ecbc16da00140e2520462d478a2af470878272",
        "file": "libtmux-mcp/src/main/java/io/github/libtmux/mcp/TeardownTools.java",
        "line": 33
      },
      "description": "Deletes one pane and ends its process. Delete tmux state; accepts no command payload.",
      "schemaStatus": "runtime",
      "inputSchema": {
        "additionalProperties": false,
        "properties": {
          "confirm_self": {
            "default": false,
            "description": "Permit ending the pane this MCP process runs in. Defaults to false.",
            "type": "boolean"
          },
          "pane_id": {
            "description": "The pane ID, such as %1.",
            "type": "string"
          }
        },
        "required": [
          "pane_id"
        ],
        "type": "object"
      },
      "outputSchema": {
        "additionalProperties": false,
        "properties": {
          "id": {
            "type": "string"
          },
          "kind": {
            "type": "string"
          },
          "note": {
            "type": "string"
          }
        },
        "required": [
          "kind",
          "id"
        ],
        "type": "object"
      },
      "annotations": {
        "destructiveHint": true,
        "idempotentHint": false,
        "openWorldHint": true,
        "readOnlyHint": false,
        "title": "Kill a pane"
      },
      "meta": {
        "com.git-pull.libtmux-mcp/capability": {
          "amplifiesFutureInput": false,
          "annotations": {
            "destructiveHint": true,
            "idempotentHint": false,
            "openWorldHint": true,
            "readOnlyHint": false
          },
          "description": "Deletes one pane and ends its process. Delete tmux state; accepts no command payload.",
          "inputLiteralization": {},
          "inputSchema": {
            "additionalProperties": false,
            "properties": {
              "confirm_self": {
                "default": false,
                "description": "Permit ending the pane this MCP process runs in. Defaults to false.",
                "type": "boolean"
              },
              "pane_id": {
                "description": "The pane ID, such as %1.",
                "type": "string"
              }
            },
            "required": [
              "pane_id"
            ],
            "type": "object"
          },
          "mayExposeSecrets": false,
          "mayReturnUntrustedContent": false,
          "name": "kill_pane",
          "nestedAuthority": [],
          "outputClasses": [
            "tmux-metadata"
          ],
          "outputSchema": {
            "additionalProperties": false,
            "properties": {
              "id": {
                "type": "string"
              },
              "kind": {
                "type": "string"
              },
              "note": {
                "type": "string"
              }
            },
            "required": [
              "kind",
              "id"
            ],
            "type": "object"
          },
          "processReach": "none",
          "title": "Kill a pane",
          "tmuxEffects": [
            "observe",
            "delete"
          ],
          "toolset": "teardown"
        }
      }
    },
    {
      "name": "kill_session",
      "wireName": "kill_session",
      "source": {
        "repo": "libtmux/libtmux-java",
        "revision": "a0ecbc16da00140e2520462d478a2af470878272",
        "extractedRevision": "a0ecbc16da00140e2520462d478a2af470878272",
        "file": "libtmux-mcp/src/main/java/io/github/libtmux/mcp/TeardownTools.java",
        "line": 52
      },
      "description": "Deletes one session and every window and pane in it. Delete tmux state; accepts no command payload.",
      "schemaStatus": "runtime",
      "inputSchema": {
        "additionalProperties": false,
        "properties": {
          "confirm_self": {
            "default": false,
            "description": "Permit ending the pane this MCP process runs in. Defaults to false.",
            "type": "boolean"
          },
          "session_id": {
            "description": "The session ID, such as $1.",
            "type": "string"
          }
        },
        "required": [
          "session_id"
        ],
        "type": "object"
      },
      "outputSchema": {
        "additionalProperties": false,
        "properties": {
          "id": {
            "type": "string"
          },
          "kind": {
            "type": "string"
          },
          "note": {
            "type": "string"
          }
        },
        "required": [
          "kind",
          "id"
        ],
        "type": "object"
      },
      "annotations": {
        "destructiveHint": true,
        "idempotentHint": false,
        "openWorldHint": true,
        "readOnlyHint": false,
        "title": "Kill a session"
      },
      "meta": {
        "com.git-pull.libtmux-mcp/capability": {
          "amplifiesFutureInput": false,
          "annotations": {
            "destructiveHint": true,
            "idempotentHint": false,
            "openWorldHint": true,
            "readOnlyHint": false
          },
          "description": "Deletes one session and every window and pane in it. Delete tmux state; accepts no command payload.",
          "inputLiteralization": {},
          "inputSchema": {
            "additionalProperties": false,
            "properties": {
              "confirm_self": {
                "default": false,
                "description": "Permit ending the pane this MCP process runs in. Defaults to false.",
                "type": "boolean"
              },
              "session_id": {
                "description": "The session ID, such as $1.",
                "type": "string"
              }
            },
            "required": [
              "session_id"
            ],
            "type": "object"
          },
          "mayExposeSecrets": false,
          "mayReturnUntrustedContent": false,
          "name": "kill_session",
          "nestedAuthority": [],
          "outputClasses": [
            "tmux-metadata"
          ],
          "outputSchema": {
            "additionalProperties": false,
            "properties": {
              "id": {
                "type": "string"
              },
              "kind": {
                "type": "string"
              },
              "note": {
                "type": "string"
              }
            },
            "required": [
              "kind",
              "id"
            ],
            "type": "object"
          },
          "processReach": "none",
          "title": "Kill a session",
          "tmuxEffects": [
            "observe",
            "delete"
          ],
          "toolset": "teardown"
        }
      }
    },
    {
      "name": "kill_window",
      "wireName": "kill_window",
      "source": {
        "repo": "libtmux/libtmux-java",
        "revision": "a0ecbc16da00140e2520462d478a2af470878272",
        "extractedRevision": "a0ecbc16da00140e2520462d478a2af470878272",
        "file": "libtmux-mcp/src/main/java/io/github/libtmux/mcp/TeardownTools.java",
        "line": 42
      },
      "description": "Deletes one window and every pane in it. Delete tmux state; accepts no command payload.",
      "schemaStatus": "runtime",
      "inputSchema": {
        "additionalProperties": false,
        "properties": {
          "confirm_self": {
            "default": false,
            "description": "Permit ending the pane this MCP process runs in. Defaults to false.",
            "type": "boolean"
          },
          "window_id": {
            "description": "The window ID, such as @1.",
            "type": "string"
          }
        },
        "required": [
          "window_id"
        ],
        "type": "object"
      },
      "outputSchema": {
        "additionalProperties": false,
        "properties": {
          "id": {
            "type": "string"
          },
          "kind": {
            "type": "string"
          },
          "note": {
            "type": "string"
          }
        },
        "required": [
          "kind",
          "id"
        ],
        "type": "object"
      },
      "annotations": {
        "destructiveHint": true,
        "idempotentHint": false,
        "openWorldHint": true,
        "readOnlyHint": false,
        "title": "Kill a window"
      },
      "meta": {
        "com.git-pull.libtmux-mcp/capability": {
          "amplifiesFutureInput": false,
          "annotations": {
            "destructiveHint": true,
            "idempotentHint": false,
            "openWorldHint": true,
            "readOnlyHint": false
          },
          "description": "Deletes one window and every pane in it. Delete tmux state; accepts no command payload.",
          "inputLiteralization": {},
          "inputSchema": {
            "additionalProperties": false,
            "properties": {
              "confirm_self": {
                "default": false,
                "description": "Permit ending the pane this MCP process runs in. Defaults to false.",
                "type": "boolean"
              },
              "window_id": {
                "description": "The window ID, such as @1.",
                "type": "string"
              }
            },
            "required": [
              "window_id"
            ],
            "type": "object"
          },
          "mayExposeSecrets": false,
          "mayReturnUntrustedContent": false,
          "name": "kill_window",
          "nestedAuthority": [],
          "outputClasses": [
            "tmux-metadata"
          ],
          "outputSchema": {
            "additionalProperties": false,
            "properties": {
              "id": {
                "type": "string"
              },
              "kind": {
                "type": "string"
              },
              "note": {
                "type": "string"
              }
            },
            "required": [
              "kind",
              "id"
            ],
            "type": "object"
          },
          "processReach": "none",
          "title": "Kill a window",
          "tmuxEffects": [
            "observe",
            "delete"
          ],
          "toolset": "teardown"
        }
      }
    },
    {
      "name": "list_panes",
      "wireName": "list_panes",
      "source": {
        "repo": "libtmux/libtmux-java",
        "revision": "a0ecbc16da00140e2520462d478a2af470878272",
        "extractedRevision": "a0ecbc16da00140e2520462d478a2af470878272",
        "file": "libtmux-mcp/src/main/java/io/github/libtmux/mcp/InspectTools.java",
        "line": 69
      },
      "description": "Lists pane metadata and stable pane IDs. No filter; use the 'command' field to find a pane by what it runs. Inspect tmux metadata; accepts no client-supplied executable input.",
      "schemaStatus": "runtime",
      "inputSchema": {
        "additionalProperties": false,
        "properties": {},
        "required": [],
        "type": "object"
      },
      "outputSchema": {
        "additionalProperties": false,
        "properties": {
          "count": {
            "type": "integer"
          },
          "note": {
            "type": "string"
          },
          "panes": {
            "items": {
              "additionalProperties": false,
              "properties": {
                "active": {
                  "type": "boolean"
                },
                "caller": {
                  "type": "boolean"
                },
                "command": {
                  "type": "string"
                },
                "id": {
                  "type": "string"
                },
                "path": {
                  "type": "string"
                },
                "session": {
                  "type": "string"
                },
                "size": {
                  "type": "string"
                },
                "window": {
                  "type": "string"
                },
                "window_id": {
                  "type": "string"
                }
              },
              "required": [
                "id",
                "session",
                "window",
                "window_id",
                "command",
                "path",
                "size",
                "active"
              ],
              "type": "object"
            },
            "type": "array"
          }
        },
        "required": [
          "count",
          "panes"
        ],
        "type": "object"
      },
      "annotations": {
        "destructiveHint": true,
        "idempotentHint": false,
        "openWorldHint": true,
        "readOnlyHint": false,
        "title": "List panes"
      },
      "meta": {
        "com.git-pull.libtmux-mcp/capability": {
          "amplifiesFutureInput": false,
          "annotations": {
            "destructiveHint": true,
            "idempotentHint": false,
            "openWorldHint": true,
            "readOnlyHint": false
          },
          "description": "Lists pane metadata and stable pane IDs. No filter; use the 'command' field to find a pane by what it runs. Inspect tmux metadata; accepts no client-supplied executable input.",
          "inputLiteralization": {},
          "inputSchema": {
            "additionalProperties": false,
            "properties": {},
            "required": [],
            "type": "object"
          },
          "mayExposeSecrets": true,
          "mayReturnUntrustedContent": true,
          "name": "list_panes",
          "nestedAuthority": [],
          "outputClasses": [
            "tmux-metadata"
          ],
          "outputSchema": {
            "additionalProperties": false,
            "properties": {
              "count": {
                "type": "integer"
              },
              "note": {
                "type": "string"
              },
              "panes": {
                "items": {
                  "additionalProperties": false,
                  "properties": {
                    "active": {
                      "type": "boolean"
                    },
                    "caller": {
                      "type": "boolean"
                    },
                    "command": {
                      "type": "string"
                    },
                    "id": {
                      "type": "string"
                    },
                    "path": {
                      "type": "string"
                    },
                    "session": {
                      "type": "string"
                    },
                    "size": {
                      "type": "string"
                    },
                    "window": {
                      "type": "string"
                    },
                    "window_id": {
                      "type": "string"
                    }
                  },
                  "required": [
                    "id",
                    "session",
                    "window",
                    "window_id",
                    "command",
                    "path",
                    "size",
                    "active"
                  ],
                  "type": "object"
                },
                "type": "array"
              }
            },
            "required": [
              "count",
              "panes"
            ],
            "type": "object"
          },
          "processReach": "none",
          "title": "List panes",
          "tmuxEffects": [
            "observe"
          ],
          "toolset": "inspect"
        }
      }
    },
    {
      "name": "list_sessions",
      "wireName": "list_sessions",
      "source": {
        "repo": "libtmux/libtmux-java",
        "revision": "a0ecbc16da00140e2520462d478a2af470878272",
        "extractedRevision": "a0ecbc16da00140e2520462d478a2af470878272",
        "file": "libtmux-mcp/src/main/java/io/github/libtmux/mcp/InspectTools.java",
        "line": 39
      },
      "description": "Lists sessions on the pinned tmux server. Inspect tmux metadata; accepts no client-supplied executable input.",
      "schemaStatus": "runtime",
      "inputSchema": {
        "additionalProperties": false,
        "properties": {},
        "required": [],
        "type": "object"
      },
      "outputSchema": {
        "additionalProperties": false,
        "properties": {
          "count": {
            "type": "integer"
          },
          "note": {
            "type": "string"
          },
          "sessions": {
            "items": {
              "additionalProperties": false,
              "properties": {
                "attached": {
                  "type": "boolean"
                },
                "id": {
                  "type": "string"
                },
                "name": {
                  "type": "string"
                },
                "window_names": {
                  "items": {
                    "type": "string"
                  },
                  "type": "array"
                },
                "windows": {
                  "type": "integer"
                }
              },
              "required": [
                "id",
                "name",
                "attached",
                "windows",
                "window_names"
              ],
              "type": "object"
            },
            "type": "array"
          }
        },
        "required": [
          "count",
          "sessions"
        ],
        "type": "object"
      },
      "annotations": {
        "destructiveHint": true,
        "idempotentHint": false,
        "openWorldHint": true,
        "readOnlyHint": false,
        "title": "List sessions"
      },
      "meta": {
        "com.git-pull.libtmux-mcp/capability": {
          "amplifiesFutureInput": false,
          "annotations": {
            "destructiveHint": true,
            "idempotentHint": false,
            "openWorldHint": true,
            "readOnlyHint": false
          },
          "description": "Lists sessions on the pinned tmux server. Inspect tmux metadata; accepts no client-supplied executable input.",
          "inputLiteralization": {},
          "inputSchema": {
            "additionalProperties": false,
            "properties": {},
            "required": [],
            "type": "object"
          },
          "mayExposeSecrets": true,
          "mayReturnUntrustedContent": true,
          "name": "list_sessions",
          "nestedAuthority": [],
          "outputClasses": [
            "tmux-metadata"
          ],
          "outputSchema": {
            "additionalProperties": false,
            "properties": {
              "count": {
                "type": "integer"
              },
              "note": {
                "type": "string"
              },
              "sessions": {
                "items": {
                  "additionalProperties": false,
                  "properties": {
                    "attached": {
                      "type": "boolean"
                    },
                    "id": {
                      "type": "string"
                    },
                    "name": {
                      "type": "string"
                    },
                    "window_names": {
                      "items": {
                        "type": "string"
                      },
                      "type": "array"
                    },
                    "windows": {
                      "type": "integer"
                    }
                  },
                  "required": [
                    "id",
                    "name",
                    "attached",
                    "windows",
                    "window_names"
                  ],
                  "type": "object"
                },
                "type": "array"
              }
            },
            "required": [
              "count",
              "sessions"
            ],
            "type": "object"
          },
          "processReach": "none",
          "title": "List sessions",
          "tmuxEffects": [
            "observe"
          ],
          "toolset": "inspect"
        }
      }
    },
    {
      "name": "list_windows",
      "wireName": "list_windows",
      "source": {
        "repo": "libtmux/libtmux-java",
        "revision": "a0ecbc16da00140e2520462d478a2af470878272",
        "extractedRevision": "a0ecbc16da00140e2520462d478a2af470878272",
        "file": "libtmux-mcp/src/main/java/io/github/libtmux/mcp/InspectTools.java",
        "line": 53
      },
      "description": "Lists windows, optionally only those in one session, named by ID or by name. Inspect tmux metadata; accepts no client-supplied executable input.",
      "schemaStatus": "runtime",
      "inputSchema": {
        "additionalProperties": false,
        "properties": {
          "session_id": {
            "description": "Only windows in this session, such as $1.",
            "type": "string"
          },
          "session_name": {
            "description": "Only windows in the session with this exact name.",
            "type": "string"
          }
        },
        "required": [],
        "type": "object"
      },
      "outputSchema": {
        "additionalProperties": false,
        "properties": {
          "count": {
            "type": "integer"
          },
          "note": {
            "type": "string"
          },
          "windows": {
            "items": {
              "additionalProperties": false,
              "properties": {
                "active": {
                  "type": "boolean"
                },
                "id": {
                  "type": "string"
                },
                "index": {
                  "type": "integer"
                },
                "name": {
                  "type": "string"
                },
                "panes": {
                  "type": "integer"
                },
                "session": {
                  "type": "string"
                }
              },
              "required": [
                "id",
                "index",
                "name",
                "session",
                "active",
                "panes"
              ],
              "type": "object"
            },
            "type": "array"
          }
        },
        "required": [
          "count",
          "windows"
        ],
        "type": "object"
      },
      "annotations": {
        "destructiveHint": true,
        "idempotentHint": false,
        "openWorldHint": true,
        "readOnlyHint": false,
        "title": "List windows"
      },
      "meta": {
        "com.git-pull.libtmux-mcp/capability": {
          "amplifiesFutureInput": false,
          "annotations": {
            "destructiveHint": true,
            "idempotentHint": false,
            "openWorldHint": true,
            "readOnlyHint": false
          },
          "description": "Lists windows, optionally only those in one session, named by ID or by name. Inspect tmux metadata; accepts no client-supplied executable input.",
          "inputLiteralization": {},
          "inputSchema": {
            "additionalProperties": false,
            "properties": {
              "session_id": {
                "description": "Only windows in this session, such as $1.",
                "type": "string"
              },
              "session_name": {
                "description": "Only windows in the session with this exact name.",
                "type": "string"
              }
            },
            "required": [],
            "type": "object"
          },
          "mayExposeSecrets": true,
          "mayReturnUntrustedContent": true,
          "name": "list_windows",
          "nestedAuthority": [],
          "outputClasses": [
            "tmux-metadata"
          ],
          "outputSchema": {
            "additionalProperties": false,
            "properties": {
              "count": {
                "type": "integer"
              },
              "note": {
                "type": "string"
              },
              "windows": {
                "items": {
                  "additionalProperties": false,
                  "properties": {
                    "active": {
                      "type": "boolean"
                    },
                    "id": {
                      "type": "string"
                    },
                    "index": {
                      "type": "integer"
                    },
                    "name": {
                      "type": "string"
                    },
                    "panes": {
                      "type": "integer"
                    },
                    "session": {
                      "type": "string"
                    }
                  },
                  "required": [
                    "id",
                    "index",
                    "name",
                    "session",
                    "active",
                    "panes"
                  ],
                  "type": "object"
                },
                "type": "array"
              }
            },
            "required": [
              "count",
              "windows"
            ],
            "type": "object"
          },
          "processReach": "none",
          "title": "List windows",
          "tmuxEffects": [
            "observe"
          ],
          "toolset": "inspect"
        }
      }
    },
    {
      "name": "move_window",
      "wireName": "move_window",
      "source": {
        "repo": "libtmux/libtmux-java",
        "revision": "a0ecbc16da00140e2520462d478a2af470878272",
        "extractedRevision": "a0ecbc16da00140e2520462d478a2af470878272",
        "file": "libtmux-mcp/src/main/java/io/github/libtmux/mcp/ManageTools.java",
        "line": 121
      },
      "description": "Moves a window to another session, optionally at an index. Change tmux state; no client-supplied executable input.",
      "schemaStatus": "runtime",
      "inputSchema": {
        "additionalProperties": false,
        "properties": {
          "index": {
            "default": -1,
            "description": "A destination window index; omit for tmux's choice. Defaults to -1.",
            "type": "integer"
          },
          "session_id": {
            "description": "The destination session ID, such as $1.",
            "type": "string"
          },
          "window_id": {
            "description": "The window ID, such as @1.",
            "type": "string"
          }
        },
        "required": [
          "window_id",
          "session_id"
        ],
        "type": "object"
      },
      "outputSchema": {
        "additionalProperties": false,
        "properties": {
          "index": {
            "type": "integer"
          },
          "session_id": {
            "type": "string"
          },
          "window_id": {
            "type": "string"
          }
        },
        "required": [
          "window_id",
          "session_id",
          "index"
        ],
        "type": "object"
      },
      "annotations": {
        "destructiveHint": true,
        "idempotentHint": false,
        "openWorldHint": true,
        "readOnlyHint": false,
        "title": "Move a window"
      },
      "meta": {
        "com.git-pull.libtmux-mcp/capability": {
          "amplifiesFutureInput": false,
          "annotations": {
            "destructiveHint": true,
            "idempotentHint": false,
            "openWorldHint": true,
            "readOnlyHint": false
          },
          "description": "Moves a window to another session, optionally at an index. Change tmux state; no client-supplied executable input.",
          "inputLiteralization": {},
          "inputSchema": {
            "additionalProperties": false,
            "properties": {
              "index": {
                "default": -1,
                "description": "A destination window index; omit for tmux's choice. Defaults to -1.",
                "type": "integer"
              },
              "session_id": {
                "description": "The destination session ID, such as $1.",
                "type": "string"
              },
              "window_id": {
                "description": "The window ID, such as @1.",
                "type": "string"
              }
            },
            "required": [
              "window_id",
              "session_id"
            ],
            "type": "object"
          },
          "mayExposeSecrets": false,
          "mayReturnUntrustedContent": false,
          "name": "move_window",
          "nestedAuthority": [],
          "outputClasses": [
            "tmux-metadata"
          ],
          "outputSchema": {
            "additionalProperties": false,
            "properties": {
              "index": {
                "type": "integer"
              },
              "session_id": {
                "type": "string"
              },
              "window_id": {
                "type": "string"
              }
            },
            "required": [
              "window_id",
              "session_id",
              "index"
            ],
            "type": "object"
          },
          "processReach": "none",
          "title": "Move a window",
          "tmuxEffects": [
            "observe",
            "change"
          ],
          "toolset": "manage"
        }
      }
    },
    {
      "name": "paste_text",
      "wireName": "paste_text",
      "source": {
        "repo": "libtmux/libtmux-java",
        "revision": "a0ecbc16da00140e2520462d478a2af470878272",
        "extractedRevision": "a0ecbc16da00140e2520462d478a2af470878272",
        "file": "libtmux-mcp/src/main/java/io/github/libtmux/mcp/ExecuteTools.java",
        "line": 218
      },
      "description": "Pastes one literal text block into one target pane through an ephemeral buffer; paste-buffer input does not fan out to synchronized peers. The target cannot be caller or attended. Send input to a pane's program; a shell that receives it runs it with your user's permissions.",
      "schemaStatus": "runtime",
      "inputSchema": {
        "additionalProperties": false,
        "properties": {
          "enter": {
            "default": false,
            "description": "Append a newline that submits the text. Defaults to false.",
            "type": "boolean"
          },
          "pane_id": {
            "description": "The pane to act on, such as %1. Every listing tool returns these.",
            "type": "string"
          },
          "text": {
            "description": "The literal text to paste.",
            "type": "string"
          }
        },
        "required": [
          "pane_id",
          "text"
        ],
        "type": "object"
      },
      "outputSchema": {
        "additionalProperties": false,
        "properties": {
          "characters": {
            "type": "integer"
          },
          "lines": {
            "type": "integer"
          },
          "note": {
            "type": "string"
          },
          "pane_id": {
            "type": "string"
          }
        },
        "required": [
          "pane_id",
          "characters",
          "lines"
        ],
        "type": "object"
      },
      "annotations": {
        "destructiveHint": true,
        "idempotentHint": false,
        "openWorldHint": true,
        "readOnlyHint": false,
        "title": "Paste text"
      },
      "meta": {
        "com.git-pull.libtmux-mcp/capability": {
          "amplifiesFutureInput": false,
          "annotations": {
            "destructiveHint": true,
            "idempotentHint": false,
            "openWorldHint": true,
            "readOnlyHint": false
          },
          "description": "Pastes one literal text block into one target pane through an ephemeral buffer; paste-buffer input does not fan out to synchronized peers. The target cannot be caller or attended. Send input to a pane's program; a shell that receives it runs it with your user's permissions.",
          "inputLiteralization": {},
          "inputSchema": {
            "additionalProperties": false,
            "properties": {
              "enter": {
                "default": false,
                "description": "Append a newline that submits the text. Defaults to false.",
                "type": "boolean"
              },
              "pane_id": {
                "description": "The pane to act on, such as %1. Every listing tool returns these.",
                "type": "string"
              },
              "text": {
                "description": "The literal text to paste.",
                "type": "string"
              }
            },
            "required": [
              "pane_id",
              "text"
            ],
            "type": "object"
          },
          "mayExposeSecrets": false,
          "mayReturnUntrustedContent": false,
          "name": "paste_text",
          "nestedAuthority": [],
          "outputClasses": [
            "tmux-metadata"
          ],
          "outputSchema": {
            "additionalProperties": false,
            "properties": {
              "characters": {
                "type": "integer"
              },
              "lines": {
                "type": "integer"
              },
              "note": {
                "type": "string"
              },
              "pane_id": {
                "type": "string"
              }
            },
            "required": [
              "pane_id",
              "characters",
              "lines"
            ],
            "type": "object"
          },
          "processReach": "pane-input",
          "title": "Paste text",
          "tmuxEffects": [
            "observe",
            "change"
          ],
          "toolset": "execute"
        }
      }
    },
    {
      "name": "rename_session",
      "wireName": "rename_session",
      "source": {
        "repo": "libtmux/libtmux-java",
        "revision": "a0ecbc16da00140e2520462d478a2af470878272",
        "extractedRevision": "a0ecbc16da00140e2520462d478a2af470878272",
        "file": "libtmux-mcp/src/main/java/io/github/libtmux/mcp/ManageTools.java",
        "line": 31
      },
      "description": "Replaces a session's name. Change tmux state; no client-supplied executable input.",
      "schemaStatus": "runtime",
      "inputSchema": {
        "additionalProperties": false,
        "properties": {
          "new_name": {
            "description": "The literal new session name.",
            "type": "string"
          },
          "session_id": {
            "description": "The session ID, such as $1.",
            "type": "string"
          }
        },
        "required": [
          "session_id",
          "new_name"
        ],
        "type": "object"
      },
      "outputSchema": {
        "additionalProperties": false,
        "properties": {
          "attached": {
            "type": "boolean"
          },
          "id": {
            "type": "string"
          },
          "name": {
            "type": "string"
          },
          "windows": {
            "type": "integer"
          }
        },
        "required": [
          "id",
          "name",
          "attached",
          "windows"
        ],
        "type": "object"
      },
      "annotations": {
        "destructiveHint": true,
        "idempotentHint": false,
        "openWorldHint": true,
        "readOnlyHint": false,
        "title": "Rename a session"
      },
      "meta": {
        "com.git-pull.libtmux-mcp/capability": {
          "amplifiesFutureInput": false,
          "annotations": {
            "destructiveHint": true,
            "idempotentHint": false,
            "openWorldHint": true,
            "readOnlyHint": false
          },
          "description": "Replaces a session's name. Change tmux state; no client-supplied executable input.",
          "inputLiteralization": {
            "new_name": "double-hash-once"
          },
          "inputSchema": {
            "additionalProperties": false,
            "properties": {
              "new_name": {
                "description": "The literal new session name.",
                "type": "string"
              },
              "session_id": {
                "description": "The session ID, such as $1.",
                "type": "string"
              }
            },
            "required": [
              "session_id",
              "new_name"
            ],
            "type": "object"
          },
          "mayExposeSecrets": true,
          "mayReturnUntrustedContent": true,
          "name": "rename_session",
          "nestedAuthority": [],
          "outputClasses": [
            "tmux-metadata"
          ],
          "outputSchema": {
            "additionalProperties": false,
            "properties": {
              "attached": {
                "type": "boolean"
              },
              "id": {
                "type": "string"
              },
              "name": {
                "type": "string"
              },
              "windows": {
                "type": "integer"
              }
            },
            "required": [
              "id",
              "name",
              "attached",
              "windows"
            ],
            "type": "object"
          },
          "processReach": "none",
          "title": "Rename a session",
          "tmuxEffects": [
            "observe",
            "change"
          ],
          "toolset": "manage"
        }
      }
    },
    {
      "name": "rename_window",
      "wireName": "rename_window",
      "source": {
        "repo": "libtmux/libtmux-java",
        "revision": "a0ecbc16da00140e2520462d478a2af470878272",
        "extractedRevision": "a0ecbc16da00140e2520462d478a2af470878272",
        "file": "libtmux-mcp/src/main/java/io/github/libtmux/mcp/ManageTools.java",
        "line": 44
      },
      "description": "Replaces a window's name. Change tmux state; no client-supplied executable input.",
      "schemaStatus": "runtime",
      "inputSchema": {
        "additionalProperties": false,
        "properties": {
          "new_name": {
            "description": "The literal new window name.",
            "type": "string"
          },
          "window_id": {
            "description": "The window ID, such as @1.",
            "type": "string"
          }
        },
        "required": [
          "window_id",
          "new_name"
        ],
        "type": "object"
      },
      "outputSchema": {
        "additionalProperties": false,
        "properties": {
          "active": {
            "type": "boolean"
          },
          "id": {
            "type": "string"
          },
          "index": {
            "type": "integer"
          },
          "name": {
            "type": "string"
          },
          "panes": {
            "type": "integer"
          },
          "session_id": {
            "type": "string"
          },
          "size": {
            "type": "string"
          }
        },
        "required": [
          "id",
          "index",
          "name",
          "session_id",
          "active",
          "panes",
          "size"
        ],
        "type": "object"
      },
      "annotations": {
        "destructiveHint": true,
        "idempotentHint": false,
        "openWorldHint": true,
        "readOnlyHint": false,
        "title": "Rename a window"
      },
      "meta": {
        "com.git-pull.libtmux-mcp/capability": {
          "amplifiesFutureInput": false,
          "annotations": {
            "destructiveHint": true,
            "idempotentHint": false,
            "openWorldHint": true,
            "readOnlyHint": false
          },
          "description": "Replaces a window's name. Change tmux state; no client-supplied executable input.",
          "inputLiteralization": {
            "new_name": "double-hash-once"
          },
          "inputSchema": {
            "additionalProperties": false,
            "properties": {
              "new_name": {
                "description": "The literal new window name.",
                "type": "string"
              },
              "window_id": {
                "description": "The window ID, such as @1.",
                "type": "string"
              }
            },
            "required": [
              "window_id",
              "new_name"
            ],
            "type": "object"
          },
          "mayExposeSecrets": true,
          "mayReturnUntrustedContent": true,
          "name": "rename_window",
          "nestedAuthority": [],
          "outputClasses": [
            "tmux-metadata"
          ],
          "outputSchema": {
            "additionalProperties": false,
            "properties": {
              "active": {
                "type": "boolean"
              },
              "id": {
                "type": "string"
              },
              "index": {
                "type": "integer"
              },
              "name": {
                "type": "string"
              },
              "panes": {
                "type": "integer"
              },
              "session_id": {
                "type": "string"
              },
              "size": {
                "type": "string"
              }
            },
            "required": [
              "id",
              "index",
              "name",
              "session_id",
              "active",
              "panes",
              "size"
            ],
            "type": "object"
          },
          "processReach": "none",
          "title": "Rename a window",
          "tmuxEffects": [
            "observe",
            "change"
          ],
          "toolset": "manage"
        }
      }
    },
    {
      "name": "resize_pane",
      "wireName": "resize_pane",
      "source": {
        "repo": "libtmux/libtmux-java",
        "revision": "a0ecbc16da00140e2520462d478a2af470878272",
        "extractedRevision": "a0ecbc16da00140e2520462d478a2af470878272",
        "file": "libtmux-mcp/src/main/java/io/github/libtmux/mcp/ManageTools.java",
        "line": 106
      },
      "description": "Sets a pane's width, height or both. Change tmux state; no client-supplied executable input.",
      "schemaStatus": "runtime",
      "inputSchema": {
        "additionalProperties": false,
        "properties": {
          "height": {
            "default": 0,
            "description": "Height in terminal cells; omit to retain it. Defaults to 0.",
            "type": "integer"
          },
          "pane_id": {
            "description": "The pane to act on, such as %1. Every listing tool returns these.",
            "type": "string"
          },
          "width": {
            "default": 0,
            "description": "Width in terminal cells; omit to retain it. Defaults to 0.",
            "type": "integer"
          }
        },
        "required": [
          "pane_id"
        ],
        "type": "object"
      },
      "outputSchema": {
        "additionalProperties": false,
        "properties": {
          "id": {
            "type": "string"
          },
          "kind": {
            "type": "string"
          },
          "note": {
            "type": "string"
          },
          "what": {
            "type": "string"
          }
        },
        "required": [
          "kind",
          "id",
          "what"
        ],
        "type": "object"
      },
      "annotations": {
        "destructiveHint": true,
        "idempotentHint": false,
        "openWorldHint": true,
        "readOnlyHint": false,
        "title": "Resize a pane"
      },
      "meta": {
        "com.git-pull.libtmux-mcp/capability": {
          "amplifiesFutureInput": false,
          "annotations": {
            "destructiveHint": true,
            "idempotentHint": false,
            "openWorldHint": true,
            "readOnlyHint": false
          },
          "description": "Sets a pane's width, height or both. Change tmux state; no client-supplied executable input.",
          "inputLiteralization": {},
          "inputSchema": {
            "additionalProperties": false,
            "properties": {
              "height": {
                "default": 0,
                "description": "Height in terminal cells; omit to retain it. Defaults to 0.",
                "type": "integer"
              },
              "pane_id": {
                "description": "The pane to act on, such as %1. Every listing tool returns these.",
                "type": "string"
              },
              "width": {
                "default": 0,
                "description": "Width in terminal cells; omit to retain it. Defaults to 0.",
                "type": "integer"
              }
            },
            "required": [
              "pane_id"
            ],
            "type": "object"
          },
          "mayExposeSecrets": false,
          "mayReturnUntrustedContent": false,
          "name": "resize_pane",
          "nestedAuthority": [],
          "outputClasses": [
            "tmux-metadata"
          ],
          "outputSchema": {
            "additionalProperties": false,
            "properties": {
              "id": {
                "type": "string"
              },
              "kind": {
                "type": "string"
              },
              "note": {
                "type": "string"
              },
              "what": {
                "type": "string"
              }
            },
            "required": [
              "kind",
              "id",
              "what"
            ],
            "type": "object"
          },
          "processReach": "none",
          "title": "Resize a pane",
          "tmuxEffects": [
            "observe",
            "change"
          ],
          "toolset": "manage"
        }
      }
    },
    {
      "name": "resize_window",
      "wireName": "resize_window",
      "source": {
        "repo": "libtmux/libtmux-java",
        "revision": "a0ecbc16da00140e2520462d478a2af470878272",
        "extractedRevision": "a0ecbc16da00140e2520462d478a2af470878272",
        "file": "libtmux-mcp/src/main/java/io/github/libtmux/mcp/ManageTools.java",
        "line": 91
      },
      "description": "Sets a window's width, height or both. Change tmux state; no client-supplied executable input.",
      "schemaStatus": "runtime",
      "inputSchema": {
        "additionalProperties": false,
        "properties": {
          "height": {
            "default": 0,
            "description": "Height in terminal cells; omit to retain it. Defaults to 0.",
            "type": "integer"
          },
          "width": {
            "default": 0,
            "description": "Width in terminal cells; omit to retain it. Defaults to 0.",
            "type": "integer"
          },
          "window_id": {
            "description": "The window ID, such as @1.",
            "type": "string"
          }
        },
        "required": [
          "window_id"
        ],
        "type": "object"
      },
      "outputSchema": {
        "additionalProperties": false,
        "properties": {
          "active": {
            "type": "boolean"
          },
          "id": {
            "type": "string"
          },
          "index": {
            "type": "integer"
          },
          "name": {
            "type": "string"
          },
          "panes": {
            "type": "integer"
          },
          "session_id": {
            "type": "string"
          },
          "size": {
            "type": "string"
          }
        },
        "required": [
          "id",
          "index",
          "name",
          "session_id",
          "active",
          "panes",
          "size"
        ],
        "type": "object"
      },
      "annotations": {
        "destructiveHint": true,
        "idempotentHint": false,
        "openWorldHint": true,
        "readOnlyHint": false,
        "title": "Resize a window"
      },
      "meta": {
        "com.git-pull.libtmux-mcp/capability": {
          "amplifiesFutureInput": false,
          "annotations": {
            "destructiveHint": true,
            "idempotentHint": false,
            "openWorldHint": true,
            "readOnlyHint": false
          },
          "description": "Sets a window's width, height or both. Change tmux state; no client-supplied executable input.",
          "inputLiteralization": {},
          "inputSchema": {
            "additionalProperties": false,
            "properties": {
              "height": {
                "default": 0,
                "description": "Height in terminal cells; omit to retain it. Defaults to 0.",
                "type": "integer"
              },
              "width": {
                "default": 0,
                "description": "Width in terminal cells; omit to retain it. Defaults to 0.",
                "type": "integer"
              },
              "window_id": {
                "description": "The window ID, such as @1.",
                "type": "string"
              }
            },
            "required": [
              "window_id"
            ],
            "type": "object"
          },
          "mayExposeSecrets": true,
          "mayReturnUntrustedContent": true,
          "name": "resize_window",
          "nestedAuthority": [],
          "outputClasses": [
            "tmux-metadata"
          ],
          "outputSchema": {
            "additionalProperties": false,
            "properties": {
              "active": {
                "type": "boolean"
              },
              "id": {
                "type": "string"
              },
              "index": {
                "type": "integer"
              },
              "name": {
                "type": "string"
              },
              "panes": {
                "type": "integer"
              },
              "session_id": {
                "type": "string"
              },
              "size": {
                "type": "string"
              }
            },
            "required": [
              "id",
              "index",
              "name",
              "session_id",
              "active",
              "panes",
              "size"
            ],
            "type": "object"
          },
          "processReach": "none",
          "title": "Resize a window",
          "tmuxEffects": [
            "observe",
            "change"
          ],
          "toolset": "manage"
        }
      }
    },
    {
      "name": "respawn_pane",
      "wireName": "respawn_pane",
      "source": {
        "repo": "libtmux/libtmux-java",
        "revision": "a0ecbc16da00140e2520462d478a2af470878272",
        "extractedRevision": "a0ecbc16da00140e2520462d478a2af470878272",
        "file": "libtmux-mcp/src/main/java/io/github/libtmux/mcp/ExecuteTools.java",
        "line": 118
      },
      "description": "Kills the pane's current process and starts its configured process again. Start a pane's configured process; accepts no command payload.",
      "schemaStatus": "runtime",
      "inputSchema": {
        "additionalProperties": false,
        "properties": {
          "pane_id": {
            "description": "The pane to act on, such as %1. Every listing tool returns these.",
            "type": "string"
          },
          "start_directory": {
            "description": "An absolute literal start directory.",
            "type": "string"
          }
        },
        "required": [
          "pane_id"
        ],
        "type": "object"
      },
      "outputSchema": {
        "additionalProperties": false,
        "properties": {
          "pane_id": {
            "type": "string"
          },
          "restarted": {
            "type": "boolean"
          }
        },
        "required": [
          "pane_id",
          "restarted"
        ],
        "type": "object"
      },
      "annotations": {
        "destructiveHint": true,
        "idempotentHint": false,
        "openWorldHint": true,
        "readOnlyHint": false,
        "title": "Respawn a pane"
      },
      "meta": {
        "com.git-pull.libtmux-mcp/capability": {
          "amplifiesFutureInput": false,
          "annotations": {
            "destructiveHint": true,
            "idempotentHint": false,
            "openWorldHint": true,
            "readOnlyHint": false
          },
          "description": "Kills the pane's current process and starts its configured process again. Start a pane's configured process; accepts no command payload.",
          "inputLiteralization": {
            "start_directory": "double-hash-once"
          },
          "inputSchema": {
            "additionalProperties": false,
            "properties": {
              "pane_id": {
                "description": "The pane to act on, such as %1. Every listing tool returns these.",
                "type": "string"
              },
              "start_directory": {
                "description": "An absolute literal start directory.",
                "type": "string"
              }
            },
            "required": [
              "pane_id"
            ],
            "type": "object"
          },
          "mayExposeSecrets": false,
          "mayReturnUntrustedContent": false,
          "name": "respawn_pane",
          "nestedAuthority": [],
          "outputClasses": [
            "tmux-metadata"
          ],
          "outputSchema": {
            "additionalProperties": false,
            "properties": {
              "pane_id": {
                "type": "string"
              },
              "restarted": {
                "type": "boolean"
              }
            },
            "required": [
              "pane_id",
              "restarted"
            ],
            "type": "object"
          },
          "processReach": "configured-process",
          "title": "Respawn a pane",
          "tmuxEffects": [
            "observe",
            "change",
            "delete"
          ],
          "toolset": "execute"
        }
      }
    },
    {
      "name": "run_shell_command",
      "wireName": "run_shell_command",
      "source": {
        "repo": "libtmux/libtmux-java",
        "revision": "a0ecbc16da00140e2520462d478a2af470878272",
        "extractedRevision": "a0ecbc16da00140e2520462d478a2af470878272",
        "file": "libtmux-mcp/src/main/java/io/github/libtmux/mcp/ExecuteTools.java",
        "line": 142
      },
      "description": "Runs one authored command in a trusted pane shell and waits for singular framed output and completion. Its two preflights refuse caller or attended panes and an effective cohort larger than one. Pre-existing exact-client-path, trap, eval, or exit functions are outside the supported boundary; marker display-message commands honor the trusted server's command aliases and hooks. Run a shell command in a pane with your user's permissions.",
      "schemaStatus": "runtime",
      "inputSchema": {
        "additionalProperties": false,
        "properties": {
          "command": {
            "description": "The shell command, run in the pane's interactive shell.",
            "type": "string"
          },
          "max_lines": {
            "default": 200,
            "description": "Maximum output lines, keeping the newest. Defaults to 200.",
            "type": "integer"
          },
          "pane_id": {
            "description": "The pane to act on, such as %1. Every listing tool returns these.",
            "type": "string"
          },
          "suppress_history": {
            "default": true,
            "description": "Best-effort persistent history suppression. Defaults to true.",
            "type": "boolean"
          },
          "timeout": {
            "default": 30,
            "description": "Seconds to wait before giving up. Defaults to 30.0.",
            "type": "number"
          }
        },
        "required": [
          "pane_id",
          "command"
        ],
        "type": "object"
      },
      "outputSchema": {
        "additionalProperties": false,
        "properties": {
          "effective_timeout": {
            "type": "number"
          },
          "exit_status": {
            "type": "integer"
          },
          "framed": {
            "type": "boolean"
          },
          "lines_dropped": {
            "type": "integer"
          },
          "note": {
            "type": "string"
          },
          "outcome": {
            "type": "string"
          },
          "output": {
            "items": {
              "type": "string"
            },
            "type": "array"
          },
          "pane_id": {
            "type": "string"
          },
          "seconds": {
            "type": "number"
          },
          "truncated": {
            "type": "boolean"
          }
        },
        "required": [
          "pane_id",
          "outcome",
          "output",
          "truncated",
          "lines_dropped",
          "framed",
          "seconds",
          "effective_timeout"
        ],
        "type": "object"
      },
      "annotations": {
        "destructiveHint": true,
        "idempotentHint": false,
        "openWorldHint": true,
        "readOnlyHint": false,
        "title": "Run a shell command"
      },
      "meta": {
        "com.git-pull.libtmux-mcp/capability": {
          "amplifiesFutureInput": false,
          "annotations": {
            "destructiveHint": true,
            "idempotentHint": false,
            "openWorldHint": true,
            "readOnlyHint": false
          },
          "description": "Runs one authored command in a trusted pane shell and waits for singular framed output and completion. Its two preflights refuse caller or attended panes and an effective cohort larger than one. Pre-existing exact-client-path, trap, eval, or exit functions are outside the supported boundary; marker display-message commands honor the trusted server's command aliases and hooks. Run a shell command in a pane with your user's permissions.",
          "inputLiteralization": {},
          "inputSchema": {
            "additionalProperties": false,
            "properties": {
              "command": {
                "description": "The shell command, run in the pane's interactive shell.",
                "type": "string"
              },
              "max_lines": {
                "default": 200,
                "description": "Maximum output lines, keeping the newest. Defaults to 200.",
                "type": "integer"
              },
              "pane_id": {
                "description": "The pane to act on, such as %1. Every listing tool returns these.",
                "type": "string"
              },
              "suppress_history": {
                "default": true,
                "description": "Best-effort persistent history suppression. Defaults to true.",
                "type": "boolean"
              },
              "timeout": {
                "default": 30,
                "description": "Seconds to wait before giving up. Defaults to 30.0.",
                "type": "number"
              }
            },
            "required": [
              "pane_id",
              "command"
            ],
            "type": "object"
          },
          "mayExposeSecrets": true,
          "mayReturnUntrustedContent": true,
          "name": "run_shell_command",
          "nestedAuthority": [],
          "outputClasses": [
            "tmux-metadata",
            "terminal-content"
          ],
          "outputSchema": {
            "additionalProperties": false,
            "properties": {
              "effective_timeout": {
                "type": "number"
              },
              "exit_status": {
                "type": "integer"
              },
              "framed": {
                "type": "boolean"
              },
              "lines_dropped": {
                "type": "integer"
              },
              "note": {
                "type": "string"
              },
              "outcome": {
                "type": "string"
              },
              "output": {
                "items": {
                  "type": "string"
                },
                "type": "array"
              },
              "pane_id": {
                "type": "string"
              },
              "seconds": {
                "type": "number"
              },
              "truncated": {
                "type": "boolean"
              }
            },
            "required": [
              "pane_id",
              "outcome",
              "output",
              "truncated",
              "lines_dropped",
              "framed",
              "seconds",
              "effective_timeout"
            ],
            "type": "object"
          },
          "processReach": "pane-command",
          "title": "Run a shell command",
          "tmuxEffects": [
            "observe",
            "change"
          ],
          "toolset": "execute"
        }
      }
    },
    {
      "name": "search_panes",
      "wireName": "search_panes",
      "source": {
        "repo": "libtmux/libtmux-java",
        "revision": "a0ecbc16da00140e2520462d478a2af470878272",
        "extractedRevision": "a0ecbc16da00140e2520462d478a2af470878272",
        "file": "libtmux-mcp/src/main/java/io/github/libtmux/mcp/InspectTools.java",
        "line": 201
      },
      "description": "Searches the visible output of every pane. Read pane output; accepts no client-supplied executable input. Returned content may be sensitive or untrusted.",
      "schemaStatus": "runtime",
      "inputSchema": {
        "additionalProperties": false,
        "properties": {
          "max_lines": {
            "default": 200,
            "description": "Maximum matches across all panes. Defaults to 200.",
            "type": "integer"
          },
          "max_matches_per_pane": {
            "default": 5,
            "description": "Maximum matching lines per pane. Defaults to 5.",
            "type": "integer"
          },
          "pattern": {
            "description": "The bounded text or regular expression to search for.",
            "maxLength": 4096,
            "type": "string"
          },
          "regex": {
            "default": false,
            "description": "Treat pattern as a regular expression. Defaults to false.",
            "type": "boolean"
          }
        },
        "required": [
          "pattern"
        ],
        "type": "object"
      },
      "outputSchema": {
        "additionalProperties": false,
        "properties": {
          "bytes_searched": {
            "type": "integer"
          },
          "count": {
            "type": "integer"
          },
          "lines_searched": {
            "type": "integer"
          },
          "matches": {
            "items": {
              "additionalProperties": false,
              "properties": {
                "line": {
                  "type": "string"
                },
                "pane_id": {
                  "type": "string"
                },
                "session": {
                  "type": "string"
                },
                "window": {
                  "type": "string"
                }
              },
              "required": [
                "pane_id",
                "session",
                "window",
                "line"
              ],
              "type": "object"
            },
            "type": "array"
          },
          "note": {
            "type": "string"
          },
          "panes_searched": {
            "type": "integer"
          },
          "truncated": {
            "type": "boolean"
          },
          "work_seconds": {
            "type": "number"
          }
        },
        "required": [
          "count",
          "panes_searched",
          "lines_searched",
          "bytes_searched",
          "work_seconds",
          "truncated",
          "matches"
        ],
        "type": "object"
      },
      "annotations": {
        "destructiveHint": true,
        "idempotentHint": false,
        "openWorldHint": true,
        "readOnlyHint": false,
        "title": "Search panes"
      },
      "meta": {
        "com.git-pull.libtmux-mcp/capability": {
          "amplifiesFutureInput": false,
          "annotations": {
            "destructiveHint": true,
            "idempotentHint": false,
            "openWorldHint": true,
            "readOnlyHint": false
          },
          "description": "Searches the visible output of every pane. Read pane output; accepts no client-supplied executable input. Returned content may be sensitive or untrusted.",
          "inputLiteralization": {},
          "inputSchema": {
            "additionalProperties": false,
            "properties": {
              "max_lines": {
                "default": 200,
                "description": "Maximum matches across all panes. Defaults to 200.",
                "type": "integer"
              },
              "max_matches_per_pane": {
                "default": 5,
                "description": "Maximum matching lines per pane. Defaults to 5.",
                "type": "integer"
              },
              "pattern": {
                "description": "The bounded text or regular expression to search for.",
                "maxLength": 4096,
                "type": "string"
              },
              "regex": {
                "default": false,
                "description": "Treat pattern as a regular expression. Defaults to false.",
                "type": "boolean"
              }
            },
            "required": [
              "pattern"
            ],
            "type": "object"
          },
          "mayExposeSecrets": true,
          "mayReturnUntrustedContent": true,
          "name": "search_panes",
          "nestedAuthority": [],
          "outputClasses": [
            "tmux-metadata",
            "terminal-content"
          ],
          "outputSchema": {
            "additionalProperties": false,
            "properties": {
              "bytes_searched": {
                "type": "integer"
              },
              "count": {
                "type": "integer"
              },
              "lines_searched": {
                "type": "integer"
              },
              "matches": {
                "items": {
                  "additionalProperties": false,
                  "properties": {
                    "line": {
                      "type": "string"
                    },
                    "pane_id": {
                      "type": "string"
                    },
                    "session": {
                      "type": "string"
                    },
                    "window": {
                      "type": "string"
                    }
                  },
                  "required": [
                    "pane_id",
                    "session",
                    "window",
                    "line"
                  ],
                  "type": "object"
                },
                "type": "array"
              },
              "note": {
                "type": "string"
              },
              "panes_searched": {
                "type": "integer"
              },
              "truncated": {
                "type": "boolean"
              },
              "work_seconds": {
                "type": "number"
              }
            },
            "required": [
              "count",
              "panes_searched",
              "lines_searched",
              "bytes_searched",
              "work_seconds",
              "truncated",
              "matches"
            ],
            "type": "object"
          },
          "processReach": "none",
          "title": "Search panes",
          "tmuxEffects": [
            "observe"
          ],
          "toolset": "inspect"
        }
      }
    },
    {
      "name": "select_layout",
      "wireName": "select_layout",
      "source": {
        "repo": "libtmux/libtmux-java",
        "revision": "a0ecbc16da00140e2520462d478a2af470878272",
        "extractedRevision": "a0ecbc16da00140e2520462d478a2af470878272",
        "file": "libtmux-mcp/src/main/java/io/github/libtmux/mcp/ManageTools.java",
        "line": 75
      },
      "description": "Applies a named tmux layout, a unique abbreviation or a checksummed saved layout. Names follow the running daemon's version; mirrored main layouts require tmux 3.5. Malformed syntax is refused before window lookup; tmux validates geometry. Change tmux state; no client-supplied executable input.",
      "schemaStatus": "runtime",
      "inputSchema": {
        "additionalProperties": false,
        "properties": {
          "layout": {
            "description": "A built-in name, unique abbreviation or saved tmux layout. Existing enum-style names are also accepted.",
            "type": "string"
          },
          "window_id": {
            "description": "The window ID, such as @1.",
            "type": "string"
          }
        },
        "required": [
          "window_id",
          "layout"
        ],
        "type": "object"
      },
      "outputSchema": {
        "additionalProperties": false,
        "properties": {
          "id": {
            "type": "string"
          },
          "kind": {
            "type": "string"
          },
          "note": {
            "type": "string"
          },
          "what": {
            "type": "string"
          }
        },
        "required": [
          "kind",
          "id",
          "what"
        ],
        "type": "object"
      },
      "annotations": {
        "destructiveHint": true,
        "idempotentHint": false,
        "openWorldHint": true,
        "readOnlyHint": false,
        "title": "Select a layout"
      },
      "meta": {
        "com.git-pull.libtmux-mcp/capability": {
          "amplifiesFutureInput": false,
          "annotations": {
            "destructiveHint": true,
            "idempotentHint": false,
            "openWorldHint": true,
            "readOnlyHint": false
          },
          "description": "Applies a named tmux layout, a unique abbreviation or a checksummed saved layout. Names follow the running daemon's version; mirrored main layouts require tmux 3.5. Malformed syntax is refused before window lookup; tmux validates geometry. Change tmux state; no client-supplied executable input.",
          "inputLiteralization": {},
          "inputSchema": {
            "additionalProperties": false,
            "properties": {
              "layout": {
                "description": "A built-in name, unique abbreviation or saved tmux layout. Existing enum-style names are also accepted.",
                "type": "string"
              },
              "window_id": {
                "description": "The window ID, such as @1.",
                "type": "string"
              }
            },
            "required": [
              "window_id",
              "layout"
            ],
            "type": "object"
          },
          "mayExposeSecrets": false,
          "mayReturnUntrustedContent": false,
          "name": "select_layout",
          "nestedAuthority": [],
          "outputClasses": [
            "tmux-metadata"
          ],
          "outputSchema": {
            "additionalProperties": false,
            "properties": {
              "id": {
                "type": "string"
              },
              "kind": {
                "type": "string"
              },
              "note": {
                "type": "string"
              },
              "what": {
                "type": "string"
              }
            },
            "required": [
              "kind",
              "id",
              "what"
            ],
            "type": "object"
          },
          "processReach": "none",
          "title": "Select a layout",
          "tmuxEffects": [
            "observe",
            "change"
          ],
          "toolset": "manage"
        }
      }
    },
    {
      "name": "select_pane",
      "wireName": "select_pane",
      "source": {
        "repo": "libtmux/libtmux-java",
        "revision": "a0ecbc16da00140e2520462d478a2af470878272",
        "extractedRevision": "a0ecbc16da00140e2520462d478a2af470878272",
        "file": "libtmux-mcp/src/main/java/io/github/libtmux/mcp/ManageTools.java",
        "line": 66
      },
      "description": "Makes one pane active. Change tmux state; no client-supplied executable input.",
      "schemaStatus": "runtime",
      "inputSchema": {
        "additionalProperties": false,
        "properties": {
          "pane_id": {
            "description": "The pane to act on, such as %1. Every listing tool returns these.",
            "type": "string"
          }
        },
        "required": [
          "pane_id"
        ],
        "type": "object"
      },
      "outputSchema": {
        "additionalProperties": false,
        "properties": {
          "active": {
            "type": "boolean"
          },
          "command": {
            "type": "string"
          },
          "id": {
            "type": "string"
          },
          "index": {
            "type": "integer"
          },
          "path": {
            "type": "string"
          },
          "session_id": {
            "type": "string"
          },
          "size": {
            "type": "string"
          },
          "title": {
            "type": "string"
          },
          "window_id": {
            "type": "string"
          }
        },
        "required": [
          "id",
          "index",
          "window_id",
          "session_id",
          "active",
          "command",
          "path",
          "title",
          "size"
        ],
        "type": "object"
      },
      "annotations": {
        "destructiveHint": true,
        "idempotentHint": false,
        "openWorldHint": true,
        "readOnlyHint": false,
        "title": "Select a pane"
      },
      "meta": {
        "com.git-pull.libtmux-mcp/capability": {
          "amplifiesFutureInput": false,
          "annotations": {
            "destructiveHint": true,
            "idempotentHint": false,
            "openWorldHint": true,
            "readOnlyHint": false
          },
          "description": "Makes one pane active. Change tmux state; no client-supplied executable input.",
          "inputLiteralization": {},
          "inputSchema": {
            "additionalProperties": false,
            "properties": {
              "pane_id": {
                "description": "The pane to act on, such as %1. Every listing tool returns these.",
                "type": "string"
              }
            },
            "required": [
              "pane_id"
            ],
            "type": "object"
          },
          "mayExposeSecrets": true,
          "mayReturnUntrustedContent": true,
          "name": "select_pane",
          "nestedAuthority": [],
          "outputClasses": [
            "tmux-metadata"
          ],
          "outputSchema": {
            "additionalProperties": false,
            "properties": {
              "active": {
                "type": "boolean"
              },
              "command": {
                "type": "string"
              },
              "id": {
                "type": "string"
              },
              "index": {
                "type": "integer"
              },
              "path": {
                "type": "string"
              },
              "session_id": {
                "type": "string"
              },
              "size": {
                "type": "string"
              },
              "title": {
                "type": "string"
              },
              "window_id": {
                "type": "string"
              }
            },
            "required": [
              "id",
              "index",
              "window_id",
              "session_id",
              "active",
              "command",
              "path",
              "title",
              "size"
            ],
            "type": "object"
          },
          "processReach": "none",
          "title": "Select a pane",
          "tmuxEffects": [
            "observe",
            "change"
          ],
          "toolset": "manage"
        }
      }
    },
    {
      "name": "select_window",
      "wireName": "select_window",
      "source": {
        "repo": "libtmux/libtmux-java",
        "revision": "a0ecbc16da00140e2520462d478a2af470878272",
        "extractedRevision": "a0ecbc16da00140e2520462d478a2af470878272",
        "file": "libtmux-mcp/src/main/java/io/github/libtmux/mcp/ManageTools.java",
        "line": 57
      },
      "description": "Makes one window active. Change tmux state; no client-supplied executable input.",
      "schemaStatus": "runtime",
      "inputSchema": {
        "additionalProperties": false,
        "properties": {
          "window_id": {
            "description": "The window ID, such as @1.",
            "type": "string"
          }
        },
        "required": [
          "window_id"
        ],
        "type": "object"
      },
      "outputSchema": {
        "additionalProperties": false,
        "properties": {
          "active": {
            "type": "boolean"
          },
          "id": {
            "type": "string"
          },
          "index": {
            "type": "integer"
          },
          "name": {
            "type": "string"
          },
          "panes": {
            "type": "integer"
          },
          "session_id": {
            "type": "string"
          },
          "size": {
            "type": "string"
          }
        },
        "required": [
          "id",
          "index",
          "name",
          "session_id",
          "active",
          "panes",
          "size"
        ],
        "type": "object"
      },
      "annotations": {
        "destructiveHint": true,
        "idempotentHint": false,
        "openWorldHint": true,
        "readOnlyHint": false,
        "title": "Select a window"
      },
      "meta": {
        "com.git-pull.libtmux-mcp/capability": {
          "amplifiesFutureInput": false,
          "annotations": {
            "destructiveHint": true,
            "idempotentHint": false,
            "openWorldHint": true,
            "readOnlyHint": false
          },
          "description": "Makes one window active. Change tmux state; no client-supplied executable input.",
          "inputLiteralization": {},
          "inputSchema": {
            "additionalProperties": false,
            "properties": {
              "window_id": {
                "description": "The window ID, such as @1.",
                "type": "string"
              }
            },
            "required": [
              "window_id"
            ],
            "type": "object"
          },
          "mayExposeSecrets": true,
          "mayReturnUntrustedContent": true,
          "name": "select_window",
          "nestedAuthority": [],
          "outputClasses": [
            "tmux-metadata"
          ],
          "outputSchema": {
            "additionalProperties": false,
            "properties": {
              "active": {
                "type": "boolean"
              },
              "id": {
                "type": "string"
              },
              "index": {
                "type": "integer"
              },
              "name": {
                "type": "string"
              },
              "panes": {
                "type": "integer"
              },
              "session_id": {
                "type": "string"
              },
              "size": {
                "type": "string"
              }
            },
            "required": [
              "id",
              "index",
              "name",
              "session_id",
              "active",
              "panes",
              "size"
            ],
            "type": "object"
          },
          "processReach": "none",
          "title": "Select a window",
          "tmuxEffects": [
            "observe",
            "change"
          ],
          "toolset": "manage"
        }
      }
    },
    {
      "name": "send_keys",
      "wireName": "send_keys",
      "source": {
        "repo": "libtmux/libtmux-java",
        "revision": "a0ecbc16da00140e2520462d478a2af470878272",
        "extractedRevision": "a0ecbc16da00140e2520462d478a2af470878272",
        "file": "libtmux-mcp/src/main/java/io/github/libtmux/mcp/ExecuteTools.java",
        "line": 176
      },
      "description": "Sends input to the target's configured effective synchronized cohort without waiting for output. Every configured member must be live, nonmodal, and neither caller nor attended. Reports configured pane ids observed before dispatch, not delivery receipts. wait_for_text discounts recognized input; wait for the prompt before typing into a cold shell. Send input to a pane's program; a shell that receives it runs it with your user's permissions.",
      "schemaStatus": "runtime",
      "inputSchema": {
        "additionalProperties": false,
        "properties": {
          "enter": {
            "default": false,
            "description": "Press Enter afterward, as a real keypress. Unlike a key named \"Enter\" sent under literal:true, which types the four letters, this always submits. Defaults to false.",
            "type": "boolean"
          },
          "keys": {
            "description": "The key names or literal strings to send. One value may be sent on its own, without a list.",
            "items": {
              "type": "string"
            },
            "type": [
              "array",
              "string"
            ]
          },
          "literal": {
            "default": false,
            "description": "Send strings literally instead of as key names. Defaults to false.",
            "type": "boolean"
          },
          "pane_id": {
            "description": "The pane to act on, such as %1. Every listing tool returns these.",
            "type": "string"
          }
        },
        "required": [
          "pane_id"
        ],
        "type": "object"
      },
      "outputSchema": {
        "additionalProperties": false,
        "properties": {
          "keys": {
            "type": "integer"
          },
          "literal": {
            "type": "boolean"
          },
          "note": {
            "type": "string"
          },
          "pane_id": {
            "type": "string"
          },
          "resolved_pane_ids": {
            "items": {
              "type": "string"
            },
            "type": "array"
          }
        },
        "required": [
          "pane_id",
          "keys",
          "literal",
          "resolved_pane_ids"
        ],
        "type": "object"
      },
      "annotations": {
        "destructiveHint": true,
        "idempotentHint": false,
        "openWorldHint": true,
        "readOnlyHint": false,
        "title": "Send keys"
      },
      "meta": {
        "com.git-pull.libtmux-mcp/capability": {
          "amplifiesFutureInput": false,
          "annotations": {
            "destructiveHint": true,
            "idempotentHint": false,
            "openWorldHint": true,
            "readOnlyHint": false
          },
          "description": "Sends input to the target's configured effective synchronized cohort without waiting for output. Every configured member must be live, nonmodal, and neither caller nor attended. Reports configured pane ids observed before dispatch, not delivery receipts. wait_for_text discounts recognized input; wait for the prompt before typing into a cold shell. Send input to a pane's program; a shell that receives it runs it with your user's permissions.",
          "inputLiteralization": {},
          "inputSchema": {
            "additionalProperties": false,
            "properties": {
              "enter": {
                "default": false,
                "description": "Press Enter afterward, as a real keypress. Unlike a key named \"Enter\" sent under literal:true, which types the four letters, this always submits. Defaults to false.",
                "type": "boolean"
              },
              "keys": {
                "description": "The key names or literal strings to send. One value may be sent on its own, without a list.",
                "items": {
                  "type": "string"
                },
                "type": [
                  "array",
                  "string"
                ]
              },
              "literal": {
                "default": false,
                "description": "Send strings literally instead of as key names. Defaults to false.",
                "type": "boolean"
              },
              "pane_id": {
                "description": "The pane to act on, such as %1. Every listing tool returns these.",
                "type": "string"
              }
            },
            "required": [
              "pane_id"
            ],
            "type": "object"
          },
          "mayExposeSecrets": false,
          "mayReturnUntrustedContent": false,
          "name": "send_keys",
          "nestedAuthority": [],
          "outputClasses": [
            "tmux-metadata"
          ],
          "outputSchema": {
            "additionalProperties": false,
            "properties": {
              "keys": {
                "type": "integer"
              },
              "literal": {
                "type": "boolean"
              },
              "note": {
                "type": "string"
              },
              "pane_id": {
                "type": "string"
              },
              "resolved_pane_ids": {
                "items": {
                  "type": "string"
                },
                "type": "array"
              }
            },
            "required": [
              "pane_id",
              "keys",
              "literal",
              "resolved_pane_ids"
            ],
            "type": "object"
          },
          "processReach": "pane-input",
          "title": "Send keys",
          "tmuxEffects": [
            "observe",
            "change"
          ],
          "toolset": "execute"
        }
      }
    },
    {
      "name": "send_keys_batch",
      "wireName": "send_keys_batch",
      "source": {
        "repo": "libtmux/libtmux-java",
        "revision": "a0ecbc16da00140e2520462d478a2af470878272",
        "extractedRevision": "a0ecbc16da00140e2520462d478a2af470878272",
        "file": "libtmux-mcp/src/main/java/io/github/libtmux/mcp/ExecuteTools.java",
        "line": 197
      },
      "description": "Sends up to sixty-four ordered pane-input operations, resolving and guarding the configured effective cohort separately for each ordered operation. A later policy or dispatch failure retains observed membership. Send input to a pane's program; a shell that receives it runs it with your user's permissions.",
      "schemaStatus": "runtime",
      "inputSchema": {
        "additionalProperties": false,
        "properties": {
          "onError": {
            "description": "stop or continue; defaults to stop.",
            "type": "string"
          },
          "operations": {
            "description": "Objects with pane_id, keys and optional literal and enter fields.",
            "items": {
              "type": "object"
            },
            "maxItems": 64,
            "type": "array"
          }
        },
        "required": [
          "operations"
        ],
        "type": "object"
      },
      "outputSchema": {
        "additionalProperties": false,
        "properties": {
          "completed": {
            "type": "integer"
          },
          "results": {
            "items": {
              "additionalProperties": false,
              "properties": {
                "error": {
                  "type": "string"
                },
                "error_code": {
                  "type": "string"
                },
                "index": {
                  "type": "integer"
                },
                "pane_id": {
                  "type": "string"
                },
                "resolved_pane_ids": {
                  "items": {
                    "type": "string"
                  },
                  "type": "array"
                },
                "retryable": {
                  "type": "boolean"
                },
                "success": {
                  "type": "boolean"
                }
              },
              "required": [
                "index",
                "pane_id",
                "resolved_pane_ids",
                "success"
              ],
              "type": "object"
            },
            "type": "array"
          }
        },
        "required": [
          "results",
          "completed"
        ],
        "type": "object"
      },
      "annotations": {
        "destructiveHint": true,
        "idempotentHint": false,
        "openWorldHint": true,
        "readOnlyHint": false,
        "title": "Send keys in a batch"
      },
      "meta": {
        "com.git-pull.libtmux-mcp/capability": {
          "amplifiesFutureInput": false,
          "annotations": {
            "destructiveHint": true,
            "idempotentHint": false,
            "openWorldHint": true,
            "readOnlyHint": false
          },
          "description": "Sends up to sixty-four ordered pane-input operations, resolving and guarding the configured effective cohort separately for each ordered operation. A later policy or dispatch failure retains observed membership. Send input to a pane's program; a shell that receives it runs it with your user's permissions.",
          "inputLiteralization": {},
          "inputSchema": {
            "additionalProperties": false,
            "properties": {
              "onError": {
                "description": "stop or continue; defaults to stop.",
                "type": "string"
              },
              "operations": {
                "description": "Objects with pane_id, keys and optional literal and enter fields.",
                "items": {
                  "type": "object"
                },
                "maxItems": 64,
                "type": "array"
              }
            },
            "required": [
              "operations"
            ],
            "type": "object"
          },
          "mayExposeSecrets": true,
          "mayReturnUntrustedContent": true,
          "name": "send_keys_batch",
          "nestedAuthority": [],
          "outputClasses": [
            "tmux-metadata"
          ],
          "outputSchema": {
            "additionalProperties": false,
            "properties": {
              "completed": {
                "type": "integer"
              },
              "results": {
                "items": {
                  "additionalProperties": false,
                  "properties": {
                    "error": {
                      "type": "string"
                    },
                    "error_code": {
                      "type": "string"
                    },
                    "index": {
                      "type": "integer"
                    },
                    "pane_id": {
                      "type": "string"
                    },
                    "resolved_pane_ids": {
                      "items": {
                        "type": "string"
                      },
                      "type": "array"
                    },
                    "retryable": {
                      "type": "boolean"
                    },
                    "success": {
                      "type": "boolean"
                    }
                  },
                  "required": [
                    "index",
                    "pane_id",
                    "resolved_pane_ids",
                    "success"
                  ],
                  "type": "object"
                },
                "type": "array"
              }
            },
            "required": [
              "results",
              "completed"
            ],
            "type": "object"
          },
          "processReach": "pane-input",
          "title": "Send keys in a batch",
          "tmuxEffects": [
            "observe",
            "change"
          ],
          "toolset": "execute"
        }
      }
    },
    {
      "name": "set_history_limit",
      "wireName": "set_history_limit",
      "source": {
        "repo": "libtmux/libtmux-java",
        "revision": "a0ecbc16da00140e2520462d478a2af470878272",
        "extractedRevision": "a0ecbc16da00140e2520462d478a2af470878272",
        "file": "libtmux-mcp/src/main/java/io/github/libtmux/mcp/ManageTools.java",
        "line": 198
      },
      "description": "Sets a bounded integer scrollback limit for future panes in a session. Change tmux state; no client-supplied executable input.",
      "schemaStatus": "runtime",
      "inputSchema": {
        "additionalProperties": false,
        "properties": {
          "lines": {
            "description": "The nonnegative retained line count.",
            "type": "integer"
          },
          "session_id": {
            "description": "The session ID, such as $1.",
            "type": "string"
          }
        },
        "required": [
          "session_id",
          "lines"
        ],
        "type": "object"
      },
      "outputSchema": {
        "additionalProperties": false,
        "properties": {
          "lines": {
            "type": "integer"
          },
          "session_id": {
            "type": "string"
          }
        },
        "required": [
          "session_id",
          "lines"
        ],
        "type": "object"
      },
      "annotations": {
        "destructiveHint": true,
        "idempotentHint": false,
        "openWorldHint": true,
        "readOnlyHint": false,
        "title": "Set history limit"
      },
      "meta": {
        "com.git-pull.libtmux-mcp/capability": {
          "amplifiesFutureInput": false,
          "annotations": {
            "destructiveHint": true,
            "idempotentHint": false,
            "openWorldHint": true,
            "readOnlyHint": false
          },
          "description": "Sets a bounded integer scrollback limit for future panes in a session. Change tmux state; no client-supplied executable input.",
          "inputLiteralization": {},
          "inputSchema": {
            "additionalProperties": false,
            "properties": {
              "lines": {
                "description": "The nonnegative retained line count.",
                "type": "integer"
              },
              "session_id": {
                "description": "The session ID, such as $1.",
                "type": "string"
              }
            },
            "required": [
              "session_id",
              "lines"
            ],
            "type": "object"
          },
          "mayExposeSecrets": false,
          "mayReturnUntrustedContent": false,
          "name": "set_history_limit",
          "nestedAuthority": [],
          "outputClasses": [
            "tmux-metadata"
          ],
          "outputSchema": {
            "additionalProperties": false,
            "properties": {
              "lines": {
                "type": "integer"
              },
              "session_id": {
                "type": "string"
              }
            },
            "required": [
              "session_id",
              "lines"
            ],
            "type": "object"
          },
          "processReach": "none",
          "title": "Set history limit",
          "tmuxEffects": [
            "change"
          ],
          "toolset": "manage"
        }
      }
    },
    {
      "name": "set_mouse_enabled",
      "wireName": "set_mouse_enabled",
      "source": {
        "repo": "libtmux/libtmux-java",
        "revision": "a0ecbc16da00140e2520462d478a2af470878272",
        "extractedRevision": "a0ecbc16da00140e2520462d478a2af470878272",
        "file": "libtmux-mcp/src/main/java/io/github/libtmux/mcp/ManageTools.java",
        "line": 189
      },
      "description": "Enables or disables tmux mouse handling. Change tmux state; no client-supplied executable input.",
      "schemaStatus": "runtime",
      "inputSchema": {
        "additionalProperties": false,
        "properties": {
          "enabled": {
            "default": false,
            "description": "Whether mouse handling is enabled. Defaults to false.",
            "type": "boolean"
          }
        },
        "required": [],
        "type": "object"
      },
      "outputSchema": {
        "additionalProperties": false,
        "properties": {
          "enabled": {
            "type": "boolean"
          }
        },
        "required": [
          "enabled"
        ],
        "type": "object"
      },
      "annotations": {
        "destructiveHint": true,
        "idempotentHint": false,
        "openWorldHint": true,
        "readOnlyHint": false,
        "title": "Set mouse handling"
      },
      "meta": {
        "com.git-pull.libtmux-mcp/capability": {
          "amplifiesFutureInput": false,
          "annotations": {
            "destructiveHint": true,
            "idempotentHint": false,
            "openWorldHint": true,
            "readOnlyHint": false
          },
          "description": "Enables or disables tmux mouse handling. Change tmux state; no client-supplied executable input.",
          "inputLiteralization": {},
          "inputSchema": {
            "additionalProperties": false,
            "properties": {
              "enabled": {
                "default": false,
                "description": "Whether mouse handling is enabled. Defaults to false.",
                "type": "boolean"
              }
            },
            "required": [],
            "type": "object"
          },
          "mayExposeSecrets": false,
          "mayReturnUntrustedContent": false,
          "name": "set_mouse_enabled",
          "nestedAuthority": [],
          "outputClasses": [
            "tmux-metadata"
          ],
          "outputSchema": {
            "additionalProperties": false,
            "properties": {
              "enabled": {
                "type": "boolean"
              }
            },
            "required": [
              "enabled"
            ],
            "type": "object"
          },
          "processReach": "none",
          "title": "Set mouse handling",
          "tmuxEffects": [
            "change"
          ],
          "toolset": "manage"
        }
      }
    },
    {
      "name": "set_pane_title",
      "wireName": "set_pane_title",
      "source": {
        "repo": "libtmux/libtmux-java",
        "revision": "a0ecbc16da00140e2520462d478a2af470878272",
        "extractedRevision": "a0ecbc16da00140e2520462d478a2af470878272",
        "file": "libtmux-mcp/src/main/java/io/github/libtmux/mcp/ManageTools.java",
        "line": 148
      },
      "description": "Replaces a pane's literal title. Change tmux state; no client-supplied executable input.",
      "schemaStatus": "runtime",
      "inputSchema": {
        "additionalProperties": false,
        "properties": {
          "pane_id": {
            "description": "The pane to act on, such as %1. Every listing tool returns these.",
            "type": "string"
          },
          "title": {
            "description": "The literal title.",
            "type": "string"
          }
        },
        "required": [
          "pane_id",
          "title"
        ],
        "type": "object"
      },
      "outputSchema": {
        "additionalProperties": false,
        "properties": {
          "active": {
            "type": "boolean"
          },
          "command": {
            "type": "string"
          },
          "id": {
            "type": "string"
          },
          "index": {
            "type": "integer"
          },
          "path": {
            "type": "string"
          },
          "session_id": {
            "type": "string"
          },
          "size": {
            "type": "string"
          },
          "title": {
            "type": "string"
          },
          "window_id": {
            "type": "string"
          }
        },
        "required": [
          "id",
          "index",
          "window_id",
          "session_id",
          "active",
          "command",
          "path",
          "title",
          "size"
        ],
        "type": "object"
      },
      "annotations": {
        "destructiveHint": true,
        "idempotentHint": false,
        "openWorldHint": true,
        "readOnlyHint": false,
        "title": "Set pane title"
      },
      "meta": {
        "com.git-pull.libtmux-mcp/capability": {
          "amplifiesFutureInput": false,
          "annotations": {
            "destructiveHint": true,
            "idempotentHint": false,
            "openWorldHint": true,
            "readOnlyHint": false
          },
          "description": "Replaces a pane's literal title. Change tmux state; no client-supplied executable input.",
          "inputLiteralization": {
            "title": "double-hash-once"
          },
          "inputSchema": {
            "additionalProperties": false,
            "properties": {
              "pane_id": {
                "description": "The pane to act on, such as %1. Every listing tool returns these.",
                "type": "string"
              },
              "title": {
                "description": "The literal title.",
                "type": "string"
              }
            },
            "required": [
              "pane_id",
              "title"
            ],
            "type": "object"
          },
          "mayExposeSecrets": true,
          "mayReturnUntrustedContent": true,
          "name": "set_pane_title",
          "nestedAuthority": [],
          "outputClasses": [
            "tmux-metadata"
          ],
          "outputSchema": {
            "additionalProperties": false,
            "properties": {
              "active": {
                "type": "boolean"
              },
              "command": {
                "type": "string"
              },
              "id": {
                "type": "string"
              },
              "index": {
                "type": "integer"
              },
              "path": {
                "type": "string"
              },
              "session_id": {
                "type": "string"
              },
              "size": {
                "type": "string"
              },
              "title": {
                "type": "string"
              },
              "window_id": {
                "type": "string"
              }
            },
            "required": [
              "id",
              "index",
              "window_id",
              "session_id",
              "active",
              "command",
              "path",
              "title",
              "size"
            ],
            "type": "object"
          },
          "processReach": "none",
          "title": "Set pane title",
          "tmuxEffects": [
            "observe",
            "change"
          ],
          "toolset": "manage"
        }
      }
    },
    {
      "name": "set_synchronize_panes",
      "wireName": "set_synchronize_panes",
      "source": {
        "repo": "libtmux/libtmux-java",
        "revision": "a0ecbc16da00140e2520462d478a2af470878272",
        "extractedRevision": "a0ecbc16da00140e2520462d478a2af470878272",
        "file": "libtmux-mcp/src/main/java/io/github/libtmux/mcp/ExecuteTools.java",
        "line": 239
      },
      "description": "When enabled, sets the inherited window default; pane-level overrides determine each pane's effective synchronized value. Change tmux state; no client-supplied executable input.",
      "schemaStatus": "runtime",
      "inputSchema": {
        "additionalProperties": false,
        "properties": {
          "enabled": {
            "default": false,
            "description": "Whether pane input is synchronized. Defaults to false.",
            "type": "boolean"
          },
          "window_id": {
            "description": "The window ID, such as @1.",
            "type": "string"
          }
        },
        "required": [
          "window_id"
        ],
        "type": "object"
      },
      "outputSchema": {
        "additionalProperties": false,
        "properties": {
          "enabled": {
            "type": "boolean"
          },
          "window_id": {
            "type": "string"
          }
        },
        "required": [
          "window_id",
          "enabled"
        ],
        "type": "object"
      },
      "annotations": {
        "destructiveHint": true,
        "idempotentHint": false,
        "openWorldHint": true,
        "readOnlyHint": false,
        "title": "Set synchronized panes"
      },
      "meta": {
        "com.git-pull.libtmux-mcp/capability": {
          "amplifiesFutureInput": true,
          "annotations": {
            "destructiveHint": true,
            "idempotentHint": false,
            "openWorldHint": true,
            "readOnlyHint": false
          },
          "description": "When enabled, sets the inherited window default; pane-level overrides determine each pane's effective synchronized value. Change tmux state; no client-supplied executable input.",
          "inputLiteralization": {},
          "inputSchema": {
            "additionalProperties": false,
            "properties": {
              "enabled": {
                "default": false,
                "description": "Whether pane input is synchronized. Defaults to false.",
                "type": "boolean"
              },
              "window_id": {
                "description": "The window ID, such as @1.",
                "type": "string"
              }
            },
            "required": [
              "window_id"
            ],
            "type": "object"
          },
          "mayExposeSecrets": false,
          "mayReturnUntrustedContent": false,
          "name": "set_synchronize_panes",
          "nestedAuthority": [],
          "outputClasses": [
            "tmux-metadata"
          ],
          "outputSchema": {
            "additionalProperties": false,
            "properties": {
              "enabled": {
                "type": "boolean"
              },
              "window_id": {
                "type": "string"
              }
            },
            "required": [
              "window_id",
              "enabled"
            ],
            "type": "object"
          },
          "processReach": "none",
          "title": "Set synchronized panes",
          "tmuxEffects": [
            "change"
          ],
          "toolset": "execute"
        }
      }
    },
    {
      "name": "show_environment",
      "wireName": "show_environment",
      "source": {
        "repo": "libtmux/libtmux-java",
        "revision": "a0ecbc16da00140e2520462d478a2af470878272",
        "extractedRevision": "a0ecbc16da00140e2520462d478a2af470878272",
        "file": "libtmux-mcp/src/main/java/io/github/libtmux/mcp/InspectTools.java",
        "line": 328
      },
      "description": "Reads the environment tmux passes to processes. Read the tmux environment; accepts no client-supplied executable input. Returned values may contain secrets.",
      "schemaStatus": "runtime",
      "inputSchema": {
        "additionalProperties": false,
        "properties": {
          "session_id": {
            "description": "A session, such as $1; omit both for the global environment.",
            "type": "string"
          },
          "session_name": {
            "description": "A session's exact name, in place of session_id.",
            "type": "string"
          }
        },
        "required": [],
        "type": "object"
      },
      "outputSchema": {
        "additionalProperties": false,
        "properties": {
          "count": {
            "type": "integer"
          },
          "session": {
            "type": "string"
          },
          "unset": {
            "items": {
              "type": "string"
            },
            "type": "array"
          },
          "variables": {
            "additionalProperties": {
              "type": "string"
            },
            "type": "object"
          }
        },
        "required": [
          "session",
          "count",
          "variables",
          "unset"
        ],
        "type": "object"
      },
      "annotations": {
        "destructiveHint": true,
        "idempotentHint": false,
        "openWorldHint": true,
        "readOnlyHint": false,
        "title": "Show tmux environment"
      },
      "meta": {
        "com.git-pull.libtmux-mcp/capability": {
          "amplifiesFutureInput": false,
          "annotations": {
            "destructiveHint": true,
            "idempotentHint": false,
            "openWorldHint": true,
            "readOnlyHint": false
          },
          "description": "Reads the environment tmux passes to processes. Read the tmux environment; accepts no client-supplied executable input. Returned values may contain secrets.",
          "inputLiteralization": {},
          "inputSchema": {
            "additionalProperties": false,
            "properties": {
              "session_id": {
                "description": "A session, such as $1; omit both for the global environment.",
                "type": "string"
              },
              "session_name": {
                "description": "A session's exact name, in place of session_id.",
                "type": "string"
              }
            },
            "required": [],
            "type": "object"
          },
          "mayExposeSecrets": true,
          "mayReturnUntrustedContent": true,
          "name": "show_environment",
          "nestedAuthority": [],
          "outputClasses": [
            "process-environment"
          ],
          "outputSchema": {
            "additionalProperties": false,
            "properties": {
              "count": {
                "type": "integer"
              },
              "session": {
                "type": "string"
              },
              "unset": {
                "items": {
                  "type": "string"
                },
                "type": "array"
              },
              "variables": {
                "additionalProperties": {
                  "type": "string"
                },
                "type": "object"
              }
            },
            "required": [
              "session",
              "count",
              "variables",
              "unset"
            ],
            "type": "object"
          },
          "processReach": "none",
          "title": "Show tmux environment",
          "tmuxEffects": [
            "observe"
          ],
          "toolset": "inspect"
        }
      }
    },
    {
      "name": "show_hooks",
      "wireName": "show_hooks",
      "source": {
        "repo": "libtmux/libtmux-java",
        "revision": "a0ecbc16da00140e2520462d478a2af470878272",
        "extractedRevision": "a0ecbc16da00140e2520462d478a2af470878272",
        "file": "libtmux-mcp/src/main/java/io/github/libtmux/mcp/InspectTools.java",
        "line": 352
      },
      "description": "Reads configured tmux hooks. Read configured tmux commands; accepts no client-supplied executable input. Returned values may contain executable configuration.",
      "schemaStatus": "runtime",
      "inputSchema": {
        "additionalProperties": false,
        "properties": {
          "name": {
            "description": "One hook name; omit to read all hooks in the scope.",
            "type": "string"
          },
          "scope": {
            "description": "global, server, session, window or pane.",
            "type": "string"
          },
          "target": {
            "description": "Required for session scope (an ID such as $1, or a name), window scope (@1) and pane scope (%1).",
            "type": "string"
          }
        },
        "required": [],
        "type": "object"
      },
      "outputSchema": {
        "additionalProperties": false,
        "properties": {
          "count": {
            "type": "integer"
          },
          "hooks": {
            "type": "object"
          },
          "scope": {
            "type": "string"
          },
          "target": {
            "type": "string"
          }
        },
        "required": [
          "scope",
          "target",
          "count",
          "hooks"
        ],
        "type": "object"
      },
      "annotations": {
        "destructiveHint": true,
        "idempotentHint": false,
        "openWorldHint": true,
        "readOnlyHint": false,
        "title": "Show hooks"
      },
      "meta": {
        "com.git-pull.libtmux-mcp/capability": {
          "amplifiesFutureInput": false,
          "annotations": {
            "destructiveHint": true,
            "idempotentHint": false,
            "openWorldHint": true,
            "readOnlyHint": false
          },
          "description": "Reads configured tmux hooks. Read configured tmux commands; accepts no client-supplied executable input. Returned values may contain executable configuration.",
          "inputLiteralization": {},
          "inputSchema": {
            "additionalProperties": false,
            "properties": {
              "name": {
                "description": "One hook name; omit to read all hooks in the scope.",
                "type": "string"
              },
              "scope": {
                "description": "global, server, session, window or pane.",
                "type": "string"
              },
              "target": {
                "description": "Required for session scope (an ID such as $1, or a name), window scope (@1) and pane scope (%1).",
                "type": "string"
              }
            },
            "required": [],
            "type": "object"
          },
          "mayExposeSecrets": true,
          "mayReturnUntrustedContent": true,
          "name": "show_hooks",
          "nestedAuthority": [],
          "outputClasses": [
            "configured-command"
          ],
          "outputSchema": {
            "additionalProperties": false,
            "properties": {
              "count": {
                "type": "integer"
              },
              "hooks": {
                "type": "object"
              },
              "scope": {
                "type": "string"
              },
              "target": {
                "type": "string"
              }
            },
            "required": [
              "scope",
              "target",
              "count",
              "hooks"
            ],
            "type": "object"
          },
          "processReach": "none",
          "title": "Show hooks",
          "tmuxEffects": [
            "observe"
          ],
          "toolset": "inspect"
        }
      }
    },
    {
      "name": "show_option",
      "wireName": "show_option",
      "source": {
        "repo": "libtmux/libtmux-java",
        "revision": "a0ecbc16da00140e2520462d478a2af470878272",
        "extractedRevision": "a0ecbc16da00140e2520462d478a2af470878272",
        "file": "libtmux-mcp/src/main/java/io/github/libtmux/mcp/InspectTools.java",
        "line": 306
      },
      "description": "Reads one named tmux option. Read configured tmux commands; accepts no client-supplied executable input. Returned values may contain executable configuration.",
      "schemaStatus": "runtime",
      "inputSchema": {
        "additionalProperties": false,
        "properties": {
          "effective": {
            "default": true,
            "description": "Include an inherited value. Defaults to true.",
            "type": "boolean"
          },
          "name": {
            "description": "The exact option name.",
            "type": "string"
          },
          "scope": {
            "description": "global, server, session, window or pane.",
            "type": "string"
          },
          "target": {
            "description": "Required for session scope (an ID such as $1, or a name), window scope (@1) and pane scope (%1).",
            "type": "string"
          }
        },
        "required": [
          "name"
        ],
        "type": "object"
      },
      "outputSchema": {
        "additionalProperties": false,
        "properties": {
          "name": {
            "type": "string"
          },
          "scope": {
            "type": "string"
          },
          "target": {
            "type": "string"
          },
          "value": {
            "type": "string"
          }
        },
        "required": [
          "scope",
          "target",
          "name",
          "value"
        ],
        "type": "object"
      },
      "annotations": {
        "destructiveHint": true,
        "idempotentHint": false,
        "openWorldHint": true,
        "readOnlyHint": false,
        "title": "Show one option"
      },
      "meta": {
        "com.git-pull.libtmux-mcp/capability": {
          "amplifiesFutureInput": false,
          "annotations": {
            "destructiveHint": true,
            "idempotentHint": false,
            "openWorldHint": true,
            "readOnlyHint": false
          },
          "description": "Reads one named tmux option. Read configured tmux commands; accepts no client-supplied executable input. Returned values may contain executable configuration.",
          "inputLiteralization": {},
          "inputSchema": {
            "additionalProperties": false,
            "properties": {
              "effective": {
                "default": true,
                "description": "Include an inherited value. Defaults to true.",
                "type": "boolean"
              },
              "name": {
                "description": "The exact option name.",
                "type": "string"
              },
              "scope": {
                "description": "global, server, session, window or pane.",
                "type": "string"
              },
              "target": {
                "description": "Required for session scope (an ID such as $1, or a name), window scope (@1) and pane scope (%1).",
                "type": "string"
              }
            },
            "required": [
              "name"
            ],
            "type": "object"
          },
          "mayExposeSecrets": true,
          "mayReturnUntrustedContent": true,
          "name": "show_option",
          "nestedAuthority": [],
          "outputClasses": [
            "tmux-metadata",
            "configured-command"
          ],
          "outputSchema": {
            "additionalProperties": false,
            "properties": {
              "name": {
                "type": "string"
              },
              "scope": {
                "type": "string"
              },
              "target": {
                "type": "string"
              },
              "value": {
                "type": "string"
              }
            },
            "required": [
              "scope",
              "target",
              "name",
              "value"
            ],
            "type": "object"
          },
          "processReach": "none",
          "title": "Show one option",
          "tmuxEffects": [
            "observe"
          ],
          "toolset": "inspect"
        }
      }
    },
    {
      "name": "signal_channel",
      "wireName": "signal_channel",
      "source": {
        "repo": "libtmux/libtmux-java",
        "revision": "a0ecbc16da00140e2520462d478a2af470878272",
        "extractedRevision": "a0ecbc16da00140e2520462d478a2af470878272",
        "file": "libtmux-mcp/src/main/java/io/github/libtmux/mcp/ManageTools.java",
        "line": 180
      },
      "description": "Signals one server-wide tmux channel. Change tmux state; no client-supplied executable input.",
      "schemaStatus": "runtime",
      "inputSchema": {
        "additionalProperties": false,
        "properties": {
          "channel": {
            "description": "The channel name.",
            "type": "string"
          }
        },
        "required": [
          "channel"
        ],
        "type": "object"
      },
      "outputSchema": {
        "additionalProperties": false,
        "properties": {
          "channel": {
            "type": "string"
          },
          "note": {
            "type": "string"
          }
        },
        "required": [
          "channel",
          "note"
        ],
        "type": "object"
      },
      "annotations": {
        "destructiveHint": true,
        "idempotentHint": false,
        "openWorldHint": true,
        "readOnlyHint": false,
        "title": "Signal a channel"
      },
      "meta": {
        "com.git-pull.libtmux-mcp/capability": {
          "amplifiesFutureInput": false,
          "annotations": {
            "destructiveHint": true,
            "idempotentHint": false,
            "openWorldHint": true,
            "readOnlyHint": false
          },
          "description": "Signals one server-wide tmux channel. Change tmux state; no client-supplied executable input.",
          "inputLiteralization": {},
          "inputSchema": {
            "additionalProperties": false,
            "properties": {
              "channel": {
                "description": "The channel name.",
                "type": "string"
              }
            },
            "required": [
              "channel"
            ],
            "type": "object"
          },
          "mayExposeSecrets": true,
          "mayReturnUntrustedContent": true,
          "name": "signal_channel",
          "nestedAuthority": [],
          "outputClasses": [
            "tmux-metadata"
          ],
          "outputSchema": {
            "additionalProperties": false,
            "properties": {
              "channel": {
                "type": "string"
              },
              "note": {
                "type": "string"
              }
            },
            "required": [
              "channel",
              "note"
            ],
            "type": "object"
          },
          "processReach": "none",
          "title": "Signal a channel",
          "tmuxEffects": [
            "change"
          ],
          "toolset": "manage"
        }
      }
    },
    {
      "name": "snapshot_pane",
      "wireName": "snapshot_pane",
      "source": {
        "repo": "libtmux/libtmux-java",
        "revision": "a0ecbc16da00140e2520462d478a2af470878272",
        "extractedRevision": "a0ecbc16da00140e2520462d478a2af470878272",
        "file": "libtmux-mcp/src/main/java/io/github/libtmux/mcp/InspectTools.java",
        "line": 171
      },
      "description": "Returns what a pane shows and its metadata, as list_panes describes a pane, in one call. Use it when both are needed; capture_pane alone reads less. Read pane output; accepts no client-supplied executable input. Returned content may be sensitive or untrusted.",
      "schemaStatus": "runtime",
      "inputSchema": {
        "additionalProperties": false,
        "properties": {
          "history": {
            "default": false,
            "description": "Include scrollback rather than only the visible screen. Defaults to false.",
            "type": "boolean"
          },
          "max_lines": {
            "default": 200,
            "description": "Maximum lines, keeping the newest. Defaults to 200.",
            "type": "integer"
          },
          "pane_id": {
            "description": "The pane to act on, such as %1. Every listing tool returns these.",
            "type": "string"
          }
        },
        "required": [
          "pane_id"
        ],
        "type": "object"
      },
      "outputSchema": {
        "additionalProperties": false,
        "properties": {
          "content": {
            "items": {
              "type": "string"
            },
            "type": "array"
          },
          "cursor": {
            "type": "string"
          },
          "lines_dropped": {
            "type": "integer"
          },
          "pane": {
            "type": "object"
          },
          "truncated": {
            "type": "boolean"
          }
        },
        "required": [
          "pane",
          "content",
          "cursor",
          "truncated",
          "lines_dropped"
        ],
        "type": "object"
      },
      "annotations": {
        "destructiveHint": true,
        "idempotentHint": false,
        "openWorldHint": true,
        "readOnlyHint": false,
        "title": "Snapshot a pane"
      },
      "meta": {
        "com.git-pull.libtmux-mcp/capability": {
          "amplifiesFutureInput": false,
          "annotations": {
            "destructiveHint": true,
            "idempotentHint": false,
            "openWorldHint": true,
            "readOnlyHint": false
          },
          "description": "Returns what a pane shows and its metadata, as list_panes describes a pane, in one call. Use it when both are needed; capture_pane alone reads less. Read pane output; accepts no client-supplied executable input. Returned content may be sensitive or untrusted.",
          "inputLiteralization": {},
          "inputSchema": {
            "additionalProperties": false,
            "properties": {
              "history": {
                "default": false,
                "description": "Include scrollback rather than only the visible screen. Defaults to false.",
                "type": "boolean"
              },
              "max_lines": {
                "default": 200,
                "description": "Maximum lines, keeping the newest. Defaults to 200.",
                "type": "integer"
              },
              "pane_id": {
                "description": "The pane to act on, such as %1. Every listing tool returns these.",
                "type": "string"
              }
            },
            "required": [
              "pane_id"
            ],
            "type": "object"
          },
          "mayExposeSecrets": true,
          "mayReturnUntrustedContent": true,
          "name": "snapshot_pane",
          "nestedAuthority": [],
          "outputClasses": [
            "tmux-metadata",
            "terminal-content"
          ],
          "outputSchema": {
            "additionalProperties": false,
            "properties": {
              "content": {
                "items": {
                  "type": "string"
                },
                "type": "array"
              },
              "cursor": {
                "type": "string"
              },
              "lines_dropped": {
                "type": "integer"
              },
              "pane": {
                "type": "object"
              },
              "truncated": {
                "type": "boolean"
              }
            },
            "required": [
              "pane",
              "content",
              "cursor",
              "truncated",
              "lines_dropped"
            ],
            "type": "object"
          },
          "processReach": "none",
          "title": "Snapshot a pane",
          "tmuxEffects": [
            "observe"
          ],
          "toolset": "inspect"
        }
      }
    },
    {
      "name": "split_window",
      "wireName": "split_window",
      "source": {
        "repo": "libtmux/libtmux-java",
        "revision": "a0ecbc16da00140e2520462d478a2af470878272",
        "extractedRevision": "a0ecbc16da00140e2520462d478a2af470878272",
        "file": "libtmux-mcp/src/main/java/io/github/libtmux/mcp/ExecuteTools.java",
        "line": 94
      },
      "description": "Creates a pane whose configured process starts after the split. Start a pane's configured process; accepts no command payload.",
      "schemaStatus": "runtime",
      "inputSchema": {
        "additionalProperties": false,
        "properties": {
          "direction": {
            "description": "below, above, left or right.",
            "type": "string"
          },
          "pane_id": {
            "description": "The pane to act on, such as %1. Every listing tool returns these.",
            "type": "string"
          },
          "percent": {
            "default": 50,
            "description": "Share of the split occupied by the new pane. Defaults to 50.",
            "type": "integer"
          },
          "start_directory": {
            "description": "An absolute literal start directory.",
            "type": "string"
          }
        },
        "required": [
          "pane_id"
        ],
        "type": "object"
      },
      "outputSchema": {
        "additionalProperties": false,
        "properties": {
          "active": {
            "type": "boolean"
          },
          "command": {
            "type": "string"
          },
          "id": {
            "type": "string"
          },
          "index": {
            "type": "integer"
          },
          "path": {
            "type": "string"
          },
          "session_id": {
            "type": "string"
          },
          "size": {
            "type": "string"
          },
          "title": {
            "type": "string"
          },
          "window_id": {
            "type": "string"
          }
        },
        "required": [
          "id",
          "index",
          "window_id",
          "session_id",
          "active",
          "command",
          "path",
          "title",
          "size"
        ],
        "type": "object"
      },
      "annotations": {
        "destructiveHint": true,
        "idempotentHint": false,
        "openWorldHint": true,
        "readOnlyHint": false,
        "title": "Split a window"
      },
      "meta": {
        "com.git-pull.libtmux-mcp/capability": {
          "amplifiesFutureInput": false,
          "annotations": {
            "destructiveHint": true,
            "idempotentHint": false,
            "openWorldHint": true,
            "readOnlyHint": false
          },
          "description": "Creates a pane whose configured process starts after the split. Start a pane's configured process; accepts no command payload.",
          "inputLiteralization": {
            "start_directory": "double-hash-once"
          },
          "inputSchema": {
            "additionalProperties": false,
            "properties": {
              "direction": {
                "description": "below, above, left or right.",
                "type": "string"
              },
              "pane_id": {
                "description": "The pane to act on, such as %1. Every listing tool returns these.",
                "type": "string"
              },
              "percent": {
                "default": 50,
                "description": "Share of the split occupied by the new pane. Defaults to 50.",
                "type": "integer"
              },
              "start_directory": {
                "description": "An absolute literal start directory.",
                "type": "string"
              }
            },
            "required": [
              "pane_id"
            ],
            "type": "object"
          },
          "mayExposeSecrets": true,
          "mayReturnUntrustedContent": true,
          "name": "split_window",
          "nestedAuthority": [],
          "outputClasses": [
            "tmux-metadata"
          ],
          "outputSchema": {
            "additionalProperties": false,
            "properties": {
              "active": {
                "type": "boolean"
              },
              "command": {
                "type": "string"
              },
              "id": {
                "type": "string"
              },
              "index": {
                "type": "integer"
              },
              "path": {
                "type": "string"
              },
              "session_id": {
                "type": "string"
              },
              "size": {
                "type": "string"
              },
              "title": {
                "type": "string"
              },
              "window_id": {
                "type": "string"
              }
            },
            "required": [
              "id",
              "index",
              "window_id",
              "session_id",
              "active",
              "command",
              "path",
              "title",
              "size"
            ],
            "type": "object"
          },
          "processReach": "configured-process",
          "title": "Split a window",
          "tmuxEffects": [
            "observe",
            "change"
          ],
          "toolset": "execute"
        }
      }
    },
    {
      "name": "swap_pane",
      "wireName": "swap_pane",
      "source": {
        "repo": "libtmux/libtmux-java",
        "revision": "a0ecbc16da00140e2520462d478a2af470878272",
        "extractedRevision": "a0ecbc16da00140e2520462d478a2af470878272",
        "file": "libtmux-mcp/src/main/java/io/github/libtmux/mcp/ManageTools.java",
        "line": 139
      },
      "description": "Swaps the positions of two panes. Change tmux state; no client-supplied executable input.",
      "schemaStatus": "runtime",
      "inputSchema": {
        "additionalProperties": false,
        "properties": {
          "other_pane_id": {
            "description": "The other pane ID, such as %2.",
            "type": "string"
          },
          "pane_id": {
            "description": "The pane to act on, such as %1. Every listing tool returns these.",
            "type": "string"
          }
        },
        "required": [
          "pane_id",
          "other_pane_id"
        ],
        "type": "object"
      },
      "outputSchema": {
        "additionalProperties": false,
        "properties": {
          "other_pane_id": {
            "type": "string"
          },
          "pane_id": {
            "type": "string"
          }
        },
        "required": [
          "pane_id",
          "other_pane_id"
        ],
        "type": "object"
      },
      "annotations": {
        "destructiveHint": true,
        "idempotentHint": false,
        "openWorldHint": true,
        "readOnlyHint": false,
        "title": "Swap panes"
      },
      "meta": {
        "com.git-pull.libtmux-mcp/capability": {
          "amplifiesFutureInput": false,
          "annotations": {
            "destructiveHint": true,
            "idempotentHint": false,
            "openWorldHint": true,
            "readOnlyHint": false
          },
          "description": "Swaps the positions of two panes. Change tmux state; no client-supplied executable input.",
          "inputLiteralization": {},
          "inputSchema": {
            "additionalProperties": false,
            "properties": {
              "other_pane_id": {
                "description": "The other pane ID, such as %2.",
                "type": "string"
              },
              "pane_id": {
                "description": "The pane to act on, such as %1. Every listing tool returns these.",
                "type": "string"
              }
            },
            "required": [
              "pane_id",
              "other_pane_id"
            ],
            "type": "object"
          },
          "mayExposeSecrets": false,
          "mayReturnUntrustedContent": false,
          "name": "swap_pane",
          "nestedAuthority": [],
          "outputClasses": [
            "tmux-metadata"
          ],
          "outputSchema": {
            "additionalProperties": false,
            "properties": {
              "other_pane_id": {
                "type": "string"
              },
              "pane_id": {
                "type": "string"
              }
            },
            "required": [
              "pane_id",
              "other_pane_id"
            ],
            "type": "object"
          },
          "processReach": "none",
          "title": "Swap panes",
          "tmuxEffects": [
            "observe",
            "change"
          ],
          "toolset": "manage"
        }
      }
    },
    {
      "name": "wait_for_channel",
      "wireName": "wait_for_channel",
      "source": {
        "repo": "libtmux/libtmux-java",
        "revision": "a0ecbc16da00140e2520462d478a2af470878272",
        "extractedRevision": "a0ecbc16da00140e2520462d478a2af470878272",
        "file": "libtmux-mcp/src/main/java/io/github/libtmux/mcp/ManageTools.java",
        "line": 163
      },
      "description": "Waits on tmux's channel state with a bounded timeout. Change tmux state; no client-supplied executable input.",
      "schemaStatus": "runtime",
      "inputSchema": {
        "additionalProperties": false,
        "properties": {
          "channel": {
            "description": "A server-wide tmux channel name.",
            "type": "string"
          },
          "drain_first": {
            "default": false,
            "description": "Consume a pending signal before waiting. Defaults to false.",
            "type": "boolean"
          },
          "timeout": {
            "default": 30,
            "description": "Seconds to wait before giving up. Defaults to 30.0.",
            "type": "number"
          }
        },
        "required": [
          "channel"
        ],
        "type": "object"
      },
      "outputSchema": {
        "additionalProperties": false,
        "properties": {
          "channel": {
            "type": "string"
          },
          "effective_timeout": {
            "type": "number"
          },
          "note": {
            "type": "string"
          },
          "outcome": {
            "type": "string"
          },
          "seconds": {
            "type": "number"
          }
        },
        "required": [
          "channel",
          "outcome",
          "seconds",
          "effective_timeout"
        ],
        "type": "object"
      },
      "annotations": {
        "destructiveHint": true,
        "idempotentHint": false,
        "openWorldHint": true,
        "readOnlyHint": false,
        "title": "Wait for a channel"
      },
      "meta": {
        "com.git-pull.libtmux-mcp/capability": {
          "amplifiesFutureInput": false,
          "annotations": {
            "destructiveHint": true,
            "idempotentHint": false,
            "openWorldHint": true,
            "readOnlyHint": false
          },
          "description": "Waits on tmux's channel state with a bounded timeout. Change tmux state; no client-supplied executable input.",
          "inputLiteralization": {},
          "inputSchema": {
            "additionalProperties": false,
            "properties": {
              "channel": {
                "description": "A server-wide tmux channel name.",
                "type": "string"
              },
              "drain_first": {
                "default": false,
                "description": "Consume a pending signal before waiting. Defaults to false.",
                "type": "boolean"
              },
              "timeout": {
                "default": 30,
                "description": "Seconds to wait before giving up. Defaults to 30.0.",
                "type": "number"
              }
            },
            "required": [
              "channel"
            ],
            "type": "object"
          },
          "mayExposeSecrets": true,
          "mayReturnUntrustedContent": true,
          "name": "wait_for_channel",
          "nestedAuthority": [],
          "outputClasses": [
            "tmux-metadata"
          ],
          "outputSchema": {
            "additionalProperties": false,
            "properties": {
              "channel": {
                "type": "string"
              },
              "effective_timeout": {
                "type": "number"
              },
              "note": {
                "type": "string"
              },
              "outcome": {
                "type": "string"
              },
              "seconds": {
                "type": "number"
              }
            },
            "required": [
              "channel",
              "outcome",
              "seconds",
              "effective_timeout"
            ],
            "type": "object"
          },
          "processReach": "none",
          "title": "Wait for a channel",
          "tmuxEffects": [
            "change"
          ],
          "toolset": "manage"
        }
      }
    },
    {
      "name": "wait_for_text",
      "wireName": "wait_for_text",
      "source": {
        "repo": "libtmux/libtmux-java",
        "revision": "a0ecbc16da00140e2520462d478a2af470878272",
        "extractedRevision": "a0ecbc16da00140e2520462d478a2af470878272",
        "file": "libtmux-mcp/src/main/java/io/github/libtmux/mcp/InspectTools.java",
        "line": 246
      },
      "description": "Waits for new pane output without accepting executable input. Discounts recognized input from this server while pending and for ten seconds after submission. Output identical to that input and partially redrawn echoes are ambiguous; use run_shell_command for commands you start. Wait for the prompt before typing into a cold shell. Read pane output; accepts no client-supplied executable input. Returned content may be sensitive or untrusted.",
      "schemaStatus": "runtime",
      "inputSchema": {
        "additionalProperties": false,
        "properties": {
          "cursor": {
            "description": "A cursor returned by an earlier capture.",
            "type": "string"
          },
          "max_lines": {
            "default": 200,
            "description": "Maximum observed lines to return. Defaults to 200.",
            "type": "integer"
          },
          "pane_id": {
            "description": "The pane to act on, such as %1. Every listing tool returns these.",
            "type": "string"
          },
          "patterns": {
            "description": "Text to wait for; any one ends the wait. One value may be sent on its own, without a list.",
            "items": {
              "maxLength": 4096,
              "type": "string"
            },
            "maxItems": 32,
            "type": [
              "array",
              "string"
            ]
          },
          "regex": {
            "default": false,
            "description": "Treat patterns and stops as regular expressions. Defaults to false.",
            "type": "boolean"
          },
          "stop": {
            "description": "Failure text; any one ends the wait. One value may be sent on its own, without a list.",
            "items": {
              "maxLength": 4096,
              "type": "string"
            },
            "maxItems": 32,
            "type": [
              "array",
              "string"
            ]
          },
          "timeout": {
            "default": 30,
            "description": "Seconds to wait before giving up. Defaults to 30.0.",
            "type": "number"
          }
        },
        "required": [
          "pane_id"
        ],
        "type": "object"
      },
      "outputSchema": {
        "additionalProperties": false,
        "properties": {
          "cursor": {
            "type": "string"
          },
          "effective_timeout": {
            "type": "number"
          },
          "lines_dropped": {
            "type": "integer"
          },
          "matched": {
            "type": "string"
          },
          "matched_line": {
            "type": "string"
          },
          "note": {
            "type": "string"
          },
          "outcome": {
            "type": "string"
          },
          "output": {
            "items": {
              "type": "string"
            },
            "type": "array"
          },
          "pane_id": {
            "type": "string"
          },
          "seconds": {
            "type": "number"
          },
          "truncated": {
            "type": "boolean"
          }
        },
        "required": [
          "pane_id",
          "outcome",
          "output",
          "truncated",
          "lines_dropped",
          "cursor",
          "seconds",
          "effective_timeout"
        ],
        "type": "object"
      },
      "annotations": {
        "destructiveHint": true,
        "idempotentHint": false,
        "openWorldHint": true,
        "readOnlyHint": false,
        "title": "Wait for pane text"
      },
      "meta": {
        "com.git-pull.libtmux-mcp/capability": {
          "amplifiesFutureInput": false,
          "annotations": {
            "destructiveHint": true,
            "idempotentHint": false,
            "openWorldHint": true,
            "readOnlyHint": false
          },
          "description": "Waits for new pane output without accepting executable input. Discounts recognized input from this server while pending and for ten seconds after submission. Output identical to that input and partially redrawn echoes are ambiguous; use run_shell_command for commands you start. Wait for the prompt before typing into a cold shell. Read pane output; accepts no client-supplied executable input. Returned content may be sensitive or untrusted.",
          "inputLiteralization": {},
          "inputSchema": {
            "additionalProperties": false,
            "properties": {
              "cursor": {
                "description": "A cursor returned by an earlier capture.",
                "type": "string"
              },
              "max_lines": {
                "default": 200,
                "description": "Maximum observed lines to return. Defaults to 200.",
                "type": "integer"
              },
              "pane_id": {
                "description": "The pane to act on, such as %1. Every listing tool returns these.",
                "type": "string"
              },
              "patterns": {
                "description": "Text to wait for; any one ends the wait. One value may be sent on its own, without a list.",
                "items": {
                  "maxLength": 4096,
                  "type": "string"
                },
                "maxItems": 32,
                "type": [
                  "array",
                  "string"
                ]
              },
              "regex": {
                "default": false,
                "description": "Treat patterns and stops as regular expressions. Defaults to false.",
                "type": "boolean"
              },
              "stop": {
                "description": "Failure text; any one ends the wait. One value may be sent on its own, without a list.",
                "items": {
                  "maxLength": 4096,
                  "type": "string"
                },
                "maxItems": 32,
                "type": [
                  "array",
                  "string"
                ]
              },
              "timeout": {
                "default": 30,
                "description": "Seconds to wait before giving up. Defaults to 30.0.",
                "type": "number"
              }
            },
            "required": [
              "pane_id"
            ],
            "type": "object"
          },
          "mayExposeSecrets": true,
          "mayReturnUntrustedContent": true,
          "name": "wait_for_text",
          "nestedAuthority": [],
          "outputClasses": [
            "tmux-metadata",
            "terminal-content"
          ],
          "outputSchema": {
            "additionalProperties": false,
            "properties": {
              "cursor": {
                "type": "string"
              },
              "effective_timeout": {
                "type": "number"
              },
              "lines_dropped": {
                "type": "integer"
              },
              "matched": {
                "type": "string"
              },
              "matched_line": {
                "type": "string"
              },
              "note": {
                "type": "string"
              },
              "outcome": {
                "type": "string"
              },
              "output": {
                "items": {
                  "type": "string"
                },
                "type": "array"
              },
              "pane_id": {
                "type": "string"
              },
              "seconds": {
                "type": "number"
              },
              "truncated": {
                "type": "boolean"
              }
            },
            "required": [
              "pane_id",
              "outcome",
              "output",
              "truncated",
              "lines_dropped",
              "cursor",
              "seconds",
              "effective_timeout"
            ],
            "type": "object"
          },
          "processReach": "none",
          "title": "Wait for pane text",
          "tmuxEffects": [
            "observe"
          ],
          "toolset": "inspect"
        }
      }
    }
  ],
  "wirePrefix": "",
  "selectable": true,
  "source": "libtmux-mcp/src/main/java/io/github/libtmux/mcp",
  "repo": "libtmux/libtmux-java",
  "revision": "a0ecbc16da00140e2520462d478a2af470878272",
  "extractedRevision": "a0ecbc16da00140e2520462d478a2af470878272",
  "selection": {
    "LIBTMUX_TOOLSETS": "inspect,manage,execute,teardown"
  },
  "protocol": {
    "capabilities": {
      "logging": {},
      "resources": {
        "listChanged": false,
        "subscribe": false
      },
      "tools": {
        "listChanged": false
      }
    },
    "prompts": [],
    "protocolVersion": "2025-11-25",
    "resources": [
      {
        "description": "The startup-frozen effective tool surface and selected tmux socket.",
        "mimeType": "application/json",
        "name": "tmux capabilities",
        "uri": "tmux://capabilities"
      }
    ],
    "resourceTemplates": [],
    "serverInfo": {
      "name": "libtmux",
      "version": "0.0.1-alpha.17-SNAPSHOT"
    }
  }
}
