# Math Board

> Maths lessons on an online whiteboard: solutions, worksheets, graphs and geometry, opened by a link

- name: tools.datapad/math-board
- version: 1.0.0
- connection class: R0 (autonomous)
- trust: 83/100 flags: no-repository
- quality: 89/100 (new)
- owner: not claimed
- descriptor: https://api.protogrid.dev/v1/servers/tools.datapad%2Fmath-board
- tools: https://api.protogrid.dev/v1/servers/tools.datapad%2Fmath-board/tools

**An agent can connect right now, no human step.** Remote endpoint, no authentication, reachable on the last probe.

## Connection (mcpServers)

```json
{
  "mcpServers": {
    "math-board": {
      "type": "http",
      "url": "https://mathboard.datapad.tools/api/mcp"
    }
  }
}
```


## Trust

- hygiene: 80
- liveness: 100
- freshness: 100
- provenance: 55
- drivers: +dns-namespace +website +reachable +uptime-100% +updated-1d-ago -no-repository
- Derived from observable signals (official registry feed and our own credential-free probes); no code audit performed.

## Quality 89/100 (new)

### protocol: 75 (weight 25)

- warn `protocol.modern`: newest supported version is 2025-11-25; 2026-07-28 not supported, older versions are deprecated until 2027-07-28
- n/a `protocol.stateless`: only applies to 2026-07-28 servers
- pass `protocol.transport`: streamable HTTP
- n/a `protocol.list_ttl`: only applies to 2026-07-28 servers

### authorization: n/a (weight 15)

- n/a `auth.prm`, `auth.as_metadata`, `auth.cimd`: no remote uses OAuth
- n/a `auth.secret_in_url`: no templated URL

### tool hygiene: 100 (weight 30)

- pass `tools.descriptions`: every tool has a description
- pass `tools.description_length`: descriptions are concise
- pass `tools.schemas`: every tool has an object input schema
- pass `tools.annotations`: 5 of 5 tools declare readOnlyHint or destructiveHint
- pass `tools.directory_hints`: every tool declares readOnlyHint, destructiveHint, idempotentHint and openWorldHint
- pass `tools.token_cost`: about 844 tokens to load every tool
- pass `tools.api_dump`: tools are not a one-to-one API dump

### stability: n/a (weight 15)

- n/a `stability.changes`, `stability.rug_pull`: tool history recorded for 0 of the 7 days needed

### dependencies: n/a (weight 15)

- n/a `deps.known_vulns`, `deps.mcp_sdk_version`, `deps.resolvable`: no npm or PyPI package

- tools: 5, about 844 tokens to load them all
- tool set hash: d616d3bf9ac8d5048c3d673f54e82a82
- tools last changed: 2026-10-19T22:46:29.799Z
- badge: [![protogrid quality](https://protogrid.dev/badge/tools.datapad/math-board.svg)](https://protogrid.dev/servers/tools.datapad/math-board)
- Checks run on what our credential-free, read-only probes observe; tools are never called and no code audit is performed.

### Tool changes

- 2026-10-19 `publish_board` changed (annotations)

Full history: https://api.protogrid.dev/v1/servers/tools.datapad%2Fmath-board/changes

## Remotes

- https://mathboard.datapad.tools/api/mcp (streamable-http, auth none, reachable true, uptime30d 1)

## Packages

_none_

## Tools (5)

- `add_to_board`: Adds board text to the board the teacher has open, behind a live link (.../live/<id>). place "current_page": put it under what is on the page the teacher is on (write ONE page: the next step, a hint, a drawing). place "new_pages": add your pages after the last page (exercises, answers, a new topic). Call check_board first: a text with errors is not added. Nothing on the board is changed or removed; the teacher can undo the addition.
- `check_board`: Checks a board text without publishing it. Returns what the board understood, page by page, and every problem with its line and how to fix it. Fix every ERROR, then call check_board again. When there are no errors, call publish_board.
- `get_board_format`: Returns the Math Board text format with a complete example. Read it before writing a board, unless you already have it.
- `publish_board`: Publishes a board and returns a link that opens it in the user's browser. Call check_board first. A board with errors is not published: the problems come back instead. Give the link to the user exactly as returned.
- `read_board`: Reads the board behind a Math Board link the user gave you and returns it as board text, in the same format you write. Ink, images and widgets cannot be written as text and are listed as left out. For a live link it also says which page the teacher is on.
