# ai.wrenapp/wren

> Ask your AI to write in your Wren notebook: notes, graphs, flowcharts and formulas as real ink.

- name: ai.wrenapp/wren
- version: 1.0.0
- connection class: R0 (autonomous)
- trust: 83/100 flags: no-repository
- quality: 82/100 (new)
- owner: not claimed
- descriptor: https://api.protogrid.dev/v1/servers/ai.wrenapp%2Fwren
- tools: https://api.protogrid.dev/v1/servers/ai.wrenapp%2Fwren/tools

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

## Connection (mcpServers)

```json
{
  "mcpServers": {
    "wren": {
      "type": "http",
      "url": "https://mcp.wrenapp.ai/mcp"
    }
  }
}
```


## Trust

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

## Quality 82/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: 88 (weight 30)

- pass `tools.descriptions`: every tool has a description
- warn `tools.description_length`: 2 tools have descriptions over 1,024 characters, which crowds the context
- pass `tools.schemas`: every tool has an object input schema
- pass `tools.annotations`: 13 of 13 tools declare readOnlyHint or destructiveHint
- pass `tools.directory_hints`: every tool declares readOnlyHint, destructiveHint, idempotentHint and openWorldHint
- warn `tools.token_cost`: about 22,886 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: n/a (weight 15)

- n/a `stability.changes`, `stability.rug_pull`, `stability.new_links`: 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: 13, about 22,886 tokens to load them all
- tool set hash: 7cb2dbbfb0581597d37823d913936af6
- badge: [![protogrid quality](https://protogrid.dev/badge/ai.wrenapp/wren.svg)](https://protogrid.dev/servers/ai.wrenapp/wren)
- Checks run on what our credential-free, read-only probes observe; tools are never called and no code audit is performed.

### Tool changes

_No tool definition changes recorded._

## Remotes

- https://mcp.wrenapp.ai/mcp (streamable-http, auth none, reachable true, uptime30d 1)

## Packages

_none_

## Tools (13)

- `add_page`: Add a NEW handwritten page at the end of an existing note (same drawing inputs as create_handwritten_note). Returns which note and page the ink went to and the note's outline; use it whenever the user stays on the note's topic.
- `connect_account`: Link the user's Wren account so authored notes land in their notebook. Returns the linked uid when a credential is present; otherwise explains that account linking must be completed first.
- `create_handwritten_note`: Create a NEW note in the user's Wren notebook with a handwritten page (pressure-faithful PencilKit strokes) drawn from a `figure{kind, content}`. The result has a link (noteUrl) that opens the note on any device — always give it to the user — and the note also syncs to the Wren iPad app. To add to a note that already exists use add_page (new page) or edit_page (same page) with its noteId — find it with list_notes or list_recent_notebooks. Same topic as an earlier note → add a page to it, not a new note. A figure is required: graphs (graph_2d, content.prompt = the equation), handwritten text (annotation, content.text = the exact words), formulas, tables, bar charts, timelines, flowcharts, mind maps, concept maps and more — call get_drawing_guide for every kind. Write in the user's language: Wren handwrites Hindi, Arabic, Bengali, Tamil, Telugu, Hebrew, Russian and most other scripts (not yet Chinese / Japanese / Korean) — never transliterate. A concept map reads best with at most 10 concepts and 11 links per page; a bigger one is split over pages automatically (links between pages are drawn on both with a page reference).
- `edit_page`: Write handwriting onto an EXISTING page that Wren wrote. mode 'append' (default) keeps the page's ink and adds the new ink below it; mode 'replace' erases the page's ink and draws the new ink. Only pages get_note reports as editable (Wren-written and not changed on the iPad since) can be edited — the user's own handwriting is never modified; use add_page for those notes. Pick the page by pageNumber (1-based) or pageId; omitted = last page. If an append has no room on the page, Wren puts it on a new page at the end of the note and says so.
- `get_drawing_guide`: Returns what Wren can draw (every kind), the exact arguments for each with a working example, and the rules for writing into notes. Call it before your first drawing in a conversation, or whenever unsure which kind or fields to use. Read-only; needs no account.
- `get_note`: Show one note's title, subject, page size and its pages (number, id, ink stroke count, whether Wren can add ink to it). Use before edit_page to pick the page.
- `get_profile`: Return the stable Wren account id (Firebase uid) and basic profile of the currently linked account. Call this after connect_account to confirm linkage.
- `list_notes`: List the user's Wren notes, most recently edited first, with id, title, subject and page count. Use it to find the noteId before add_page, edit_page, get_note or update_note.
- `list_recent_notebooks`: The user's latest notes, newest first: id, title, subject, pages, last edit, the outline of pages Wren wrote, and the note this chat has been writing to. Use it when the user returns to a topic, then add pages to that noteId.
- `plan_notebook`: Plan a 1-30 page handwritten Wren notebook and write its cover and contents (page 1; a plan over 8 pages gets a cover page and contents pages). Pass noteId to extend a plan and update the contents. Then write each page via write_notebook_page with target.noteId and planSlot, one call per slot. Same topic as an earlier note → pass its noteId, not a new note. Optional: part (topic group, e.g. "Lecture 3") per page; coverFigure = one small sketch of the topic.
- `render_note_preview`: Render a pressure-faithful SVG preview of a handwritten note's strokes (the same VectorStroke array create_handwritten_note produces), framed at the page size, with an Open in Wren button (pass the note link as openInNoteNestUrl). Returns an inline widget.
- `update_note`: Change a note's title and/or subject. Does not touch its pages.
- `write_notebook_page`: Write a handwritten study page in the user's Wren notebook (same topic -> add/replace via target.noteId, not a new note). Write a FULL page (not for verbatim): 110-140 words in 6-8 blocks (a table or figure = ~40 words), a heading per part, 3-6 key terms marked (underline or highlight, never a whole callout; a mark copies exact words of its own block), every number+unit and formula marked as math, one accent, at most 1 short marginNote, and the takeaway in a callout (key_answer, key_idea) or summary. Pair two <=12-word callouts with layoutHint:"side_by_side". Editable ink in Wren's handwriting font, not the user's own handwriting. Recipes: worked_example = problem callout (box) + 3-4 steps (1-2 sentences + equation each) + Check heading+paragraph + common_mistake & key_answer callouts. concept_summary = definition callout + boxed equation or figure (table/flowchart, required) + 2 headings with 2-sentence paragraphs + key_idea callout. comparison_sheet = 1-sentence intro + 5-6 row table or bar_chart + heading+paragraph on why it matters + common_mistake & key_idea callouts (side_by_side). process_walkthrough = overview + 4-6 steps, each with label (stage name) + 1-2 sentences, a flowchart of the stages (cycle: last edge back to the first) + key_idea or summary. revision_sheet = 2-3 headings with concise paragraphs/equations + common_mistake & remember callouts (side_by_side) + 4-item checklist. verbatim = text the user gave you to copy: their words unchanged and once, in paragraph/heading blocks, nothing added.
