# Where a read stands (`mttr_job`)

Updated October 24, 2026.

## What does mttr_job do?

How a read asked for stands: waiting, running, done or failed, and how many reads are ahead of it. A key may make this call on the sites it has claimed.

Who may call it: Your claimed sites.

## When to use it

- You asked for a read and are waiting on it.

## What you ask

You might say: “Is the read of example.com done yet?”

```
mttr_job({ id: 4242 })
```

| Argument | Type | Needed | What it is |
| --- | --- | --- | --- |
| `id` | Number | Yes | The job id that mttr_rescan returned. |

## What comes back

- Its state, and how many reads are ahead of it.
- Why it failed, when it did.

A sample, with made-up sites and figures:

1. Waiting
2. Running (here)
3. Done

Running. 64 of 100 pages read.

## Over HTTP

```
curl "https://mttr.si/api/v1/jobs/4242" \
  -H "Authorization: Bearer $MTTR_KEY"
```

## When it fails

| When | Status | What to do |
| --- | --- | --- |
| Your assistant has no key yet | 401 over MCP | Sign up with `mttr_signup`, then connect again with the key it gives. |

## Sources

- [Model Context Protocol: tools](https://modelcontextprotocol.io/specification/2025-06-18/server/tools), Model Context Protocol: How an assistant calls a tool.

The call in full: [mttr_job in the API reference](https://mttr.si/docs/reference#mttr_job).

## Goes with

- [Read it again](https://mttr.si/docs/tools/rescan.md)
- [What changed](https://mttr.si/docs/tools/changes.md)
