# The rulebook (`mttr_rules`)

Updated October 24, 2026.

## What does mttr_rules do?

Every rule mttr checks, with its stage, its weight and how to fix a failure. The same rulebook every page is held to. A key may make this call on the sites it has claimed.

Who may call it: Your claimed sites.

## When to use it

- You want to know what a rule asks before fixing it.

## What you ask

You might say: “What does mttr check, and how much does each rule weigh?”

```
mttr_rules({})
```

## What comes back

- Each rule with its id, title, stage, weight and fix.

From the rulebook as it stands:

| Rule | Stage | Weight |
| --- | --- | --- |
| Serve a robots.txt | Access | 3 of 5 |
| Link to pages from related content | Understand | 2 of 5 |
| Make near-copy pages distinct | Trust | 5 of 5 |
| Add a tap-to-call link | Act | 3 of 5 |

## Over HTTP

```
curl "https://mttr.si/api/v1/rules" \
  -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_rules in the API reference](https://mttr.si/docs/reference#mttr_rules).

## Goes with

- [Brief](https://mttr.si/docs/tools/brief.md)
- [Worked examples](https://mttr.si/docs/tools/examples.md)
