> ## Documentation Index
> Fetch the complete documentation index at: https://docs.plungeai.com/llms.txt
> Use this file to discover all available pages before exploring further.

# plungeai

> The /plungeai prompt: PlungeAI MCP.


## Arguments

| Argument | Required | Description |
|---|---|---|
| `request` | no | What you want to accomplish (optional) |

There is exactly one prompt. It activates the whole platform in one step. Earlier recipe prompts
(research pipeline, market research, …) were removed on purpose: they showed up as separate slash
commands and locked the client into one behaviour, when the tools already cover everything
(`prompts.ts`).

| Field | Value |
|---|---|
| `name` | `plungeai` |
| `title` | `PlungeAI` |
| `description` | `PlungeAI MCP` |
| `arguments` | one: `request` (string, **optional**), "What you want to accomplish (optional)" |

**Using it in a client.** Clients list MCP prompts in their slash-command or prompt menu. In
Claude Code the prompt appears as `/plungeai:plungeai (MCP)`: type `/plungeai` to filter the menu
and pick it, or run `/mcp__plungeai__plungeai` directly (the middle part is the server name you
chose in `claude mcp add`). Claude Code splits any text after the command on whitespace, one word
per argument, so only the first word would reach `request`. Run the prompt bare, then type your
request as the next message. Other clients may offer a form field for `request` instead.

- run bare (no `request`): the model is told to ask you what you want to accomplish;
- with `request` set (for example `research Tesla's Q2`, from a client that offers the field): the
  model is told to handle that request now.

The prompt is a convenience, not a requirement. You can always just talk to your client normally.

`prompts/list`:

```bash
# verify
# expect: "name":"plungeai"
# expect: "request"
curl -s https://mcp.plungeai.com/v1 \
  -H "Authorization: Bearer $PLUNGE_API_KEY" \
  -H 'Content-Type: application/json' \
  -H 'Accept: application/json, text/event-stream' \
  -d '{"jsonrpc":"2.0","id":1,"method":"prompts/list"}'
```

`prompts/get` returns `description: "PlungeAI MCP"` and one `user` message (type `text`). It runs
nothing, so it is free:

```bash
# verify
# expect: Now handle this request: research Tesla's Q2
# expect: plungeai_list_workflows
curl -s https://mcp.plungeai.com/v1 \
  -H "Authorization: Bearer $PLUNGE_API_KEY" \
  -H 'Content-Type: application/json' \
  -H 'Accept: application/json, text/event-stream' \
  -d '{"jsonrpc":"2.0","id":2,"method":"prompts/get","params":{"name":"plungeai","arguments":{"request":"research Tesla'"'"'s Q2"}}}'
```

What the message tells the model:

- It now has the full platform through the `plungeai_*` tools: about 90 active agents, CNL
  workflows, missions, long-term memory and execution history.
- **Discover.** "Show me my agents/workflows" means saved workflows (`plungeai_list_workflows`).
  The registry (`plungeai_list_agents` with a natural-language `search`) is for building blocks.
  Fetch a full card with `agent_id` before first use.
- **Execute.** `plungeai_execute_agent` (one agent, optional `session_id`), `plungeai_execute_workflow`
  (saved `workflow_id` or ad-hoc CNL YAML), `plungeai_run_mission` (bounded autonomous loop with
  memory).
- **Results.** `plungeai_get_result`, `plungeai_get_workflow_status` (poll async runs),
  `plungeai_executions`, and `plungeai_followup` / `plungeai_continue` for finished or paused runs.
- **Approvals.** Relay any "⏸ AWAITING USER APPROVAL" or "⏸ AWAITING USER" block verbatim, never
  approve on its own, then call `plungeai_continue` with `approve: true` or the user's words.
- **Build.** `plungeai_build_workflow` generates and saves a workflow. `plungeai_workflow` is direct
  CRUD. `plungeai_memory` is long-term memory.
- Always pass `user_request`, the user's words verbatim.
- The last line is either `Now handle this request: <request>` (the argument is trimmed) or
  `Ask the user what they want to accomplish.` when `request` is empty or absent.

An unknown prompt name is **rejected** with `-32602`. The SDK prefixes the message with
`MCP error -32602:`:

```bash
# verify
# expect: "code":-32602
# expect: Prompt not found: research
curl -s https://mcp.plungeai.com/v1 \
  -H "Authorization: Bearer $PLUNGE_API_KEY" \
  -H 'Content-Type: application/json' \
  -H 'Accept: application/json, text/event-stream' \
  -d '{"jsonrpc":"2.0","id":3,"method":"prompts/get","params":{"name":"research"}}'
```

## Returned message

`prompts/get` returns one `user` message with this text (`orchestration/mcp-gateway/prompts.ts`):

```text "Returned message" [expandable]
You now have the full PlungeAI platform available through the plungeai_* tools: ~90 active agents (search, financial, documents, social, payments, automation, …), CNL YAML workflows, autonomous missions, long-term memory, and execution history.

How to work with it:
- **Discover**: "show me my agents/workflows" means the user's SAVED WORKFLOWS → plungeai_list_workflows. The registry (plungeai_list_agents, search:"<capability in natural language>" — hybrid semantic search, trust the ranking; fetch a full card with agent_id before first use) is the capability catalog of building-block agents — use it when the user says registry/discovery, or when composing workflows.
- **Execute**: plungeai_execute_agent (one agent, optional session_id for conversations), plungeai_execute_workflow (saved workflow_id or ad-hoc CNL YAML — sequential, parallel, dynamic, batch), plungeai_run_mission (bounded autonomous loop with memory).
- **Results**: plungeai_get_result and plungeai_get_workflow_status (poll async runs); plungeai_executions for history; plungeai_followup / plungeai_continue to keep talking to a finished or paused run.
- **Approvals (HITL)**: if a result or status ends with "⏸ AWAITING USER APPROVAL" or "⏸ AWAITING USER", relay it to the user verbatim and ask them to decide (e.g. "Approve? yes/no") — never approve on your own — then plungeai_continue with the execution_id and approve: true or message: "<their words>".
- **Build**: plungeai_build_workflow generates and saves a workflow from a goal; plungeai_workflow is direct CRUD. plungeai_memory for long-term memory.
- Always pass user_request (the user's words, verbatim) on every call.

Ask the user what they want to accomplish.
```

With `request` set, the last line reads `Now handle this request: <request>` instead.
