# exam.now

> Cambridge, AQA and Edexcel past papers: questions, figures and mark schemes by part, and marking.

- name: now.exam/past-papers
- version: 1.0.0
- connection class: R0 (autonomous)
- trust: 81/100 flags: no-repository
- quality: 96/100 (strong)
- owner: not claimed
- descriptor: https://api.protogrid.dev/v1/servers/now.exam%2Fpast-papers
- tools: https://api.protogrid.dev/v1/servers/now.exam%2Fpast-papers/tools

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

## Connection (mcpServers)

```json
{
  "mcpServers": {
    "past-papers": {
      "type": "http",
      "url": "https://exam.now/mcp"
    }
  }
}
```


## Trust

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

## Quality 96/100 (strong)

### protocol: 88 (weight 25)

- pass `protocol.modern`: supports 2026-07-28 (server/discover)
- pass `protocol.stateless`: answers without a session
- pass `protocol.transport`: streamable HTTP
- warn `protocol.list_ttl`: tools/list declares ttlMs 0, so clients re-fetch it on every use

### 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`: 11 of 11 tools declare readOnlyHint or destructiveHint
- pass `tools.directory_hints`: every tool declares readOnlyHint, destructiveHint, idempotentHint and openWorldHint
- pass `tools.token_cost`: about 2,692 tokens to load every tool
- pass `tools.api_dump`: tools are not a one-to-one API dump
- pass `tools.hidden_text`: no hidden text in tool names, descriptions, schemas or annotations

### stability: 100 (weight 15)

- pass `stability.changes`: 5 tool changes in 30 days
- pass `stability.rug_pull`: no tool changed its meaning under the same name
- pass `stability.new_links`: no tool change named a new site

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

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

- tools: 11, about 2,692 tokens to load them all
- tool set hash: 89619b1a0fe1f962972f8cabe2a25f40
- tools last changed: 2026-11-03T07:49:02.614Z
- badge: [![protogrid quality](https://protogrid.dev/badge/now.exam/past-papers.svg)](https://protogrid.dev/servers/now.exam/past-papers)
- Checks run on what our credential-free, read-only probes observe; tools are never called and no code audit is performed.

### Tool changes

- 2026-11-03 `topic_progress` changed (description)
  - before: The linked student's own progress in one subject on exam.now: each syllabus topic's band (secure, getting there, not yet), the next three topics to work on and links to practise them.
  - after: The linked student's own progress in one subject on exam.now: each syllabus topic's band (secure, getting there, not yet), the next three topics to work on (weak topics first, then topics with too few marks to band and untried topics that are ready to start, each with a reason) and links to practise them.
- 2026-11-03 `mark_answer` changed (inputSchema)
- 2026-11-03 `get_paper` changed (description)
  - before: An exam.now past paper as structured JSON (metadata, questions, parts, prompts, marks, answer kinds, figure URLs), a few questions at a time. Use next_from to get the next page. include_mark_scheme adds the mark-scheme rows for the same questions and needs a linked exam.now account (a free one is fine).
  - after: An exam.now past paper as structured JSON (metadata, questions, parts, prompts, marks, answer kinds, figure URLs), a few questions at a time. Each part's answer.onSite is true when it needs a graph or drawing and can only be answered on exam.now; the other parts can be typed in chat for mark_answer. Use next_from to get the next page. include_mark_scheme adds the mark-scheme rows for the same questions and needs a linked exam.now account (a free one is fine).
- 2026-11-03 `get_question` changed (description)
  - before: The text of one question or part from an exam.now past paper: context, prompt, marks, figures (with alt text), the answer surface (response kinds, tools, whether a calculator is allowed), topic codes and a link to the part on exam.now. Pass question for the whole question or part for one part.
  - after: The text of one question or part from an exam.now past paper: context, prompt, marks, figures (with alt text), the answer surface (response kinds, tools, whether a calculator is allowed), topic codes and a link to the part on exam.now. answer.onSite is true when the part needs a graph or drawing, so it can only be answered on exam.now; otherwise the student can type the answer in chat and mark_answer marks it. Pass question for the whole question or part for one part.
- 2026-11-03 `find_past_paper` changed (description)
  - before: Find Cambridge, AQA or Edexcel past papers on exam.now from a free-text query such as "0580 june 2024 paper 4" or from structured fields. Returns up to 10 papers with their exam.now paper_id, title, session, duration, total marks, whether it can be answered on screen, and links to the question paper, mark scheme and examiner report. Use the paper_id with get_question, get_mark_scheme or get_paper.
  - after: Find Cambridge, AQA or Edexcel past papers on exam.now from a free-text query such as "0580 june 2024 paper 4" or from structured fields. Returns up to 10 papers with their exam.now paper_id, title, session, duration, total marks, whether exam.now can show it on screen to answer (answer_on_screen, with the parts that need a graph or drawing and so can only be answered there), and links to the question paper, insert, mark scheme and examiner report where they exist. Use the paper_id with get_question, get_mark_scheme or get_paper.

Full history: https://api.protogrid.dev/v1/servers/now.exam%2Fpast-papers/changes

## Remotes

- https://exam.now/mcp (streamable-http, auth none, reachable true, uptime30d 0.85)

## Packages

_none_

## Tools (11)

- `class_summary`: For a teacher's own exam.now class: topic bands across the class with no pupil names, and how many pupils have started. Small groups are suppressed to protect pupils' privacy.
- `common_mistakes`: Up to 5 exam.now write-ups of common mistakes in a subject, drawn from Cambridge examiner reports, each with a short summary and a link. Narrow them with a topic code or words.
- `exam_timetable`: Cambridge exam dates for one or more syllabuses in the June or November 2026 series: component, date, morning or afternoon session and duration, with a link to the exam.now timetable. Zone defaults to the UK timetable.
- `find_past_paper`: Find Cambridge, AQA or Edexcel past papers on exam.now from a free-text query such as "0580 june 2024 paper 4" or from structured fields. Returns up to 10 papers with their exam.now paper_id, title, session, duration, total marks, whether exam.now can show it on screen to answer (answer_on_screen, with the parts that need a graph or drawing and so can only be answered there), and links to the question paper, insert, mark scheme and examiner report where they exist. Use the paper_id with get_question, get_mark_scheme or get_paper.
- `find_questions_by_topic`: Past-paper questions on exam.now tagged with a syllabus topic, newest first. Pass the topic code (e.g. E2.5) or words (e.g. "simultaneous equations"). Returns question references with the start of each prompt, marks, whether it has a figure, and a link to the question.
- `get_mark_scheme`: The official mark-scheme rows for one part of an exam.now past paper: each row's code (M1, A1, B1…), marks, answer, guidance and alternatives, the part's maximum marks, the paper's general marking principles, the mark-scheme PDF page and a link to it on exam.now.
- `get_paper`: An exam.now past paper as structured JSON (metadata, questions, parts, prompts, marks, answer kinds, figure URLs), a few questions at a time. Each part's answer.onSite is true when it needs a graph or drawing and can only be answered on exam.now; the other parts can be typed in chat for mark_answer. Use next_from to get the next page. include_mark_scheme adds the mark-scheme rows for the same questions and needs a linked exam.now account (a free one is fine).
- `get_question`: The text of one question or part from an exam.now past paper: context, prompt, marks, figures (with alt text), the answer surface (response kinds, tools, whether a calculator is allowed), topic codes and a link to the part on exam.now. answer.onSite is true when the part needs a graph or drawing, so it can only be answered on exam.now; otherwise the student can type the answer in chat and mark_answer marks it. Pass question for the whole question or part for one part.
- `mark_answer`: Mark a student's answer to one part against the official mark scheme with exam.now's marker. Returns marks awarded and available, the mark-scheme rows earned and missed, feedback and a common-mistake link, and saves the mark to the student's exam.now progress. Needs a linked exam.now account with marking.
- `practise_question`: Show one past-paper question as a practice card the student can answer, with its figures and answer surface. The model gets the full question so it can give hints without giving the answer away. Use mark_answer to mark the student's answer.
- `topic_progress`: The linked student's own progress in one subject on exam.now: each syllabus topic's band (secure, getting there, not yet), the next three topics to work on (weak topics first, then topics with too few marks to band and untried topics that are ready to start, each with a reason) and links to practise them.
