Prompts and resources
In addition to the MCP tools (core / sessions / dashboards), the Whet MCP exposes 2 prompts and 2 resources. Prompts are guiding templates that the client invokes when the user selects them explicitly. Resources are URIs the agent reads as context before acting.
Prompts
Prompts return a message ready to send to the model — placeholders already filled, workflow narrated step by step. In Claude Desktop they show up in the / menu, in Cursor in the palette.
draft_from_handle
Guides the "build a draft analyzing recent posts from a handle" flow end-to-end.
Arguments:
| Name | Type | Required | Description |
|---|---|---|---|
handle | string | yes | Handle to track (with or without @). |
intent | string (min 10) | yes | Why this handle matters, 1–2 sentences. |
max_drafts | string | no | Cap on drafts from the first batch. Default "3". |
Returned workflow:
- Call
create_pipeline_from_intentwith the handle, the intent and a freshidempotency_key. - Poll the returned run.
- When the pipeline reports
ready(orread_inboxreturns posts), calllist_postsand pick the top-engagement candidates. - For each top-N candidate, call
start_draftwith a uniqueidempotency_keyper post. - Report back the run IDs so the user can review.
When to use: the operator wants quick drafts without creating a persistent pipeline from the UI.
refine_post
Guides the free-form refinement loop on an existing artifact.
Arguments:
| Name | Type | Required | Description |
|---|---|---|---|
artifact_id | string | yes | rf_<uuid> or bf_<uuid> of the draft to refine. |
goal | string (min 10) | yes | Natural-language goal — "shorter and punchier", "match @balajis voice", etc. |
Returned workflow:
- Read the current draft via the
artifact://{artifact_id}resource. - Pick the
refinement_typethat matches the goal:- shorter / tighter / condense →
refinement_type=shorter - punchier / sharper hook →
refinement_type=more_punchy - tone shift →
refinement_type=change_tonewithparams: { new_tone: ... } - emulate voice →
refinement_type=match_voicewithparams: { handle: @... }
- shorter / tighter / condense →
- Call the refinement endpoint (
POST /artifacts/{parent_id}/refineon the backend, or the/api/picko/refinementsfacade) withparent_id=rf_<uuid> | bf_<uuid>. - Poll the new artifact; loop if it still misses the goal.
- Once satisfactory, call
publish_artifacton the final child.
When to use: after reading the inbox and picking a draft that needs a variant. It's the agent-friendly form of a loop the client can iterate without asking the human for more input.
Important note: the argument is
goalin natural language, not a closed enum. The prompt internally picks the appropriaterefinement_typebased on the goal text.
Resources
Resources are URIs the agent reads with resources/read to gather context before acting. They are read-only — there's no resources/write tool. Mutating operations go through explicit tools.
pipeline://{id}
Reads the full detail of a pipeline.
pipeline://pp_a1b2c3
Returns the configuration (source, kind, scope, tone, auto-fanout), recent runs with their state, summarized metrics and recurring errors if any. Useful before invoking diagnose_pipeline — sometimes reading the resource is enough.
artifact://{id}
Reads the full detail of an artifact.
artifact://rf_4f5g
Returns the text/data, state (review, ready, published, archived), genealogy (parent_id if it's a variant, children if any), and the originating pipeline. Useful for an agent to read content before proposing a refinement or citing it in a response to the user.
Conventions
- Prompts are idempotent: two calls with the same arguments produce the same message. No side effects.
- Prompt arguments are free-form strings (except handles). The prompt itself reasons about intent and goal — there are no closed enums the client has to pick from up front.
- If your MCP client doesn't support prompts/resources (tools only), the same operations are reachable via the MCP tools — you only lose the narrated workflows.