# Answers and evidence

Every tool returns the same two things: a one-line headline for a human to read,
and the full record as JSON. The headline is a summary and its wording can
change; the JSON is the part to rely on, and it carries the ids that let an
assistant chain one call into the next.

## Asking a question

`ask_question` runs the same pipeline as asking from the home page. It returns
the answer along with everything behind it: how confident ResponseHub is, why,
and which material it drew on.

Answering is not instant. If the pipeline is still running, the result says the
question is still processing and gives its id — the assistant fetches the
finished answer with `get_question`. A well-behaved assistant does this for you;
you may see it pause and check back.

## Confidence and relevance

Both are scored 0.0–1.0 and reported as a percentage *and* a word, so nothing
has to interpret the number. The bands are the same ones the web UI uses:

| Words | Score |
|---|---|
| Excellent | 80–100% |
| Very good | 60–79% |
| Good | 40–59% |
| Ok | 20–39% |
| Low | 0–19% |

**Confidence** describes the answer as a whole. **Relevance** describes a single
reference — how well that piece of material matched the question. The full
explanations live in [confidence](/help/how-questions-are-answered/confidence/)
and [relevancy](/help/how-questions-are-answered/relevancy/).

An answer also carries a rationale for its confidence, and a verdict on whether
there was enough context to answer at all. When there was not, ResponseHub says
so rather than guessing — the result explains what was missing instead of
offering a low-confidence answer as though it were fine.

## The references behind an answer

An answer result carries **every** reference the search step surfaced, not only
the ones quoted — used ones first, then in relevance order. Each reference says:

- Whether the answer actually used it.
- Whether it is a knowledge base item or a source.
- Its title, and an excerpt of the matched text.
- A **web link** into ResponseHub, so you can open the underlying record.
- The character positions of the exact quoted span within the excerpt, for
  assistants that highlight it.

The result also counts them separately: how many references were found, and how
many were used. The used count is the meaningful one — the rest is what search
considered and the answer set aside.

**Check the citations:** An assistant will happily present an answer without mentioning where it came
from. The references are in the result either way — asking "which sources did
that come from?" costs nothing and is the fastest way to catch an answer built
on the wrong policy.

## The answer card

Some assistants can render a ResponseHub **answer card** instead of plain text:
the answer, a confidence bar, the rationale, and the reference cards with the
quoted passage highlighted and unused references tucked behind a toggle.

This is a display layer, nothing more. Assistants that cannot render it show the
text result, and the text result is what the model reads in both cases — the
card never changes the answer.

Source excerpts are shown exactly as ResponseHub extracted them, which for a
scanned PDF can include headings, bold markers and table pipes from the original
layout. That is the raw extracted text, not a formatting error.

## Lists and limits

List and search tools cap how much they return. Ask for more than the maximum
and the request is not rejected — it is clamped to the maximum, and the result
reports both what was asked for and what was applied, so nothing quietly returns
a partial set that looks complete.

| Tool | Default | Maximum |
|---|---|---|
| `search_knowledge_base` | 10 | 25 |
| `list_questionnaires`, `list_rfps`, `list_sources` | 20 | 100 |

List results also carry the total count and the current page, so an assistant
asked for "all of them" can page through rather than stopping at the first
twenty.

## When something goes wrong

Errors come back as a plain sentence the assistant can read out — a record that
does not exist, a file that could not be fetched, a date in the wrong format, an
action your role does not allow. Nothing fails silently, so if an assistant says
it did something, the tool reported success.

An id belonging to another account reads as "not found", because your connection
cannot see outside its own account at all.

## Next steps

- [Uploading documents](/help/mcp/uploading-documents/)
- [Permissions and safety](/help/mcp/permissions-and-safety/)
- [How questions are answered](/help/how-questions-are-answered/kb-vs-sources/)