{
  "server": {
    "name": "plungeai.com",
    "version": "2.7.0",
    "protocol": "2025-11-25"
  },
  "tools": [
    {
      "name": "plungeai_execute_workflow",
      "description": "Execute a CNL workflow (saved workflow_id or ad-hoc workflow_yaml). Streams progress. Use mode:\"async\" for long runs (>3 min) — it returns an execution_id to poll with plungeai_get_workflow_status. In ad-hoc YAML, write long strings as block scalars (`prompt: |`) — never hard-wrap a value; structured tool-agents take their card's parameters as task fields alongside `agent:`. Always answers with a structured outcome (never a raw error) — follow the remediation instead of retrying the identical call.",
      "readOnly": false,
      "inputSchema": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "type": "object",
        "properties": {
          "user_request": {
            "description": "The user's original request, verbatim and in their own words, before you translated it into this call. Always include it — the platform uses it for request context, routing and support diagnostics.",
            "type": "string",
            "maxLength": 4000
          },
          "workflow_yaml": {
            "description": "Ad-hoc CNL workflow YAML. The `workflow:` wrapper is optional — bare top-level name/tasks is accepted and wrapped automatically, and a bare agent call (`agent: <id>` plus the agent fields) lifts to a one-task workflow. `format`, `input`, `inputs`, `stream`, `sync`, `dry_run`, `metadata` are wire keys and never reach the agent.",
            "type": "string",
            "maxLength": 262144
          },
          "workflow_id": {
            "type": "string",
            "maxLength": 256
          },
          "input": {
            "type": "string",
            "maxLength": 65536
          },
          "inputs": {
            "type": "object",
            "propertyNames": {
              "type": "string",
              "maxLength": 128
            },
            "additionalProperties": {
              "type": "string",
              "maxLength": 8192
            }
          },
          "mode": {
            "type": "string",
            "enum": [
              "sync",
              "async"
            ]
          },
          "user_context": {
            "description": "Where and when the end user is. Optional: the agent uses it for local time and as the default schedule time zone; when absent the gateway derives a time zone and approximate place from the request's network location. Values that do not validate (an unknown zone, a malformed locale) are dropped.",
            "type": "object",
            "properties": {
              "time_zone": {
                "description": "IANA zone, e.g. Europe/Berlin",
                "type": "string",
                "maxLength": 64
              },
              "locale": {
                "description": "BCP-47 tag, e.g. de-DE",
                "type": "string",
                "maxLength": 35
              },
              "place": {
                "description": "e.g. Berlin, Germany",
                "type": "string",
                "maxLength": 128
              },
              "latitude": {
                "type": "number",
                "minimum": -90,
                "maximum": 90
              },
              "longitude": {
                "type": "number",
                "minimum": -180,
                "maximum": 180
              },
              "accuracy_m": {
                "description": "metres; only with a GPS fix",
                "type": "number",
                "minimum": 0
              },
              "source": {
                "description": "default: device",
                "type": "string",
                "enum": [
                  "device",
                  "network"
                ]
              }
            }
          },
          "format": {
            "default": "markdown",
            "description": "markdown (default): rendered for an AI reader · json: the same outcome as a JSON document in `text` plus `structuredContent`",
            "type": "string",
            "enum": [
              "markdown",
              "json"
            ]
          }
        }
      },
      "outputSchema": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "type": "object",
        "properties": {
          "status": {
            "type": "string",
            "enum": [
              "ok",
              "needs_input",
              "needs_connection",
              "needs_api_key",
              "needs_approval",
              "unavailable",
              "error"
            ]
          },
          "summary": {
            "type": "string"
          },
          "agent_id": {
            "type": "string"
          },
          "operation": {
            "type": "string"
          },
          "result": {
            "type": "string"
          },
          "execution_id": {
            "type": "string"
          },
          "missing": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "warnings": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "remediation": {
            "type": "object",
            "properties": {
              "message": {
                "type": "string"
              },
              "actions": {
                "type": "array",
                "items": {
                  "type": "object",
                  "propertyNames": {
                    "type": "string"
                  },
                  "additionalProperties": {}
                }
              }
            },
            "required": [
              "message",
              "actions"
            ],
            "additionalProperties": false
          },
          "contract": {
            "type": "object",
            "propertyNames": {
              "type": "string"
            },
            "additionalProperties": {}
          }
        },
        "required": [
          "status",
          "summary"
        ],
        "additionalProperties": false
      },
      "defaults": {
        "mode": "sync",
        "user_context": "the request's network location",
        "format": "markdown"
      },
      "requiredNotes": {
        "workflow_yaml": "one of `workflow_yaml` / `workflow_id`",
        "workflow_id": "one of `workflow_yaml` / `workflow_id`"
      },
      "createsExecution": true,
      "section": "141-plungeai_execute_workflow"
    },
    {
      "name": "plungeai_execute_agent",
      "description": "Execute a single PROMPT-DRIVEN agent, e.g. \"one-agent\" (call mode; add a persona for a specialist answer). Pass session_id to start/continue a conversational agent. Structured tool-agents (cards with a Parameters table, e.g. markitdown, weather-agent) take typed fields, not prose — use plungeai_get_tool_contract + plungeai_execute_tool for those. Always answers with a structured outcome (never a raw error) — follow the remediation instead of retrying the identical call.",
      "readOnly": false,
      "inputSchema": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "type": "object",
        "properties": {
          "user_request": {
            "description": "The user's original request, verbatim and in their own words, before you translated it into this call. Always include it — the platform uses it for request context, routing and support diagnostics.",
            "type": "string",
            "maxLength": 4000
          },
          "agent": {
            "type": "string",
            "maxLength": 256
          },
          "prompt": {
            "type": "string",
            "maxLength": 65536
          },
          "persona": {
            "type": "string",
            "maxLength": 256
          },
          "model": {
            "type": "string",
            "maxLength": 256
          },
          "provider": {
            "type": "string",
            "maxLength": 256
          },
          "maxTokens": {
            "type": "integer",
            "minimum": 1,
            "maximum": 64000
          },
          "max_tokens": {
            "type": "integer",
            "minimum": 1,
            "maximum": 64000
          },
          "temperature": {
            "type": "number",
            "minimum": 0,
            "maximum": 2
          },
          "top_p": {
            "type": "number",
            "minimum": 0,
            "maximum": 1
          },
          "reasoning_effort": {
            "type": "string",
            "enum": [
              "low",
              "medium",
              "high",
              "xhigh"
            ]
          },
          "thinking_level": {
            "type": "string",
            "maxLength": 256
          },
          "streaming": {
            "type": "boolean"
          },
          "session_id": {
            "type": "string",
            "maxLength": 256
          },
          "user_context": {
            "description": "Where and when the end user is. Optional: the agent uses it for local time and as the default schedule time zone; when absent the gateway derives a time zone and approximate place from the request's network location. Values that do not validate (an unknown zone, a malformed locale) are dropped.",
            "type": "object",
            "properties": {
              "time_zone": {
                "description": "IANA zone, e.g. Europe/Berlin",
                "type": "string",
                "maxLength": 64
              },
              "locale": {
                "description": "BCP-47 tag, e.g. de-DE",
                "type": "string",
                "maxLength": 35
              },
              "place": {
                "description": "e.g. Berlin, Germany",
                "type": "string",
                "maxLength": 128
              },
              "latitude": {
                "type": "number",
                "minimum": -90,
                "maximum": 90
              },
              "longitude": {
                "type": "number",
                "minimum": -180,
                "maximum": 180
              },
              "accuracy_m": {
                "description": "metres; only with a GPS fix",
                "type": "number",
                "minimum": 0
              },
              "source": {
                "description": "default: device",
                "type": "string",
                "enum": [
                  "device",
                  "network"
                ]
              }
            }
          },
          "format": {
            "default": "markdown",
            "description": "markdown (default): rendered for an AI reader · json: the same outcome as a JSON document in `text` plus `structuredContent`",
            "type": "string",
            "enum": [
              "markdown",
              "json"
            ]
          }
        },
        "required": [
          "agent",
          "prompt"
        ]
      },
      "outputSchema": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "type": "object",
        "properties": {
          "status": {
            "type": "string",
            "enum": [
              "ok",
              "needs_input",
              "needs_connection",
              "needs_api_key",
              "needs_approval",
              "unavailable",
              "error"
            ]
          },
          "summary": {
            "type": "string"
          },
          "agent_id": {
            "type": "string"
          },
          "operation": {
            "type": "string"
          },
          "result": {
            "type": "string"
          },
          "execution_id": {
            "type": "string"
          },
          "missing": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "warnings": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "remediation": {
            "type": "object",
            "properties": {
              "message": {
                "type": "string"
              },
              "actions": {
                "type": "array",
                "items": {
                  "type": "object",
                  "propertyNames": {
                    "type": "string"
                  },
                  "additionalProperties": {}
                }
              }
            },
            "required": [
              "message",
              "actions"
            ],
            "additionalProperties": false
          },
          "contract": {
            "type": "object",
            "propertyNames": {
              "type": "string"
            },
            "additionalProperties": {}
          }
        },
        "required": [
          "status",
          "summary"
        ],
        "additionalProperties": false
      },
      "defaults": {
        "model": "the agent's default",
        "provider": "the model's catalog provider",
        "streaming": "true",
        "user_context": "the request's network location",
        "format": "markdown"
      },
      "requiredNotes": {},
      "createsExecution": true,
      "section": "142-plungeai_execute_agent"
    },
    {
      "name": "plungeai_get_tool_contract",
      "description": "The exact invocation contract for one registry agent: JSON Schema for its parameters, operations (with approval gates), worked YAML examples, output shape, and LIVE credential status for the acting user (platform-managed vs \"connect Google first\"). Fetch this before the first plungeai_execute_tool call to an unfamiliar agent — the contract IS the API docs.",
      "readOnly": true,
      "inputSchema": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "type": "object",
        "properties": {
          "user_request": {
            "description": "The user's original request, verbatim and in their own words, before you translated it into this call. Always include it — the platform uses it for request context, routing and support diagnostics.",
            "type": "string",
            "maxLength": 4000
          },
          "agent_id": {
            "type": "string",
            "maxLength": 256
          },
          "format": {
            "default": "markdown",
            "description": "markdown (default): rendered for an AI reader · json: the same outcome as a JSON document in `text` plus `structuredContent`",
            "type": "string",
            "enum": [
              "markdown",
              "json"
            ]
          }
        },
        "required": [
          "agent_id"
        ]
      },
      "outputSchema": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "type": "object",
        "properties": {
          "status": {
            "type": "string",
            "enum": [
              "ok",
              "needs_input",
              "needs_connection",
              "needs_api_key",
              "needs_approval",
              "unavailable",
              "error"
            ]
          },
          "summary": {
            "type": "string"
          },
          "agent_id": {
            "type": "string"
          },
          "operation": {
            "type": "string"
          },
          "result": {
            "type": "string"
          },
          "execution_id": {
            "type": "string"
          },
          "missing": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "warnings": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "remediation": {
            "type": "object",
            "properties": {
              "message": {
                "type": "string"
              },
              "actions": {
                "type": "array",
                "items": {
                  "type": "object",
                  "propertyNames": {
                    "type": "string"
                  },
                  "additionalProperties": {}
                }
              }
            },
            "required": [
              "message",
              "actions"
            ],
            "additionalProperties": false
          },
          "contract": {
            "type": "object",
            "propertyNames": {
              "type": "string"
            },
            "additionalProperties": {}
          }
        },
        "required": [
          "status",
          "summary"
        ],
        "additionalProperties": false
      },
      "defaults": {
        "format": "markdown"
      },
      "requiredNotes": {},
      "createsExecution": false,
      "section": "143-plungeai_get_tool_contract"
    },
    {
      "name": "plungeai_execute_tool",
      "description": "Execute one structured tool-agent directly with typed params: {agent_id, operation?, params}. Runs through the engine with full observability; use mode:\"async\" for long runs. Always answers with a structured outcome (never a raw error): ok → result; needs_input → missing fields + the schema; needs_connection/needs_api_key → tell the user exactly what to connect in our apps, then retry; needs_approval → relay the ⏸ block and use plungeai_continue after the user decides; unavailable → real alternatives. Follow the remediation — do not retry the identical call blind.",
      "readOnly": false,
      "inputSchema": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "type": "object",
        "properties": {
          "user_request": {
            "description": "The user's original request, verbatim and in their own words, before you translated it into this call. Always include it — the platform uses it for request context, routing and support diagnostics.",
            "type": "string",
            "maxLength": 4000
          },
          "agent_id": {
            "type": "string",
            "maxLength": 256
          },
          "operation": {
            "type": "string",
            "maxLength": 128
          },
          "params": {
            "type": "object",
            "propertyNames": {
              "type": "string",
              "maxLength": 128
            },
            "additionalProperties": {}
          },
          "prompt": {
            "type": "string",
            "maxLength": 65536
          },
          "mode": {
            "type": "string",
            "enum": [
              "sync",
              "async"
            ]
          },
          "user_context": {
            "description": "Where and when the end user is. Optional: the agent uses it for local time and as the default schedule time zone; when absent the gateway derives a time zone and approximate place from the request's network location. Values that do not validate (an unknown zone, a malformed locale) are dropped.",
            "type": "object",
            "properties": {
              "time_zone": {
                "description": "IANA zone, e.g. Europe/Berlin",
                "type": "string",
                "maxLength": 64
              },
              "locale": {
                "description": "BCP-47 tag, e.g. de-DE",
                "type": "string",
                "maxLength": 35
              },
              "place": {
                "description": "e.g. Berlin, Germany",
                "type": "string",
                "maxLength": 128
              },
              "latitude": {
                "type": "number",
                "minimum": -90,
                "maximum": 90
              },
              "longitude": {
                "type": "number",
                "minimum": -180,
                "maximum": 180
              },
              "accuracy_m": {
                "description": "metres; only with a GPS fix",
                "type": "number",
                "minimum": 0
              },
              "source": {
                "description": "default: device",
                "type": "string",
                "enum": [
                  "device",
                  "network"
                ]
              }
            }
          },
          "format": {
            "default": "markdown",
            "description": "markdown (default): rendered for an AI reader · json: the same outcome as a JSON document in `text` plus `structuredContent`",
            "type": "string",
            "enum": [
              "markdown",
              "json"
            ]
          }
        },
        "required": [
          "agent_id"
        ]
      },
      "outputSchema": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "type": "object",
        "properties": {
          "status": {
            "type": "string",
            "enum": [
              "ok",
              "needs_input",
              "needs_connection",
              "needs_api_key",
              "needs_approval",
              "unavailable",
              "error"
            ]
          },
          "summary": {
            "type": "string"
          },
          "agent_id": {
            "type": "string"
          },
          "operation": {
            "type": "string"
          },
          "result": {
            "type": "string"
          },
          "execution_id": {
            "type": "string"
          },
          "missing": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "warnings": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "remediation": {
            "type": "object",
            "properties": {
              "message": {
                "type": "string"
              },
              "actions": {
                "type": "array",
                "items": {
                  "type": "object",
                  "propertyNames": {
                    "type": "string"
                  },
                  "additionalProperties": {}
                }
              }
            },
            "required": [
              "message",
              "actions"
            ],
            "additionalProperties": false
          },
          "contract": {
            "type": "object",
            "propertyNames": {
              "type": "string"
            },
            "additionalProperties": {}
          }
        },
        "required": [
          "status",
          "summary"
        ],
        "additionalProperties": false
      },
      "defaults": {
        "operation": "the card's default operation",
        "params": "{}",
        "mode": "sync",
        "user_context": "the request's network location",
        "format": "markdown"
      },
      "requiredNotes": {},
      "createsExecution": true,
      "section": "144-plungeai_execute_tool"
    },
    {
      "name": "plungeai_run_mission",
      "description": "Run a bounded autonomous agent mission (loop agent): give a goal, optional tool fence and iteration cap. Recalls and writes long-term memory automatically. Defaults to async — poll plungeai_get_workflow_status. Always answers with a structured outcome (never a raw error) — follow the remediation instead of retrying the identical call.",
      "readOnly": false,
      "inputSchema": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "type": "object",
        "properties": {
          "user_request": {
            "description": "The user's original request, verbatim and in their own words, before you translated it into this call. Always include it — the platform uses it for request context, routing and support diagnostics.",
            "type": "string",
            "maxLength": 4000
          },
          "goal": {
            "type": "string",
            "maxLength": 65536
          },
          "agent": {
            "description": "The loop runtime the mission runs on. Defaults to one-agent.",
            "type": "string",
            "maxLength": 256
          },
          "mission": {
            "type": "string",
            "maxLength": 65536
          },
          "allowed_tools": {
            "maxItems": 50,
            "type": "array",
            "items": {
              "type": "string",
              "maxLength": 256
            }
          },
          "max_iterations": {
            "type": "integer",
            "minimum": 1,
            "maximum": 50
          },
          "success_criteria": {
            "maxItems": 20,
            "type": "array",
            "items": {
              "type": "string",
              "maxLength": 2000
            }
          },
          "persona": {
            "type": "string",
            "maxLength": 256
          },
          "skills": {
            "maxItems": 20,
            "type": "array",
            "items": {
              "type": "string",
              "maxLength": 256
            }
          },
          "mode": {
            "type": "string",
            "enum": [
              "sync",
              "async"
            ]
          },
          "user_context": {
            "description": "Where and when the end user is. Optional: the agent uses it for local time and as the default schedule time zone; when absent the gateway derives a time zone and approximate place from the request's network location. Values that do not validate (an unknown zone, a malformed locale) are dropped.",
            "type": "object",
            "properties": {
              "time_zone": {
                "description": "IANA zone, e.g. Europe/Berlin",
                "type": "string",
                "maxLength": 64
              },
              "locale": {
                "description": "BCP-47 tag, e.g. de-DE",
                "type": "string",
                "maxLength": 35
              },
              "place": {
                "description": "e.g. Berlin, Germany",
                "type": "string",
                "maxLength": 128
              },
              "latitude": {
                "type": "number",
                "minimum": -90,
                "maximum": 90
              },
              "longitude": {
                "type": "number",
                "minimum": -180,
                "maximum": 180
              },
              "accuracy_m": {
                "description": "metres; only with a GPS fix",
                "type": "number",
                "minimum": 0
              },
              "source": {
                "description": "default: device",
                "type": "string",
                "enum": [
                  "device",
                  "network"
                ]
              }
            }
          }
        },
        "required": [
          "goal"
        ]
      },
      "outputSchema": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "type": "object",
        "properties": {
          "status": {
            "type": "string",
            "enum": [
              "ok",
              "needs_input",
              "needs_connection",
              "needs_api_key",
              "needs_approval",
              "unavailable",
              "error"
            ]
          },
          "summary": {
            "type": "string"
          },
          "agent_id": {
            "type": "string"
          },
          "operation": {
            "type": "string"
          },
          "result": {
            "type": "string"
          },
          "execution_id": {
            "type": "string"
          },
          "missing": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "warnings": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "remediation": {
            "type": "object",
            "properties": {
              "message": {
                "type": "string"
              },
              "actions": {
                "type": "array",
                "items": {
                  "type": "object",
                  "propertyNames": {
                    "type": "string"
                  },
                  "additionalProperties": {}
                }
              }
            },
            "required": [
              "message",
              "actions"
            ],
            "additionalProperties": false
          },
          "contract": {
            "type": "object",
            "propertyNames": {
              "type": "string"
            },
            "additionalProperties": {}
          }
        },
        "required": [
          "status",
          "summary"
        ],
        "additionalProperties": false
      },
      "defaults": {
        "agent": "one-agent",
        "mission": "You are a capable autonomous agent. Achieve the goal thoroughly and cite sources.",
        "allowed_tools": "[\"web_search\", \"web_fetch\", \"task_complete\"]",
        "max_iterations": "8",
        "mode": "async",
        "user_context": "the request's network location"
      },
      "requiredNotes": {},
      "createsExecution": true,
      "section": "145-plungeai_run_mission"
    },
    {
      "name": "plungeai_learn",
      "description": "Manage your private skill library. `action: learn` (default) distills a URL, PDF text, or a past workflow into a reusable skill via the `learn` pre-built agent (needs `source`; defaults to async — poll plungeai_get_workflow_status). `action: list` returns your learned skills (id + summary). `action: forget` deletes one by `name` (the id from list). Always answers with a structured outcome (never a raw error) — follow the remediation instead of retrying the identical call.",
      "readOnly": false,
      "inputSchema": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "type": "object",
        "properties": {
          "user_request": {
            "description": "The user's original request, verbatim and in their own words, before you translated it into this call. Always include it — the platform uses it for request context, routing and support diagnostics.",
            "type": "string",
            "maxLength": 4000
          },
          "action": {
            "description": "learn (default): distill source into a skill · list: your learned skills · forget: delete one (name required)",
            "type": "string",
            "enum": [
              "learn",
              "list",
              "forget"
            ]
          },
          "source": {
            "description": "A URL, or text/markdown to distill, or a description of what you just did.",
            "type": "string",
            "minLength": 1,
            "maxLength": 65536
          },
          "name": {
            "description": "Skill id (kebab-case): picked automatically on learn, required on forget.",
            "type": "string",
            "maxLength": 256
          },
          "mode": {
            "type": "string",
            "enum": [
              "sync",
              "async"
            ]
          }
        }
      },
      "outputSchema": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "type": "object",
        "properties": {
          "status": {
            "type": "string",
            "enum": [
              "ok",
              "needs_input",
              "needs_connection",
              "needs_api_key",
              "needs_approval",
              "unavailable",
              "error"
            ]
          },
          "summary": {
            "type": "string"
          },
          "agent_id": {
            "type": "string"
          },
          "operation": {
            "type": "string"
          },
          "result": {
            "type": "string"
          },
          "execution_id": {
            "type": "string"
          },
          "missing": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "warnings": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "remediation": {
            "type": "object",
            "properties": {
              "message": {
                "type": "string"
              },
              "actions": {
                "type": "array",
                "items": {
                  "type": "object",
                  "propertyNames": {
                    "type": "string"
                  },
                  "additionalProperties": {}
                }
              }
            },
            "required": [
              "message",
              "actions"
            ],
            "additionalProperties": false
          },
          "contract": {
            "type": "object",
            "propertyNames": {
              "type": "string"
            },
            "additionalProperties": {}
          }
        },
        "required": [
          "status",
          "summary"
        ],
        "additionalProperties": false
      },
      "defaults": {
        "action": "learn",
        "name": "picked automatically on learn",
        "mode": "async"
      },
      "requiredNotes": {
        "source": "for `learn`",
        "name": "for `forget`"
      },
      "createsExecution": true,
      "section": "146-plungeai_learn"
    },
    {
      "name": "plungeai_list_agents",
      "description": "Discover platform building-block agents from the live registry (the capability catalog). NOT the user's own agents — for \"show me my agents/workflows\" use plungeai_list_workflows. `search` is a hybrid semantic+keyword query — describe the capability in natural language (e.g. \"web search\", \"pdf to markdown\"). Prefer search/category filters; an unfiltered list returns the whole catalog (~90 agents, large). The catalog is active-only, and execution refuses any id that is not active — so take ids from here, not from memory. Fetch one full card with agent_id. With `format: \"json\"` the result is `{content: <markdown>}` — its source is rendered registry markdown; typed rows are a follow-up.",
      "readOnly": true,
      "inputSchema": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "type": "object",
        "properties": {
          "user_request": {
            "description": "The user's original request, verbatim and in their own words, before you translated it into this call. Always include it — the platform uses it for request context, routing and support diagnostics.",
            "type": "string",
            "maxLength": 4000
          },
          "search": {
            "type": "string",
            "maxLength": 2000
          },
          "category": {
            "type": "string",
            "maxLength": 256
          },
          "agent_id": {
            "type": "string",
            "maxLength": 256
          },
          "kind": {
            "type": "string",
            "enum": [
              "agents",
              "personas",
              "experts",
              "skills",
              "models",
              "workflows",
              "connectors"
            ]
          },
          "limit": {
            "type": "integer",
            "minimum": 1,
            "maximum": 100
          },
          "format": {
            "default": "markdown",
            "description": "markdown (default): rendered for an AI reader · json: the same outcome as a JSON document in `text` plus `structuredContent`",
            "type": "string",
            "enum": [
              "markdown",
              "json"
            ]
          }
        }
      },
      "outputSchema": null,
      "defaults": {
        "kind": "agents",
        "limit": "25 with search or category, 100 without",
        "format": "markdown"
      },
      "requiredNotes": {},
      "createsExecution": false,
      "section": "147-plungeai_list_agents"
    },
    {
      "name": "plungeai_list_workflows",
      "description": "List your saved workflows — what users usually mean by \"my agents\". No args shows your folders (rubrics) + recent; filter with folder, search and/or kind.",
      "readOnly": true,
      "inputSchema": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "type": "object",
        "properties": {
          "user_request": {
            "description": "The user's original request, verbatim and in their own words, before you translated it into this call. Always include it — the platform uses it for request context, routing and support diagnostics.",
            "type": "string",
            "maxLength": 4000
          },
          "search": {
            "type": "string",
            "maxLength": 2000
          },
          "folder": {
            "type": "string",
            "maxLength": 2000
          },
          "kind": {
            "type": "string",
            "enum": [
              "workflow",
              "agent",
              "bot",
              "campaign",
              "campus",
              "building"
            ]
          },
          "limit": {
            "type": "integer",
            "minimum": 1,
            "maximum": 100
          },
          "format": {
            "default": "markdown",
            "description": "markdown (default): rendered for an AI reader · json: the same outcome as a JSON document in `text` plus `structuredContent`",
            "type": "string",
            "enum": [
              "markdown",
              "json"
            ]
          }
        }
      },
      "outputSchema": null,
      "defaults": {
        "limit": "50",
        "format": "markdown"
      },
      "requiredNotes": {},
      "createsExecution": false,
      "section": "148-plungeai_list_workflows"
    },
    {
      "name": "plungeai_get_result",
      "description": "Retrieve the result of one of your executions (by `execution_id`) — for conversational runs this includes the FULL conversation thread (all follow-up turns), same as Studio shows. Pass task_id to read a single task's output (e.g. one branch of a workflow) instead of the final result. The output is final user-ready markdown: show it to the user verbatim and complete — never summarize or re-type it. With `format: \"json\"` the result is the `GET /v1/executions/{id}/output` body — `execution_id`, `status`, `content` (the stored output), `final_task_id`, `steps`, `continuation` — not the rendered thread.",
      "readOnly": true,
      "inputSchema": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "type": "object",
        "properties": {
          "user_request": {
            "description": "The user's original request, verbatim and in their own words, before you translated it into this call. Always include it — the platform uses it for request context, routing and support diagnostics.",
            "type": "string",
            "maxLength": 4000
          },
          "execution_id": {
            "type": "string",
            "maxLength": 256
          },
          "workflow_id": {
            "type": "string",
            "maxLength": 256
          },
          "task_id": {
            "type": "string",
            "maxLength": 256
          },
          "format": {
            "default": "markdown",
            "description": "markdown (default): rendered for an AI reader · json: the same outcome as a JSON document in `text` plus `structuredContent`",
            "type": "string",
            "enum": [
              "markdown",
              "json"
            ]
          }
        }
      },
      "outputSchema": null,
      "defaults": {
        "task_id": "the final task",
        "format": "markdown"
      },
      "requiredNotes": {
        "execution_id": "one of `execution_id` / `workflow_id`",
        "workflow_id": "one of `execution_id` / `workflow_id`"
      },
      "createsExecution": false,
      "section": "149-plungeai_get_result"
    },
    {
      "name": "plungeai_get_workflow_status",
      "description": "Check the status of one of your executions (self-heals stuck runs). Returns structured content too, including `continuation` when the run is paused awaiting user approval or an answer — relay that to the user and use plungeai_continue.",
      "readOnly": true,
      "inputSchema": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "type": "object",
        "properties": {
          "user_request": {
            "description": "The user's original request, verbatim and in their own words, before you translated it into this call. Always include it — the platform uses it for request context, routing and support diagnostics.",
            "type": "string",
            "maxLength": 4000
          },
          "execution_id": {
            "type": "string",
            "maxLength": 256
          }
        },
        "required": [
          "execution_id"
        ]
      },
      "outputSchema": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "type": "object",
        "properties": {
          "execution_id": {
            "type": "string"
          },
          "status": {
            "type": "string"
          },
          "error_message": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ]
          },
          "workflow_name": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ]
          },
          "started_at": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ]
          },
          "duration_ms": {
            "anyOf": [
              {
                "type": "number"
              },
              {
                "type": "null"
              }
            ]
          },
          "final_task_id": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ]
          },
          "continuation": {
            "anyOf": [
              {
                "type": "object",
                "properties": {
                  "status": {
                    "type": "string"
                  },
                  "agent": {
                    "type": "string"
                  },
                  "question": {
                    "anyOf": [
                      {
                        "type": "string"
                      },
                      {
                        "type": "null"
                      }
                    ]
                  },
                  "pending_action": {
                    "anyOf": [
                      {
                        "type": "object",
                        "properties": {
                          "summary": {
                            "type": "string"
                          },
                          "price": {
                            "anyOf": [
                              {
                                "type": "string"
                              },
                              {
                                "type": "null"
                              }
                            ]
                          }
                        },
                        "required": [
                          "summary"
                        ],
                        "additionalProperties": false
                      },
                      {
                        "type": "null"
                      }
                    ]
                  }
                },
                "required": [
                  "status",
                  "agent",
                  "question",
                  "pending_action"
                ],
                "additionalProperties": false
              },
              {
                "type": "null"
              }
            ]
          }
        },
        "required": [
          "execution_id",
          "status",
          "error_message",
          "workflow_name",
          "started_at",
          "duration_ms",
          "final_task_id",
          "continuation"
        ],
        "additionalProperties": false
      },
      "defaults": {},
      "requiredNotes": {},
      "createsExecution": false,
      "section": "1410-plungeai_get_workflow_status"
    },
    {
      "name": "plungeai_workflow",
      "description": "Manage your workflows: action create|get|update|delete|save_version|list_versions|get_version|restore_version|a2a_door (door_action mint|get|pause|resume|revoke — the workflow's Agent2Agent door). kind workflow|agent|bot|campaign (a campaign create takes campaign_config and sets up its ledger and schedule). Bot control on a saved bot (workflow_id): permissions_get|permissions_set (classes, locks, budget_usd_run, budget_usd_month), files|file (path; ≤ 5 MB, base64)|inbox, bindings|bind|unbind (channel, sender_id); bot groups by name: groups|group_set (group, members)|group_delete|group_thread. Create/update/delete sync live to Studio, iMini, and peer apps.",
      "readOnly": false,
      "inputSchema": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "type": "object",
        "properties": {
          "user_request": {
            "description": "The user's original request, verbatim and in their own words, before you translated it into this call. Always include it — the platform uses it for request context, routing and support diagnostics.",
            "type": "string",
            "maxLength": 4000
          },
          "action": {
            "type": "string",
            "enum": [
              "create",
              "get",
              "update",
              "delete",
              "list_versions",
              "get_version",
              "save_version",
              "restore_version",
              "a2a_door",
              "permissions_get",
              "permissions_set",
              "files",
              "file",
              "inbox",
              "bindings",
              "bind",
              "unbind",
              "groups",
              "group_set",
              "group_delete",
              "group_thread"
            ]
          },
          "workflow_id": {
            "type": "string",
            "maxLength": 256
          },
          "name": {
            "type": "string",
            "maxLength": 512
          },
          "yaml": {
            "type": "string",
            "maxLength": 262144
          },
          "description": {
            "type": "string",
            "maxLength": 2000
          },
          "folder": {
            "type": "string",
            "maxLength": 2000
          },
          "kind": {
            "type": "string",
            "enum": [
              "workflow",
              "agent",
              "bot",
              "campaign",
              "campus",
              "building"
            ]
          },
          "campaign_config": {
            "type": "object",
            "propertyNames": {
              "type": "string",
              "maxLength": 64
            },
            "additionalProperties": {}
          },
          "version_id": {
            "type": "string",
            "maxLength": 256
          },
          "version_description": {
            "type": "string",
            "maxLength": 2000
          },
          "door_action": {
            "type": "string",
            "enum": [
              "mint",
              "get",
              "pause",
              "resume",
              "revoke"
            ]
          },
          "handle": {
            "type": "string",
            "maxLength": 64
          },
          "classes": {
            "type": "object",
            "propertyNames": {
              "type": "string",
              "maxLength": 16
            },
            "additionalProperties": {
              "type": "string",
              "maxLength": 16
            }
          },
          "locks": {
            "maxItems": 8,
            "type": "array",
            "items": {
              "type": "string",
              "maxLength": 16
            }
          },
          "budget_usd_run": {
            "anyOf": [
              {
                "type": "number",
                "minimum": 0
              },
              {
                "type": "null"
              }
            ]
          },
          "budget_usd_month": {
            "anyOf": [
              {
                "type": "number",
                "minimum": 0
              },
              {
                "type": "null"
              }
            ]
          },
          "path": {
            "type": "string",
            "maxLength": 512
          },
          "channel": {
            "type": "string",
            "maxLength": 20
          },
          "sender_id": {
            "type": "string",
            "maxLength": 128
          },
          "group": {
            "type": "string",
            "maxLength": 40
          },
          "members": {
            "maxItems": 6,
            "type": "array",
            "items": {
              "type": "string",
              "maxLength": 256
            }
          }
        },
        "required": [
          "action"
        ]
      },
      "outputSchema": null,
      "defaults": {
        "kind": "workflow on create",
        "handle": "the workflow's name as a slug"
      },
      "requiredNotes": {
        "workflow_id": "for every action except `create` and the group actions",
        "name": "for `create`",
        "yaml": "for `create`",
        "version_id": "for `get_version`, `restore_version`",
        "door_action": "for `a2a_door`",
        "path": "for `file`",
        "channel": "for `bind`, `unbind`",
        "sender_id": "for `bind`, `unbind`",
        "group": "for `group_set`, `group_delete`, `group_thread`",
        "members": "for `group_set`"
      },
      "createsExecution": false,
      "section": "1411-plungeai_workflow"
    },
    {
      "name": "plungeai_executions",
      "description": "Browse your execution history: action list|get|output|conversation|files|delete|cancel|steer. `cancel` stops a running execution (cooperative — it stops at its next turn or tool boundary); `steer` (message) queues a message for a running one, delivered at its next turn; `files` lists the files the run wrote. Outputs are final user-ready markdown (tables, threads): show them to the user verbatim and complete — never summarize or re-type them.",
      "readOnly": false,
      "inputSchema": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "type": "object",
        "properties": {
          "user_request": {
            "description": "The user's original request, verbatim and in their own words, before you translated it into this call. Always include it — the platform uses it for request context, routing and support diagnostics.",
            "type": "string",
            "maxLength": 4000
          },
          "action": {
            "type": "string",
            "enum": [
              "list",
              "get",
              "output",
              "conversation",
              "delete",
              "cancel",
              "steer",
              "files"
            ]
          },
          "execution_id": {
            "type": "string",
            "maxLength": 256
          },
          "workflow_id": {
            "type": "string",
            "maxLength": 256
          },
          "message": {
            "type": "string",
            "maxLength": 65536
          },
          "limit": {
            "type": "integer",
            "minimum": 1,
            "maximum": 100
          },
          "offset": {
            "type": "integer",
            "minimum": 0,
            "maximum": 100000
          },
          "format": {
            "default": "markdown",
            "description": "markdown (default): rendered for an AI reader · json: the same outcome as a JSON document in `text` plus `structuredContent`",
            "type": "string",
            "enum": [
              "markdown",
              "json"
            ]
          }
        },
        "required": [
          "action"
        ]
      },
      "outputSchema": null,
      "defaults": {
        "limit": "20",
        "offset": "0",
        "format": "markdown"
      },
      "requiredNotes": {
        "execution_id": "for every action except `list`",
        "message": "for `steer`"
      },
      "createsExecution": false,
      "section": "1412-plungeai_executions"
    },
    {
      "name": "plungeai_followup",
      "description": "Ask a follow-up about a completed execution (continues its agent session or researches with prior context). If the execution is still running, your message is queued and injected at its next turn (steer); if finished, it continues the conversation.",
      "readOnly": false,
      "inputSchema": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "type": "object",
        "properties": {
          "user_request": {
            "description": "The user's original request, verbatim and in their own words, before you translated it into this call. Always include it — the platform uses it for request context, routing and support diagnostics.",
            "type": "string",
            "maxLength": 4000
          },
          "execution_id": {
            "type": "string",
            "maxLength": 256
          },
          "prompt": {
            "type": "string",
            "maxLength": 65536
          }
        },
        "required": [
          "execution_id",
          "prompt"
        ]
      },
      "outputSchema": null,
      "defaults": {},
      "requiredNotes": {},
      "createsExecution": false,
      "section": "1413-plungeai_followup"
    },
    {
      "name": "plungeai_continue",
      "description": "Continue a paused conversation: answer a question (message) or approve a pending action (approve:true). Only pass approve:true after the user explicitly confirmed — never approve on your own. To deny or change course, pass their words as message.",
      "readOnly": false,
      "inputSchema": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "type": "object",
        "properties": {
          "user_request": {
            "description": "The user's original request, verbatim and in their own words, before you translated it into this call. Always include it — the platform uses it for request context, routing and support diagnostics.",
            "type": "string",
            "maxLength": 4000
          },
          "execution_id": {
            "type": "string",
            "maxLength": 256
          },
          "message": {
            "type": "string",
            "maxLength": 65536
          },
          "approve": {
            "type": "boolean"
          }
        },
        "required": [
          "execution_id"
        ]
      },
      "outputSchema": null,
      "defaults": {},
      "requiredNotes": {
        "message": "one of `message` / `approve: true`",
        "approve": "one of `message` / `approve: true`"
      },
      "createsExecution": false,
      "section": "1414-plungeai_continue"
    },
    {
      "name": "plungeai_chat",
      "description": "Persistent chat with the PlungeAI assistant (platform tools + web search). action send|new|list_sessions|history. Conversations appear in Studio and the CLI.",
      "readOnly": false,
      "inputSchema": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "type": "object",
        "properties": {
          "user_request": {
            "description": "The user's original request, verbatim and in their own words, before you translated it into this call. Always include it — the platform uses it for request context, routing and support diagnostics.",
            "type": "string",
            "maxLength": 4000
          },
          "action": {
            "type": "string",
            "enum": [
              "send",
              "list_sessions",
              "history",
              "new"
            ]
          },
          "message": {
            "type": "string",
            "maxLength": 65536
          },
          "conversation_id": {
            "type": "string",
            "maxLength": 256
          },
          "user_context": {
            "description": "Where and when the end user is. Optional: the agent uses it for local time and as the default schedule time zone; when absent the gateway derives a time zone and approximate place from the request's network location. Values that do not validate (an unknown zone, a malformed locale) are dropped.",
            "type": "object",
            "properties": {
              "time_zone": {
                "description": "IANA zone, e.g. Europe/Berlin",
                "type": "string",
                "maxLength": 64
              },
              "locale": {
                "description": "BCP-47 tag, e.g. de-DE",
                "type": "string",
                "maxLength": 35
              },
              "place": {
                "description": "e.g. Berlin, Germany",
                "type": "string",
                "maxLength": 128
              },
              "latitude": {
                "type": "number",
                "minimum": -90,
                "maximum": 90
              },
              "longitude": {
                "type": "number",
                "minimum": -180,
                "maximum": 180
              },
              "accuracy_m": {
                "description": "metres; only with a GPS fix",
                "type": "number",
                "minimum": 0
              },
              "source": {
                "description": "default: device",
                "type": "string",
                "enum": [
                  "device",
                  "network"
                ]
              }
            }
          }
        },
        "required": [
          "action"
        ]
      },
      "outputSchema": null,
      "defaults": {
        "conversation_id": "a new conversation (send)",
        "user_context": "the request's network location"
      },
      "requiredNotes": {
        "message": "for `send`",
        "conversation_id": "for `history`"
      },
      "createsExecution": false,
      "section": "1415-plungeai_chat"
    },
    {
      "name": "plungeai_build_workflow",
      "description": "Generate a new workflow from a goal, or refine an existing one (workflow_id + instruction), via the platform builder. Saves it so it appears everywhere (live sync).",
      "readOnly": false,
      "inputSchema": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "type": "object",
        "properties": {
          "user_request": {
            "description": "The user's original request, verbatim and in their own words, before you translated it into this call. Always include it — the platform uses it for request context, routing and support diagnostics.",
            "type": "string",
            "maxLength": 4000
          },
          "goal": {
            "type": "string",
            "maxLength": 65536
          },
          "workflow_id": {
            "type": "string",
            "maxLength": 256
          },
          "instruction": {
            "type": "string",
            "maxLength": 65536
          }
        }
      },
      "outputSchema": null,
      "defaults": {},
      "requiredNotes": {
        "goal": "for a new workflow",
        "workflow_id": "for a refine",
        "instruction": "for a refine"
      },
      "createsExecution": false,
      "section": "1416-plungeai_build_workflow"
    },
    {
      "name": "plungeai_memory",
      "description": "Long-term memory scoped to you: action recall|remember|search_runs|get_run|forget. remember writes the durable store that recall reads (target user|memory, operation add|replace|remove|read) — use it when the user asks to remember something. forget removes one entry by entry_id, or every entry containing content, from both stores. Past-run history is separate: search_runs/get_run read the run journal, which recall deliberately does not include.",
      "readOnly": false,
      "inputSchema": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "type": "object",
        "properties": {
          "user_request": {
            "description": "The user's original request, verbatim and in their own words, before you translated it into this call. Always include it — the platform uses it for request context, routing and support diagnostics.",
            "type": "string",
            "maxLength": 4000
          },
          "action": {
            "type": "string",
            "enum": [
              "recall",
              "remember",
              "search_runs",
              "get_run",
              "forget"
            ]
          },
          "query": {
            "type": "string",
            "maxLength": 2000
          },
          "run_id": {
            "type": "string",
            "maxLength": 256
          },
          "entry_id": {
            "type": "string",
            "maxLength": 256
          },
          "target": {
            "type": "string",
            "enum": [
              "user",
              "memory"
            ]
          },
          "operation": {
            "type": "string",
            "enum": [
              "add",
              "replace",
              "remove",
              "read"
            ]
          },
          "content": {
            "type": "string",
            "maxLength": 65536
          },
          "old_text": {
            "type": "string",
            "maxLength": 2000
          },
          "limit": {
            "type": "integer",
            "minimum": 1,
            "maximum": 100
          }
        },
        "required": [
          "action"
        ]
      },
      "outputSchema": null,
      "defaults": {
        "target": "memory",
        "operation": "add",
        "limit": "10"
      },
      "requiredNotes": {
        "query": "for `search_runs`",
        "run_id": "for `get_run`",
        "entry_id": "for `forget`, one of `entry_id` / `content`",
        "content": "for `add`, `replace`; for `forget`, one of `entry_id` / `content`",
        "old_text": "for `replace`, `remove`"
      },
      "createsExecution": false,
      "section": "1417-plungeai_memory"
    },
    {
      "name": "plungeai_templates",
      "description": "Workflow templates: action list|get|use. \"use\" creates a workflow from the template (optional name + folder).",
      "readOnly": false,
      "inputSchema": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "type": "object",
        "properties": {
          "user_request": {
            "description": "The user's original request, verbatim and in their own words, before you translated it into this call. Always include it — the platform uses it for request context, routing and support diagnostics.",
            "type": "string",
            "maxLength": 4000
          },
          "action": {
            "type": "string",
            "enum": [
              "list",
              "get",
              "use"
            ]
          },
          "template_id": {
            "type": "string",
            "maxLength": 256
          },
          "category": {
            "type": "string",
            "maxLength": 256
          },
          "name": {
            "type": "string",
            "maxLength": 512
          },
          "folder": {
            "type": "string",
            "maxLength": 2000
          },
          "limit": {
            "type": "integer",
            "minimum": 1,
            "maximum": 100
          }
        },
        "required": [
          "action"
        ]
      },
      "outputSchema": null,
      "defaults": {
        "name": "<template name> (copy); a bot template keeps its own name",
        "limit": "50"
      },
      "requiredNotes": {
        "template_id": "for `get`, `use`"
      },
      "createsExecution": false,
      "section": "1418-plungeai_templates"
    },
    {
      "name": "plungeai_schedule",
      "description": "Scheduled (cron) jobs: action stats|list|get|create|update|pause|resume|delete|run_now|runs|wake. create needs name, job_type (agent|query|workflow|heartbeat), target, schedule; create also takes mission_ref (schedule a pre-built agent card), ends_at, and schedule \"@once\" with run_at (an ISO-8601 time with a UTC offset) for a one-time run. wake (job_id, note) fires the job's saved workflow once. Triggers of a job (job_id): webhook_mint|webhook_list|webhook_delete, email_mint|email_list|email_delete, hooks_mint|hooks_list|hooks_delete (trigger_id deletes one; a secret is shown once, at mint); webhook_rotate|email_rotate (trigger_id) mint a successor with the same settings and revoke the old one.",
      "readOnly": false,
      "inputSchema": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "type": "object",
        "properties": {
          "user_request": {
            "description": "The user's original request, verbatim and in their own words, before you translated it into this call. Always include it — the platform uses it for request context, routing and support diagnostics.",
            "type": "string",
            "maxLength": 4000
          },
          "action": {
            "type": "string",
            "enum": [
              "stats",
              "list",
              "get",
              "create",
              "update",
              "pause",
              "resume",
              "delete",
              "run_now",
              "runs",
              "wake",
              "webhook_mint",
              "webhook_list",
              "webhook_delete",
              "webhook_rotate",
              "email_mint",
              "email_list",
              "email_delete",
              "email_rotate",
              "hooks_mint",
              "hooks_list",
              "hooks_delete"
            ]
          },
          "job_id": {
            "type": "string",
            "maxLength": 256
          },
          "name": {
            "type": "string",
            "maxLength": 512
          },
          "description": {
            "type": "string",
            "maxLength": 2000
          },
          "job_type": {
            "type": "string",
            "enum": [
              "agent",
              "query",
              "workflow",
              "heartbeat"
            ]
          },
          "target": {
            "type": "string",
            "maxLength": 262144
          },
          "schedule": {
            "type": "string",
            "maxLength": 128
          },
          "timezone": {
            "type": "string",
            "maxLength": 64
          },
          "run_at": {
            "type": "string",
            "maxLength": 64
          },
          "ends_at": {
            "type": "string",
            "maxLength": 64
          },
          "parameters": {
            "description": "Job extras. deliver: DeliverTarget[] — objects {channel: \"inapp\"|\"email\"|\"slack\"|\"telegram\"|\"whatsapp\"|\"discord\"|\"teams\", chat_id?, to?}; bare {channel:\"slack\"} DMs the owner, bare {channel:\"email\"} mails the owner's registered address, other emails must be confirmed recipients. prompt: per-run goal.",
            "type": "object",
            "propertyNames": {
              "type": "string",
              "maxLength": 128
            },
            "additionalProperties": {}
          },
          "limit": {
            "type": "integer",
            "minimum": 1,
            "maximum": 100
          },
          "mission_ref": {
            "type": "string",
            "maxLength": 256
          },
          "check_agent": {
            "type": "string",
            "maxLength": 256
          },
          "check_workflow": {
            "type": "string",
            "maxLength": 256
          },
          "condition_prompt": {
            "type": "string",
            "maxLength": 4096
          },
          "trigger_workflow": {
            "type": "string",
            "maxLength": 256
          },
          "notify_channel": {
            "type": "string",
            "enum": [
              "telegram",
              "whatsapp",
              "discord",
              "slack",
              "teams",
              "email"
            ]
          },
          "notify_chat_id": {
            "type": "string",
            "maxLength": 128
          },
          "note": {
            "type": "string",
            "maxLength": 512
          },
          "trigger_id": {
            "type": "string",
            "maxLength": 256
          },
          "prompt_template": {
            "type": "string",
            "maxLength": 16384
          },
          "scheme": {
            "type": "string",
            "maxLength": 64
          },
          "filters": {
            "type": "object",
            "propertyNames": {
              "type": "string",
              "maxLength": 64
            },
            "additionalProperties": {}
          },
          "allowed_from": {
            "type": "string",
            "maxLength": 16384
          },
          "url": {
            "type": "string",
            "maxLength": 512
          },
          "events": {
            "maxItems": 16,
            "type": "array",
            "items": {
              "type": "string",
              "maxLength": 64
            }
          }
        },
        "required": [
          "action"
        ]
      },
      "outputSchema": null,
      "defaults": {
        "timezone": "UTC",
        "limit": "50 for list, 20 for runs",
        "scheme": "generic",
        "allowed_from": "anyone"
      },
      "requiredNotes": {
        "job_id": "for `get`, `update`, `pause`, `resume`, `delete`, `run_now`, `wake` and every trigger action",
        "name": "for `create`",
        "job_type": "for a plain `create`",
        "target": "for a plain `create`",
        "schedule": "for `create`",
        "run_at": "for `create` with `schedule: \"@once\"`",
        "check_agent": "for a heartbeat, unless `check_workflow`",
        "condition_prompt": "for a heartbeat",
        "trigger_id": "for `webhook_delete`, `webhook_rotate`, `email_delete`, `email_rotate`, `hooks_delete`",
        "url": "for `hooks_mint`",
        "events": "for `hooks_mint`"
      },
      "createsExecution": true,
      "section": "1419-plungeai_schedule"
    },
    {
      "name": "plungeai_whoami",
      "description": "Show the authenticated identity: user id, tier, key label, rate-limit window.",
      "readOnly": true,
      "inputSchema": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "type": "object",
        "properties": {
          "user_request": {
            "description": "The user's original request, verbatim and in their own words, before you translated it into this call. Always include it — the platform uses it for request context, routing and support diagnostics.",
            "type": "string",
            "maxLength": 4000
          },
          "format": {
            "default": "markdown",
            "description": "markdown (default): rendered for an AI reader · json: the same outcome as a JSON document in `text` plus `structuredContent`",
            "type": "string",
            "enum": [
              "markdown",
              "json"
            ]
          }
        }
      },
      "outputSchema": null,
      "defaults": {
        "format": "markdown"
      },
      "requiredNotes": {},
      "createsExecution": false,
      "section": "1420-plungeai_whoami"
    },
    {
      "name": "plungeai_companies",
      "description": "Your companies (campuses compiled from saved campus + building + office documents), the same as the One API /v1/companies: action list|apply|layout|snapshot|events|ingest|slice; items item_create|item_get|item_pause|item_resume|item_retry|item_cancel|item_steer (item_id, text; item_get returns the item in full with its runs, approvals and history); the gates at the door approvals|decide (approval_id, decision approve|reject — only after the user decided; approving a tool permission continues the paused run once); mode (supervised|tiered|autonomous), start|stop (the clock), delete (refused with conflict while running — stop it first). Every action but list takes campus. Refusals name not_found, conflict, invalid or unavailable.",
      "readOnly": false,
      "inputSchema": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "type": "object",
        "properties": {
          "user_request": {
            "description": "The user's original request, verbatim and in their own words, before you translated it into this call. Always include it — the platform uses it for request context, routing and support diagnostics.",
            "type": "string",
            "maxLength": 4000
          },
          "action": {
            "type": "string",
            "enum": [
              "list",
              "apply",
              "layout",
              "snapshot",
              "events",
              "ingest",
              "slice",
              "item_create",
              "item_get",
              "item_pause",
              "item_resume",
              "item_retry",
              "item_cancel",
              "item_steer",
              "approvals",
              "decide",
              "mode",
              "start",
              "stop",
              "delete"
            ]
          },
          "campus": {
            "type": "string",
            "maxLength": 64
          },
          "building": {
            "type": "string",
            "maxLength": 64
          },
          "since": {
            "type": "integer",
            "minimum": 0,
            "maximum": 9007199254740991
          },
          "limit": {
            "type": "integer",
            "minimum": 1,
            "maximum": 1000
          },
          "events": {
            "maxItems": 200,
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "building": {
                  "type": "string",
                  "maxLength": 128
                },
                "type": {
                  "type": "string",
                  "maxLength": 64
                },
                "item_id": {
                  "type": "string",
                  "maxLength": 128
                },
                "office": {
                  "type": "string",
                  "maxLength": 128
                },
                "data": {
                  "type": "object",
                  "propertyNames": {
                    "type": "string",
                    "maxLength": 128
                  },
                  "additionalProperties": {}
                },
                "at": {
                  "type": "string",
                  "maxLength": 64
                }
              },
              "required": [
                "building",
                "type"
              ]
            }
          },
          "item_id": {
            "type": "string",
            "maxLength": 256
          },
          "title": {
            "type": "string",
            "maxLength": 300
          },
          "body": {
            "type": "string",
            "maxLength": 65536
          },
          "kind": {
            "type": "string",
            "enum": [
              "feature",
              "bugfix",
              "docs",
              "research",
              "content",
              "task"
            ]
          },
          "priority": {
            "type": "integer",
            "minimum": -9007199254740991,
            "maximum": 9007199254740991
          },
          "tier": {
            "type": "string",
            "maxLength": 32
          },
          "text": {
            "type": "string",
            "maxLength": 65536
          },
          "status": {
            "type": "string",
            "enum": [
              "pending",
              "approved",
              "rejected",
              "expired"
            ]
          },
          "approval_id": {
            "type": "string",
            "maxLength": 256
          },
          "decision": {
            "type": "string",
            "enum": [
              "approve",
              "reject"
            ]
          },
          "note": {
            "type": "string",
            "maxLength": 65536
          },
          "mode": {
            "type": "string",
            "enum": [
              "supervised",
              "tiered",
              "autonomous"
            ]
          }
        },
        "required": [
          "action"
        ]
      },
      "outputSchema": null,
      "defaults": {
        "since": "0",
        "limit": "200",
        "status": "all"
      },
      "requiredNotes": {
        "campus": "for every action but `list`",
        "building": "for `slice`, `item_create`",
        "events": "for `ingest`",
        "item_id": "for `item_pause`, `item_resume`, `item_retry`, `item_cancel`, `item_steer`",
        "title": "for `item_create`",
        "text": "for `item_steer`",
        "approval_id": "for `decide`",
        "decision": "for `decide`",
        "mode": "for `mode`"
      },
      "createsExecution": true,
      "section": "1421-plungeai_companies"
    },
    {
      "name": "plungeai_connections",
      "description": "Your connected accounts, the same as the One API /v1/connections: action list (provider, method, status — never a credential)|add (provider + api_key[, api_secret] for a key-based provider)|remove (provider)|link (provider[, return_url]: a signed single-use Studio link, 15 minutes, to connect an OAuth or key provider — send it to whoever owns the account). on_behalf_of acts on one of your customers instead of you.",
      "readOnly": false,
      "inputSchema": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "type": "object",
        "properties": {
          "user_request": {
            "description": "The user's original request, verbatim and in their own words, before you translated it into this call. Always include it — the platform uses it for request context, routing and support diagnostics.",
            "type": "string",
            "maxLength": 4000
          },
          "action": {
            "type": "string",
            "enum": [
              "list",
              "add",
              "remove",
              "link"
            ]
          },
          "provider": {
            "type": "string",
            "maxLength": 64
          },
          "on_behalf_of": {
            "type": "string",
            "maxLength": 128
          },
          "api_key": {
            "type": "string",
            "maxLength": 4096
          },
          "api_secret": {
            "type": "string",
            "maxLength": 4096
          },
          "return_url": {
            "type": "string",
            "maxLength": 2048
          }
        },
        "required": [
          "action"
        ]
      },
      "outputSchema": null,
      "defaults": {
        "on_behalf_of": "you"
      },
      "requiredNotes": {
        "provider": "for `add`, `remove`, `link`",
        "api_key": "for `add`"
      },
      "createsExecution": false,
      "section": "1422-plungeai_connections"
    }
  ],
  "prompts": [
    {
      "name": "plungeai",
      "title": "PlungeAI",
      "description": "PlungeAI MCP",
      "arguments": [
        {
          "name": "request",
          "description": "What you want to accomplish (optional)",
          "required": false
        }
      ]
    }
  ],
  "resources": [
    {
      "uri": "plungeai://agents/list",
      "name": "PlungeAI Agents",
      "description": "Live agent registry (markdown)",
      "mimeType": "text/markdown"
    },
    {
      "uri": "plungeai://agents/categories",
      "name": "Agent Categories",
      "description": "Live registry categories with agent counts (markdown)",
      "mimeType": "text/markdown"
    },
    {
      "uri": "plungeai://personas/list",
      "name": "Personas",
      "description": "Live persona registry (markdown)",
      "mimeType": "text/markdown"
    },
    {
      "uri": "plungeai://workflows/list",
      "name": "Your Workflows",
      "description": "Your saved workflows (markdown)",
      "mimeType": "text/markdown"
    },
    {
      "uri": "plungeai://docs/workflow-authoring",
      "name": "Workflow Authoring Guide",
      "description": "Author, validate, and save CNL workflows (full skill bundle)",
      "mimeType": "text/markdown"
    }
  ],
  "resourceTemplates": [
    {
      "uriTemplate": "plungeai://agents/{category}",
      "name": "Agents by category",
      "mimeType": "text/markdown"
    },
    {
      "uriTemplate": "plungeai://workflows/{id}",
      "name": "Workflow YAML by id",
      "mimeType": "text/yaml"
    },
    {
      "uriTemplate": "plungeai://executions/{id}",
      "name": "Execution result by id",
      "mimeType": "text/markdown"
    }
  ]
}
