# Quickstart

Updated October 24, 2026.

Read your first site and find the fix worth the most, in about two minutes. No account is needed.

1. Add the skills:

```sh
npx skills add subinternal/mttr
```

2. Tell your agent:

```text
Check yoursite.com with mttr and fix what’s worth the most.
```

## How do I read my first site?

Type its domain on the home page. mttr reads the first 12 pages on the spot and shows the score and what fails, then puts the full read of up to 100 pages in line behind it. No account is needed. The site has to be on the public internet, and mttr reads only what its `robots.txt` allows.

| Read | Pages | Ready |
| --- | --- | --- |
| First look | The first 12 | In seconds, on the spot |
| Full read | Up to 100 | When its turn in line comes; the page says how many reads are ahead |

## Read your site

1. **Type the domain.** On the home page, type the domain, such as `example.com`. A full address works too, and anything after the domain is set aside.
2. **Take the first look.** mttr reads the first 12 pages on the spot and shows the score and what fails, in seconds. The full read, up to 100 pages, goes in line behind it.
3. **Watch it being read.** The page shows each step as it happens: the address checked, `robots.txt` read, the sitemap read, then every page read and checked. When mttr is busy it says how many reads are ahead of yours. You can close it and come back.
4. **Open the report.** The report leads with the score and the one fix worth the most. Under it is every failing rule, ranked by how much it weighs and how many pages fail it. A site read in the last day opens straight to its report.

## Hand it to an agent

An agent can read the same list, change the site in its own repository, and ask mttr to read it again. Pick where yours runs; it connects once.

### Claude Code

1. Run this once, from any folder. Claude Code keeps it for every project. (Terminal)

```
claude mcp add --transport http mttr https://mttr.si/mcp \
  --header "Authorization: Bearer $MTTR_KEY"
```

2. First put the key in your shell, where no file you commit can hold it.

```
export MTTR_KEY=mk_your_key
```

### Codex

1. Add this to Codex’s settings. It reads the key from your shell when it starts. (~/.codex/config.toml)

```
[mcp_servers.mttr]
url = "https://mttr.si/mcp"
bearer_token_env_var = "MTTR_KEY"
```

2. First put the key in your shell, where no file you commit can hold it.

```
export MTTR_KEY=mk_your_key
```

### Gemini CLI

1. Add this to Gemini CLI’s settings, then start it again and run /mcp to see mttr’s tools. (~/.gemini/settings.json)

```
{
  "mcpServers": {
    "mttr": {
      "httpUrl": "https://mttr.si/mcp",
      "headers": { "Authorization": "Bearer mk_your_key" }
    }
  }
}
```

2. The key sits in the settings file above. Keep that file to yourself.

```
"Authorization": "Bearer mk_your_key"
```

### Cursor

1. Add this in the site’s repository, then turn mttr on under MCP in Cursor’s settings. (.cursor/mcp.json)

```
{
  "mcpServers": {
    "mttr": {
      "url": "https://mttr.si/mcp",
      "headers": { "Authorization": "Bearer ${env:MTTR_KEY}" }
    }
  }
}
```

2. Cursor reads the key from the shell it was opened from.

```
export MTTR_KEY=mk_your_key
```

### Antigravity

1. Add this under Settings, Customizations, MCP servers, or in this file; then refresh the list of servers. In one project only, use .agents/mcp_config.json instead. (~/.gemini/config/mcp_config.json)

```
{
  "mcpServers": {
    "mttr": {
      "serverUrl": "https://mttr.si/mcp",
      "headers": { "Authorization": "Bearer mk_your_key" }
    }
  }
}
```

2. The key sits in the settings file above. Keep that file to yourself, and out of any repository.

```
"Authorization": "Bearer mk_your_key"
```

### VS Code

1. Add this in the site’s repository. VS Code asks for the key the first time and keeps it safe. (.vscode/mcp.json)

```
{
  "servers": {
    "mttr": {
      "type": "http",
      "url": "https://mttr.si/mcp",
      "headers": { "Authorization": "Bearer ${input:mttr-key}" }
    }
  },
  "inputs": [
    { "id": "mttr-key", "type": "promptString", "description": "Your mttr key", "password": true }
  ]
}
```

2. Nothing to set by hand: paste the key when VS Code asks for it.

```
Your mttr key: mk_your_key
```

### Windsurf

1. Add this to Windsurf’s MCP settings, then refresh its list of servers. (~/.codeium/windsurf/mcp_config.json)

```
{
  "mcpServers": {
    "mttr": {
      "serverUrl": "https://mttr.si/mcp",
      "headers": { "Authorization": "Bearer mk_your_key" }
    }
  }
}
```

2. The key sits in the settings file above. Keep that file to yourself.

```
"Authorization": "Bearer mk_your_key"
```

### Any agent

1. Any client that speaks MCP over HTTP connects with these three things. (Settings)

```
Address    https://mttr.si/mcp
Transport  Streamable HTTP
Header     Authorization: Bearer mk_your_key
```

2. Every request carries the key as a bearer token.

```
Authorization: Bearer mk_your_key
```

## Next

- [How mttr reads a site](https://mttr.si/docs/reads.md)
- [What a score means](https://mttr.si/docs/score.md)

## Sources

- [RFC 9309: Robots Exclusion Protocol](https://www.rfc-editor.org/rfc/rfc9309), IETF: The robots.txt standard a read obeys.
- [Model Context Protocol specification](https://modelcontextprotocol.io/specification/2025-06-18), Model Context Protocol: How an agent connects to mttr and calls its tools.
