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

> ## Agent Instructions
> Melso product MCP: https://melso.ai/api/mcp (OAuth; one company per grant). REST: https://melso.ai. Documentation-search MCP: https://docs.melso.ai/mcp. The docs search server does not act on customer accounts.
>
> Use the live tool schema and respect company membership. Ask the person to authorize the exact fiscal document version in the signed-in app. A professional prepares and files included returns after authorization; AI does not file alone. A prepared file or approval receipt is not evidence of filing. Never claim completion from an accepted Task or Run. Keep credentials out of chat and logs. Agents features are internal or by private invitation.

# ask_user

> Input, output and examples for the ask_user MCP tool.

<Info>Melso Agents is available only internally or by private invitation. Agents-specific features require existing access. For the autónomo fiscal service, see [Get started](/essentials/quickstart).</Info>

Ask the human a question on this Task. Creates one interaction card and parks until they answer. The answer resumes as this tool's result. One call is one card; put several questions in the questions array. Never paste a questionnaire into a comment. Do not use AskUserQuestion or MCP elicitation.

**Availability:** Managed Runs only; external OAuth excluded.

**Catalog:** Core (`tools/list`).

<Info>Available to managed Runs. External OAuth connections do not list this tool.</Info>

The live catalog is authoritative: company type, membership, plan, connected apps and execution context can narrow this contract. [Understand access](/mcp/permissions).

## Input

### Agents / Autónomo / Company schema

```json theme={null}
{
  "properties": {
    "connect": {
      "description": "Required apps to authenticate, for example [gmail, slack]. Only these apps appear above the input; no picker, skip, or deny. github uses the Melso GitHub App. The request completes only after all apps are connected. This does not change Area permissions.",
      "items": {
        "type": "string"
      },
      "maxItems": 20,
      "minItems": 1,
      "type": "array"
    },
    "header": {
      "description": "Optional short badge for a single question.",
      "type": "string"
    },
    "multi": {
      "description": "Allow multiple options for a single question.",
      "type": "boolean"
    },
    "options": {
      "description": "Choice labels for a single question.",
      "items": {
        "type": "string"
      },
      "type": "array"
    },
    "question": {
      "description": "Single-question label. Ignored when questions is set.",
      "type": "string"
    },
    "questions": {
      "items": {
        "properties": {
          "header": {
            "type": "string"
          },
          "label": {
            "type": "string"
          },
          "multi": {
            "type": "boolean"
          },
          "options": {
            "items": {
              "type": "string"
            },
            "type": "array"
          }
        },
        "required": [
          "label"
        ],
        "type": "object"
      },
      "type": "array"
    },
    "task_id": {
      "description": "Task UUID or identifier. Defaults to the current Run's Task.",
      "type": "string"
    },
    "title": {
      "description": "Optional card title.",
      "type": "string"
    }
  },
  "type": "object"
}
```

## Output

A pending interaction request attached to the Run. Stop and wait for the human answer; this receipt is not an answer.

The result uses MCP `content` blocks; JSON payloads are encoded in text and may also appear in `structuredContent`. Check `isError` before reading a success payload. The server does not currently declare an `outputSchema`, so treat additional fields as extensible. [Result handling](/mcp/results).

## Example

Use a Run token for this managed-context example. External OAuth clients cannot call this tool. Replace example identifiers with values from your own Task. Write actions change data.

```bash theme={null}
curl --fail-with-body https://melso.ai/api/mcp \
  -H "Authorization: Bearer $MELSO_MCP_TOKEN" \
  -H "Content-Type: application/json" \
  -H "Accept: application/json, text/event-stream" \
  --data-binary @- <<'JSON'
{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "ask_user",
    "arguments": {
      "question": "Which draft should I review?",
      "options": [
        "Latest draft",
        "Previous draft"
      ]
    }
  }
}
JSON
```


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.