Templates/tools_list.json

{
  "jsonrpc": "2.0",
  "id": {0},
  "result":{
    "tools": [
      {
        "name": "getCurrentLocation",
        "description": "Retrieves the current location and all available drives (providers) from the PowerShell session. Returns currentLocation and otherDriveLocations array. Call this when you need to understand the current PowerShell context, as users may change location during the session. When executing multiple invokeExpression commands in succession, calling once at the beginning is sufficient.",
       "inputSchema": {
          "type": "object",
          "properties": {},
          "required": []
        }
      },
      {
        "name": "invokeExpression",
        "description": "Execute PowerShell commands in the PowerShell console. Supports both immediate execution and command insertion modes.",
        "inputSchema": {
          "type": "object",
          "properties": {
            "pipeline": {
              "type": "string",
              "description": "The PowerShell command or pipeline to execute. When executeImmediately=true (immediate execution), both single-line and multi-line commands are supported, including if statements, loops, functions, and try-catch blocks. When executeImmediately=false (insertion mode), only single-line commands are supported - use semicolons to combine multiple statements into a single line."
            },
            "executeImmediately": {
              "type": "boolean",
              "description": "If true, executes the command immediately and returns the result. If false, inserts the command into the console for manual execution.",
              "default": true
            }
          },
          "required": ["pipeline", "executeImmediately"]
        }
      }
    ]
  }
}