protogrid

Search / ai.wrenapp/wren

wren

R0· no sign-in

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

v1.0.0 · active · website · descriptor JSON · versions

An agent can connect right now, no human step.Remote endpoint, no authentication, reachable on the last probe.
Quality82new
Trust83of 100
Uptime, 30 days100%
Latency p50337 ms

Connect

8 clients · secrets stay placeholders
{
  "mcpServers": {
    "wren": {
      "type": "http",
      "url": "https://mcp.wrenapp.ai/mcp"
    }
  }
}
claude mcp add --transport http wren https://mcp.wrenapp.ai/mcp
[mcp_servers.wren]
url = "https://mcp.wrenapp.ai/mcp"
{
  "$schema": "https://opencode.ai/config.json",
  "mcp": {
    "wren": {
      "type": "remote",
      "url": "https://mcp.wrenapp.ai/mcp",
      "enabled": true
    }
  }
}
{
  "mcpServers": {
    "wren": {
      "type": "http",
      "url": "https://mcp.wrenapp.ai/mcp"
    }
  },
  "deeplink": "cursor://anysphere.cursor-deeplink/mcp/install?name=wren&config=eyJ0eXBlIjoiaHR0cCIsInVybCI6Imh0dHBzOi8vbWNwLndyZW5hcHAuYWkvbWNwIn0%3D"
}
{
  "servers": {
    "wren": {
      "type": "http",
      "url": "https://mcp.wrenapp.ai/mcp"
    }
  }
}
{
  "mcpServers": {
    "wren": {
      "httpUrl": "https://mcp.wrenapp.ai/mcp"
    }
  }
}
extensions:
  "wren":
    enabled: true
    name: "wren"
    type: streamable_http
    uri: "https://mcp.wrenapp.ai/mcp"
    timeout: 300

Quality 82 / 100new

protocol75 · weight 25
  • warn
    protocol.modernnewest supported version is 2025-11-25; 2026-07-28 not supported, older versions are deprecated until 2027-07-28
  • n/a
    protocol.statelessonly applies to 2026-07-28 servers
  • pass
    protocol.transportstreamable HTTP
  • n/a
    protocol.list_ttlonly applies to 2026-07-28 servers
authorizationn/a · weight 15
  • n/a
    auth.prm, auth.as_metadata, auth.cimdno remote uses OAuth
  • n/a
    auth.secret_in_urlno templated URL
tool hygiene88 · weight 30
  • pass
    tools.descriptionsevery tool has a description
  • warn
    tools.description_length2 tools have descriptions over 1,024 characters, which crowds the context
  • pass
    tools.schemasevery tool has an object input schema
  • pass
    tools.annotations13 of 13 tools declare readOnlyHint or destructiveHint
  • pass
    tools.directory_hintsevery tool declares readOnlyHint, destructiveHint, idempotentHint and openWorldHint
  • warn
    tools.token_costabout 22,886 tokens to load every tool
  • pass
    tools.api_dumptools are not a one-to-one API dump
  • pass
    tools.hidden_textno hidden text in tool names, descriptions, schemas or annotations
stabilityn/a · weight 15
  • n/a
    stability.changes, stability.rug_pull, stability.new_linkstool history recorded for 0 of the 7 days needed
dependenciesn/a · weight 15
  • n/a
    deps.known_vulns, deps.mcp_sdk_version, deps.resolvableno npm or PyPI package

13 tools, about 22,886 tokens to load them all · tool set 7cb2dbbfb058 · checked 2026-11-14 07:36 UTC

Tool changes

No tool definition changes recorded. A server's first observation is its baseline; later probes record what changes.

Checks run on what our credential-free, read-only probes observe; tools are never called and no code audit is performed. How it is computed.

Trust 83 / 100

no-repository
provenance55
liveness100
freshness100
hygiene80

+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. How it is computed.

Endpoints

remoteauthreachableuptime 30dp50protocollast ok
https://mcp.wrenapp.ai/mcp streamable-httpnoneyes100%337 ms2025-11-252026-11-14

Tools (13)

add_pageAdd 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_accountread-onlyLink 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_noteCreate 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_pagedestructiveWrite 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_guideread-onlyReturns 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_noteread-onlyShow 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_profileread-onlyReturn the stable Wren account id (Firebase uid) and basic profile of the currently linked account. Call this after connect_account to confirm linkage.
list_notesread-onlyList 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_notebooksread-onlyThe 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_notebookdestructivePlan 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_previewread-onlyRender 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_notedestructiveChange a note's title and/or subject. Does not touch its pages.
write_notebook_pagedestructiveWrite 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.

Schemas: list_tools.

Similar MCP servers

Official server.json
{
  "name": "ai.wrenapp/wren",
  "$schema": "https://static.modelcontextprotocol.io/schemas/2025-12-11/server.schema.json",
  "remotes": [
    {
      "url": "https://mcp.wrenapp.ai/mcp",
      "type": "streamable-http"
    }
  ],
  "version": "1.0.0",
  "websiteUrl": "https://www.wrenapp.ai",
  "description": "Ask your AI to write in your Wren notebook: notes, graphs, flowcharts and formulas as real ink."
}