Ask Pipeworx — Grounded
ask_pipeworx_groundedHallucination-resistant answer mode for high-stakes reads. Same routing as ask_pipeworx — picks the right tool from 7,197 across 1869 sources, fills arguments, fetches the data — then EXTRACTS the answer using ONLY what the tool result contains. Returns {answer, evidence (verbatim quote), confidence, source, fetched_at, refusal_reason:null} on success, OR an explicit refusal {answer:null, refusal_reason:"not_in_source"|"no_tool_match"|"tool_error"|"data_truncated"|"llm_error"} when the data doesn't directly answer. An "llm_error" also carries refusal_cause ("wall" = our time budget ended before any model call was made; "route"|"threw"|"unparseable"|"wall_after_failure" = a model call failed); refusal_reason itself is unchanged. Use whenever an answer will be quoted, cited, or acted on, and the agent must not invent facts (financial verdicts, legal claims, medical lookups, public statements). Costs one extra LLM call vs ask_pipeworx — prefer ask_pipeworx for casual lookups.
Example tool call
This call uses example arguments supplied in the tool’s input schema.
{
"id": 1,
"jsonrpc": "2.0",
"method": "tools/call",
"params": {
"arguments": {
"question": "What was Apple's fiscal 2023 revenue?"
},
"name": "ask_pipeworx_grounded"
}
}Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| q | No | Alias for question. | |
| ask | No | Alias for question. | |
| text | No | Alias for question. | |
| input | No | Alias for question. | |
| query | No | Alias for question. | |
| prompt | No | Alias for question. | |
| message | No | Alias for question. | |
| question | Yes | Your question in natural language. Accepts query, q, prompt, text, input, ask, message as aliases. | |
| prefer_tool | No | Run this exact tool instead of letting the router choose — use a name from a previous answer's alternatives[]. Arguments are still filled from your question. Unknown names are refused, never guessed. |