Opgaver · MCP

Ask the User a Question

request_input is one of the 32 MCP tools in Weft, the AI task manager you run by talking to Claude, Cursor, Codex or ChatGPT through one MCP endpoint. Ask the person something only they can decide, and wait without losing the claim on the task. If they are at their client, a form appears there and the answer comes back inside the same call — the agent carries on in the same context, with the same claim. If they are away, the call returns parked and the question waits in their queue; the answer reaches the agent at its next start_task or get_my_work. For the irreversible and the genuinely ambiguous, not for "may I continue?" — every question spends the same attention budget that limits new work.

Weft er AI-opgavestyringen til solo-stiftere og små teams.

Værktøjsreferencen vedligeholdes på engelsk: værktøjsnavne, argumenter og eksempler er ens på alle sprog.

Argumenter

NavnTypePåkrævetBeskrivelse
idstringjaTask ID
runIdstringjaThe runId returned by start_task
leaseTokenstringjaThe leaseToken returned by start_task
questionstringjaOne sentence a person can answer (≤500 chars)
options{ value, label }[]nejThe alternatives, when there are any. A question with options gets read; a yes/no gets rubber-stamped.
urgency'blocking' | 'soon'nejDefault 'blocking'
holdSecondsnumbernejHow long to wait inside the call before parking (default 120, max 240)

Returnerer

Either answered:true with the answer and the same runId/leaseToken to continue with, or parked:true with a questionId — the claim is kept either way, and a parked question is delivered back through start_task and get_my_work.

Annotationer

  • idempotent. At kalde værktøjet to gange med de samme argumenter har samme virkning som at kalde det én gang.

Eksempel

Det, brugeren siger:

"Ask me before you send anything to a customer."

Det, AI'en kalder bag kulisserne:

json
{
  "name": "request_input",
  "arguments": {
    "id": "…",
    "runId": "…",
    "leaseToken": "…",
    "question": "Which discount should the email offer?",
    "options": [
      {
        "value": "10",
        "label": "10%"
      },
      {
        "value": "15",
        "label": "15%"
      }
    ]
  }
}

Relateret