Skip to main content
Glama

Server Configuration

Describes the environment variables required to run the server.

NameRequiredDescriptionDefault
GOODNOTES_MCP_HOMENoOverride the local data folder. By default it is %LOCALAPPDATA%/goodnotes-web-mcp on Windows and ~/.local/share/goodnotes-web-mcp on other platforms. It contains the browser profile, permissions, lock, receipts, PDF snapshots/text indices, OCR language models, object-edit evidence, image crop checkpoints and original PNG pixels, catalog, batch plans and generated learning materials.

Instructions

Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.

This server publishes no instructions, or was last inspected before Glama recorded them.

Capabilities

Features and capabilities supported by this server

Protocol revision2025-11-25

CapabilityDetails
tools
{
  "listChanged": true
}

Tools

Functions exposed to the LLM to take actions

NameDescription
goodnotes_prepare_board_adoptionB

Prepare a verified native COPY of an older whiteboard, preserving all content. Bind a source PDF snapshot for citations. Then select and capture individual native text boxes/images at 100% zoom; this is not exhaustive board enumeration.

goodnotes_capture_board_adoptionB

Read and independently verify one selected native text box or image on the adoption COPY. Text needs exact expectedText; images retain exact source pixels and crop. No content is changed. Source page assignments are supplied by the caller.

goodnotes_finish_board_adoptionB

Freeze selected objects as a managed board after checking native content/style/images and proving the complete copied PDF is unchanged. Returns baseId for selective revisions. Other objects remain unmanaged. Preview shows selected objects only.

goodnotes_board_adoption_statusC

Read adoption copy, selected managed objects and progress without opening a browser.

goodnotes_prepare_study_collectionB

Copy a lecture and export a stable source snapshot for multiple automatically sized learning boards. Reuses the verified study preparation; a stable requestId prevents duplicate copies.

goodnotes_plan_study_collectionB

Plan up to 240 source-based cards and 120 original figures into bounded, linked boards. Measures real text/figure geometry, preserves figure-caption groups and source pages, produces previews before writing. The caller supplies explanations and exercises.

goodnotes_run_study_collectionC

Run one bounded creation or independently verified native block. Creates overview and previous/next native text links. Durable child plans and operation receipts prevent replay after crashes. Stops on uncertain writes.

goodnotes_study_collection_statusA

Read collection progress, source pages, previews, overview URL and child workflows. Completed child IDs support selective study revisions.

goodnotes_review_study_collectionB

Review one interrupted collection creation or child step using existing independent evidence. Never repeats uncertain mutations. Unproven creation needs individual inspection.

goodnotes_prepare_study_revisionA

Prepare a selective revision of a completed managed learning board or prior revision. Defaults to an independently verified native COPY including personal additions. copy=false keeps a verified native backup and targets the authorized original. A stable request ID prevents duplicate copies. Returns managed block IDs and current source references.

goodnotes_plan_study_revisionA

Plan selected card updates, bounded object moves and new sections below an existing managed board. Retains untouched objects, checks source pages and intermediate geometry, saves a preview and freezes the plan. Optional sourceExportId reports text/page changes but still needs diagram review. Preview excludes unmanaged personal notes.

goodnotes_run_study_revisionA

Run one saved revision step. Rechecks exact original content/style/appearance, rejects occupied visible destinations, verifies native persistence and unchanged visible surroundings. Never automatically repeats uncertain writes. Exports a final preview.

goodnotes_study_revision_statusA

Read saved revision progress, backup, selected changes, source impact, previews and stable managed block IDs. includeContent adds saved text for planning; saved content is not a fresh read of manual edits.

goodnotes_review_study_revisionC

Independently inspect an interrupted revision from complete matching evidence, including unchanged visible surroundings. Preserves uncertain receipts and never replays mutations. Missing checkpoints require individual inspection.

goodnotes_prepare_study_boardB

Begin a resumable lecture-to-board workflow: verify the chosen lecture title, duplicate it, export the copy and return source-page excerpts. Stable requestId prevents duplicate preparation. Originals remain unchanged.

goodnotes_plan_study_boardB

Plan a source-based native learning board locally before writing: summaries, original PDF figure crops, questions and answers. Measures text, wraps lines, rejects overflow/overlap and saves a preview plus an immutable execution plan. Semantic content is supplied by the caller.

goodnotes_run_study_boardA

Execute bounded steps of a prepared native learning board. Each block verifies text/style/layout/appearance after reload; verified receipts resume without duplicate writes. Uncertain writes stop for review. Returns progress and timings.

goodnotes_study_board_statusA

Read saved study progress, output board, final preview, per-stage timings and errors without opening a browser. Compact by default; includeEvidence returns full saved block receipts and source-export details.

goodnotes_review_study_boardB

Independently verify an interrupted study block from its saved native checkpoint. Only a proven matching result advances the workflow; original uncertain receipts stay unchanged and no mutation is replayed. Audit-only failures can be safely repeated.

goodnotes_image_crop_infoC

Read one selected image’s native rectangular crop and full source identity. Cancels the draft and returns a short-lived cropId.

goodnotes_shape_style_infoB

Read one guarded native shape fill opacity and stroke thickness. Excludes ink and groups; returns a short-lived styleId.

goodnotes_set_shape_styleA

Set a prepared native shape fill opacity (0 to 100 in steps of 10; 0 disables fill) and/or stroke thickness (0.10 to 2.00 mm). Preserves existing color, pattern and geometry; verifies values and appearance after reload.

goodnotes_text_box_style_infoA

Probe selected text-box styling. Returns supported:false without writing if the native whiteboard menu lacks it; otherwise returns settings and a short-lived guarded styleId.

goodnotes_set_text_box_styleA

Set prepared text-box background/border colors (hex or none), border/corner/padding points and shadow. Preserves exact text and character formatting; verifies native settings and appearance after reload.

goodnotes_crop_imageB

Apply a prepared rectangle in fractions of the current source preview. Goodnotes may replace the source with cropped pixels. Saves original pixels privately and verifies cropped pixels and appearance after reload.

goodnotes_set_document_favoriteB

Set one authorized notebook/board favorite flag. Requires its exact title and previous favorite flag from the library; checks identity and state after reload.

goodnotes_get_folder_styleB

Read folder color, icon and favorite state, optionally listing native color/icon choices.

goodnotes_set_folder_styleA

Change one authorized folder color, icon or favorite flag. Requires its current value and checks all three settings after reload.

goodnotes_manage_folderA

Rename or move one explicitly authorized folder. MCP-created folders are authorized automatically. Verifies folder identity, parent and direct children; refuses a move into itself.

goodnotes_prepare_unlockA

Select a locked sticky, text box, image or shape at a preview point (use the border for unfilled shapes). Verify its native unlock control and prepare a content/appearance guard. Does not unlock it.

goodnotes_unlock_objectC

Unlock a prepared native sticky, text box, image or shape position/size lock. Checks unchanged content/view, appearance and native unlocked state after reload.

goodnotes_unlock_stickyB

Unlock one previously prepared native sticky. Refuses changed content/view and verifies unlocked state and unchanged appearance after reload.

goodnotes_expand_stickyA

Expand a sticky collapsed by this server using its saved visual checkpoint. Requires the same page/zoom/viewport and unchanged collapsed region.

goodnotes_restore_documentB

Recover one document using its verified trash operation receipt. Checks original identity, folder and PDF content baseline.

goodnotes_verify_restored_documentA

Independently check whether a trashed document has returned with its original identity and content. Never sends Recover again or rewrites old receipts.

goodnotes_list_trashA

List a bounded part of the native Trash, including document and page IDs. Never empties Trash.

goodnotes_trash_documentA

Move one explicitly writable document to Trash after saving a PDF backup. Binds its current title and verifies its exact ID in Trash.

goodnotes_list_templatesC

Read native paper/cover templates for one page using the current size/color filter. Returns exact IDs and page-order guards.

goodnotes_set_templateB

Replace a page background or cover with a listed native template. Saves a PDF backup, verifies picker selection and page identities, and compares exported appearance/text across reload.

goodnotes_board_settingsB

Read the current whiteboard background pattern and color.

goodnotes_set_board_backgroundB

Change whiteboard pattern/color with current-state guards; verify saved native settings after reload.

goodnotes_statusB

Check the isolated Goodnotes login and list explicitly writable documents.

goodnotes_listC

List one library folder. Returns itemPath values for opening documents.

goodnotes_openA

Open an itemPath returned by goodnotes_list; return a compact view handle.

goodnotes_inspectB

Open an existing Goodnotes Web document URL and prepare a view. No screenshot by default.

goodnotes_previewB

Return one image of the current document viewport, only when visual positioning is needed.

goodnotes_read_textA

Read typed text at a point relative to the preview canvas. Set expectedKind to sticky or shape to enter its native text editor; an unfilled shape requires a point on its border. Returns a targetId for guarded replacement or rich-text edits. No handwriting OCR.

goodnotes_write_textA

Replace the text of a previously read target, only in a locally allowed document. An empty string clears only an explicitly read native shape label, keeping its shape. Verifies exact text and native kind after reload. Use a unique operationId; never retry an uncertain write with a new ID.

goodnotes_operation_statusA

Read a local operation receipt after a timeout or restart. Pending/uncertain means inspect the document; do not repeat a write with a new ID.

goodnotes_exportA

Export all pages to a private local PDF and index its text. Returns exportId and file path. Never changes the cloud document.

goodnotes_read_documentB

Read cached PDF pages, with bounded automatic local OCR for pages without text. Continue with nextPage/nextOffset; OCR/formulas need visual checking. Refresh explicitly for current content.

goodnotes_search_documentB

Search exported pages, using bounded local OCR where text is missing. Reports incomplete coverage and OCR provenance; absence is not proof about handwriting.

goodnotes_render_pageB

Render one exported PDF page for reading handwriting, scans, diagrams and layout. No desktop capture.

goodnotes_ocrA

Recognize 1–10 exported pages locally in English/German. Adds approximate OCR text to reads/searches; handwriting, formulas and tables require visual checking.

goodnotes_createB

Create a folder, notebook or whiteboard in a library folder. Newly created documents become writable; use a unique operationId.

goodnotes_manage_documentB

Duplicate a document, or rename/move a writable document. Duplicates become writable. Uses library itemPath values; no permanent deletion or sharing.

goodnotes_edit_textA

Edit text and apply body formatting plus up to 20 nonoverlapping formatRanges in one verified save. Extra ranges address the final text after replacement and override body formatting. List/highlight require the whole field. UTF-16 offsets; end exclusive. Reload verification remains mandatory.

goodnotes_select_objectB

Select one visible board object by point, or a group using a rectangular region. Returns a guarded selectionId; preview to check what was selected.

goodnotes_transform_objectA

Move, resize, duplicate or delete the guarded selection in a writable document. dx/dy are fractions of canvas size; scale factors are relative. Keeps local before/after evidence and checks after reload.

goodnotes_read_handwritingB

Read real ink strokes in a visible rectangular region using Goodnotes native conversion preview, then cancel. Does not replace the handwriting. Background images/PDF text are not native ink.

goodnotes_convert_handwritingB

Replace previously recognized handwriting with editable text in a writable document. Optionally correct recognition text first; verifies the resulting text after reload.

goodnotes_create_objectB

Create a sticky note, rectangle, ellipse, triangle, diamond, rounded rectangle or ink strokes in a writable document. Coordinates are relative to the current canvas. Uses current Goodnotes tool colors; verifies appearance after reload.

goodnotes_navigateA

Open a page, zoom in/out by steps, or pan the document by scroll pixels. Returns a fresh viewId; all previous targets expire.

goodnotes_sync_statusB

Report visible Web connectivity/sync messages. Cannot confirm delivery to another device or force iPad synchronization.

goodnotes_refresh_indexB

Build/resume a private recursive library index in bounded steps. Reuse jobId until complete. Refreshes snapshots using visible metadata hints and max age; force=true rereads all. Does not change cloud notes.

goodnotes_search_libraryB

Search persistent local document titles and indexed text across folders. Reports snapshot timestamps and gaps. Empty query lists known items. Does not open the browser.

goodnotes_plan_batchA

Save a concrete batch plan without changing Goodnotes. Use batch_help for the fields of up to three action types. Steps are flat objects with action plus its fields; all are strictly validated before saving. Typed references to verified earlier results are supported. Run separately; private inputs persist locally.

goodnotes_run_batchA

Execute/resume a saved batch in bounded steps, with PDF snapshots before destructive edits by default. Verified operations never repeat; ambiguous writes stop for review.

goodnotes_batch_statusA

Read batch progress, receipts, backup paths and errors after interruption. Inputs omitted by default.

goodnotes_skip_batch_stepB

Skip an unfinished step after inspecting its uncertain outcome. Does not undo it. Remaining work can then resume.

goodnotes_list_outlinesB

List native outline entries with stable entry/page identities and conflict hashes. Paginated; reports incomplete scans. Nested/imported outline structures are not supported for editing.

goodnotes_manage_outlineA

Rename or delete one flat native outline entry using its exact old title, outline hash and page-order hash. Rename requires title. Saves private metadata and verifies every exposed outline entry and page order after reload. Never deletes a page.

goodnotes_list_pagesC

Read native page identities, count and order fingerprint. Refuses incomplete/virtualized sidebars. Invalidates canvas handles.

goodnotes_manage_pagesB

Duplicate, add, reorder, rotate, outline or trash one page in an allowed document. Requires expected count; provide order hash to guard concurrent changes. Deletion first saves a PDF/order checkpoint for restore_page. Verifies native identities after reload.

goodnotes_import_pdfB

Import an explicitly supplied absolute local PDF path as a new notebook; verify title/page count and allow future edits. File content is uploaded to your Goodnotes account.

goodnotes_find_objectsB

Find visible text locations on a board using local OCR. Returns compact candidates with coordinates/confidence; no screenshot tokens. Off-screen objects require pan/zoom and another scan.

goodnotes_select_matchA

Select a previously found text object after checking its pixels and reading its actual editable text. Rejects non-editable PDF/handwriting matches; returns text and selection handles.

goodnotes_plan_layoutA

Plan a grid of existing text/sticky objects identified by unique text queries. Saves a batch; no movement until run_batch. Centers must fit in the current viewport. Does not resize objects or guarantee no overlap.

goodnotes_combine_pdfA

Combine or extract selected pages from existing local PDF exports into a new local PDF, preserving supplied order. Never modifies cloud originals. Import the resulting path explicitly if desired.

goodnotes_study_bundleB

Save source text, assistant-supplied summary/tasks and Anki-compatible TSV cards locally with source references. The assistant must supply the learning content. Does not call another AI or import into task/flashcard apps.

goodnotes_insert_imageB

Insert an explicitly supplied local PNG/JPEG into an allowed document and verify its appearance after reload. Uploads this image to Goodnotes. Returns a selection for moving/resizing.

goodnotes_create_textB

Create an editable text box at an empty canvas point. Refuses an existing non-empty text field; checks exact persistence after reload.

goodnotes_draw_connectorA

Draw a straight line or arrow as native ink strokes using the current pen style. Endpoints are canvas fractions. This is drawn ink, not a connector that follows moved objects.

goodnotes_object_colorsA

Read the native color palette for the current guarded selection. Colors depend on its type: text, sticky, ink or shape. No custom color/palette writes.

goodnotes_color_objectA

Apply one color returned by object_colors to an allowed selection. Checks native color and appearance after reload. May recolor a whole selected group.

goodnotes_scan_boardB

Scan a bounded grid of a whiteboard using measured native viewport coordinates and local OCR. Resumable by scanId; returns compact progress. Does not claim complete coverage of an infinite board.

goodnotes_search_board_scanB

Search saved text locations across scanned whiteboard viewports without opening the browser.

goodnotes_select_board_matchA

Return to a saved board location, verify its visible and editable text, and select it. Stops if the location or contents changed.

goodnotes_remember_objectA

Save a labeled visual bookmark for a guarded selected object, including shapes/images. Persists measured board or notebook-page coordinates and an appearance fingerprint; changes invalidate the bookmark.

goodnotes_recall_objectB

Return to a saved board or notebook-page object and reselect it only if its appearance still matches. Returns a new guarded selection handle.

goodnotes_create_snapshotA

Create a native Goodnotes duplicate as a recovery snapshot, verify page count and save its source mapping locally. Requires a concrete title; no original contents are changed.

goodnotes_restore_snapshotB

Restore a saved native snapshot into a NEW independently editable document. Keeps the original and snapshot intact. Checks snapshot title/page identities; does not overwrite originals.

goodnotes_compare_exportsA

Compare two PDF snapshots by page position, extracted text and optionally rendered appearance. Bounded page ranges; returns differences without modifying documents.

goodnotes_retry_rejected_stepA

Prepare a fresh attempt only when the old receipt proves NO mutation was sent. Preserves the old receipt and attempt history. Rejects uncertain, pending or missing receipts; run_batch executes the prepared retry.

goodnotes_copy_native_selectionB

Copy a guarded rectangular lasso selection to another allowed document with the native clipboard. Verifies source and saved visible appearance; does not certify exact text or hidden properties. Different backgrounds or overlaps can prevent verification.

goodnotes_copy_pageA

Copy one native page into another notebook using Goodnotes in-app clipboard. Preserves editable contents; verifies page identities, text and rendered appearance. Both page-order hashes are required. Does not remove the source page.

goodnotes_object_optionsB

Read supported front/back, lock, collapse and author-display commands for the exact current selection.

goodnotes_arrange_objectC

Apply a command returned by object_options to the guarded selection; verify its appearance and, for toggle states, its native inverse command after reload.

goodnotes_move_native_objectA

Move one text box/sticky or image from a whiteboard or notebook page to another allowed document. Saves a source PDF, verifies a native copy, reacquires the unchanged original before deleting it, and rechecks both ends. Separate operations, not atomic; failure can leave two copies.

goodnotes_verify_moved_objectA

Audit a saved native move after interruption: requires verified copy/deletion receipts, checks the deleted source region and native destination copy, and preserves old receipt status. Never repeats paste or delete.

goodnotes_restore_pageA

Restore one page deleted by this MCP using its saved pre-delete PDF checkpoint. Requires unchanged remaining pages and authorization, recovers the exact native page and verifies original order/content. Never restores arbitrary historical pages.

goodnotes_verify_restored_pageA

Independently verify a page restoration against its saved deletion checkpoint: exact native identities/order and full PDF content baseline. Does not repeat recovery or change the original receipt.

goodnotes_copy_image_objectB

Copy one native image into another document/page through Goodnotes Copy/Paste. Requires sourceSha256 and region from image_crop_info; checks original pixels/crop and saved appearance. Source stays intact.

goodnotes_copy_text_objectB

Copy one verified native text box or sticky into another document/page through Goodnotes Copy/Paste. Verifies editable text, formatting, kind and appearance after reload; leaves source intact.

goodnotes_verify_restoreB

After an interrupted restore, verify the already-created native copy against its saved snapshot baseline without repeating any write. Preserves the old uncertain receipt.

goodnotes_batch_helpB

Return detailed batch input schemas only for the requested action types, avoiding the cost of advertising every action schema on every tool-discovery call.

goodnotes_verify_copied_objectA

Verify an existing native text/sticky/image or lasso-selection paste from its saved local checkpoint. Reacquires its page across zoom changes, performs type-specific content checks or compares captured source appearance, and checks saved appearance; never pastes again or rewrites the old receipt.

Prompts

Interactive templates invoked by user choice

NameDescription

No prompts

Resources

Contextual data attached and managed by the client

NameDescription

No resources

TDQS

B3/5.0

Scored across 107 tools

Disambiguation2/5

The tool set is organized into several near-identical workflow families (prepare/plan/run/status/review for study_board, study_collection, study_revision, board_adoption, and batch) whose boundaries are hard to distinguish without deep reading. Many read/select/copy/restore tools also overlap (select_object vs select_match vs select_board_match; restore_page vs verify_restored_page; copy_page vs copy_text_object vs copy_native_selection), inviting misselection.

Naming Consistency4/5

Almost all names use a snake_case goodnotes_ prefix with a verb_noun structure, and the workflow suffixes (prepare/plan/run/status/review) are applied consistently. Minor deviations like board_settings, operation_status, object_colors, image_crop_info and batch_help use noun phrases rather than verbs, but the overall convention is predictable.

Tool Count1/5

107 tools is far beyond a reasonable agent-facing surface for a single server, even for a feature-rich app like Goodnotes. The workflow families multiply into dozens of near-duplicate entry points, and an agent must carry an enormous schema just to choose a tool.

Completeness4/5

Coverage is broad: library browsing, document/page management, templates, trash/restore, boards, text/object editing, OCR, handwriting, exports, snapshots, outlines, folders, and batch/study workflows. Gaps are minor — no sharing/collaboration, no permanent deletion, no custom palette writes, and nested outline editing is explicitly unsupported.

Maintenance

ActivityMaintained
ResponsivenessNo recent community issues