Wisp FigureFree
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| FIGURE_LIBRARY_DIR | No | Admin override for the machine-local Library locator. Normally the Library locator is stored in locator.json under AppData / XDG. |
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
| Capability | Details |
|---|---|
| tools | {
"listChanged": true
} |
| resources | {
"listChanged": true
} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| figure_library_openA | Open the read-only candidate workbench. New installs return setup_required until the global Library and Local workspace are bound; otherwise ask for an uploaded reference, data profile, or plotting goal before searching. |
| figure_library_searchB | Search the complete ranked Local Published, FigureYa, bundled Open Figure Modules, and opted-in dynamic personal Provider match set, open the candidate App, then stop and wait for the user to choose. Community is frozen and excluded from default search; Working, Capture, and flat-v1 entries remain excluded. |
| figure_library_search_pageB | App-only pagination for an existing complete search result set. |
| figure_library_describeA | Describe an exact Local Published release, bundled/personal public template, or commit-pinned FigureYa module. A bare templateId is deliberately insufficient. |
| figure_library_previewA | Return one selected preview as standard MCP image content and optionally copy it to a trusted absolute directory. This compatibility tool does not authorize materialization. |
| figure_library_preview_exactA | App-only exact preview. It returns image bytes only to the component and issues a session-bound confirmation challenge. |
| figure_library_preview_exact_headlessB | Model-visible exact preview. Call only after the user selects a candidate, explicitly delegates visual review, or an App updateModelContext handoff selects one candidate; do not iterate all results. |
| figure_library_confirm_selectionA | App-only confirmation. The candidate workbench calls this only after the exact image load event and an explicit user click. |
| figure_library_confirm_selection_headlessA | Model-visible confirmation after figure_library_preview_exact_headless. Use only after a user selection, explicit delegation, or an App updateModelContext handoff when serverTools is unavailable; this call cannot prove UI visibility. |
| figure_library_record_ui_eventB | Internal App-only structured diagnostics. It accepts a fixed event enum and no arbitrary log text. |
| figure_library_export_diagnosticsB | Export a bounded, secret-safe diagnostic ZIP for the current server session. Defaults to sanitized_bundle, excludes user text and absolute paths, and never uploads data. |
| figure_library_source_statusB | Return complete text and structured status for the global portable Library, immutable lifecycle, write lock, and every registered Local, Community, FigureYa, or personal Provider. Community is reported as frozen and excluded from default search. Capture/project-pin status is intentionally absent. New installs report setup_required until both the global Library and Local workspace are bound. |
| figure_library_plan_bind_globalA | Validate the user-selected global Library directory and optionally stage a non-destructive flat-v1 copy. This read-only plan never chooses a project directory implicitly. |
| figure_library_apply_bind_globalA | Apply the exact reviewed binding plan using operation-id idempotency and stale-plan checks. |
| figure_library_plan_bind_workspaceA | Validate the user-selected Local workspace directory. First-time machine confirmation only; later starts reuse the saved locator. Never infers the current project folder. |
| figure_library_apply_bind_workspaceA | Apply the exact reviewed workspace binding plan. After this first confirmation, later MCP starts reuse the same directory across projects. |
| figure_library_plan_recover_write_lockA | Inspect one exact Library write lock. The user must stop every Wisp, Codex, Claude, and other writer before approving recovery; locks are never auto-stolen. |
| figure_library_apply_recover_write_lockA | Archive the exact unchanged abandoned lock and write a recovery receipt after all writers are confirmed stopped. |
| figure_library_review_openA | Host-neutral read-only inspection of Working, Published, history, Diff, and Review findings. |
| figure_library_preview_working_revisionA | Return the canonical image for an exact active pending Working plan or current Working Head. This read-only tool does not create a preview receipt or authorize materialization. |
| figure_library_template_historyB | Return immutable Content Revision and Release history. |
| figure_library_diff_revisionsA | Compare complete revision fields and asset inventories without modifying either revision. |
| figure_library_plan_working_revisionB | Validate user-confirmed image/code intake and return an immutable Working Revision plan. The server never calls a model or executes code. |
| figure_library_apply_working_revisionA | Reverify source bytes and apply the exact cached plan with operation-id idempotency and stale-state checks. |
| figure_library_plan_review_gate_updateD | Create a read-only lifecycle plan. No files or pointers are changed. |
| figure_library_apply_review_gate_updateC | Apply the exact cached plan with operation-id idempotency and stale-state checks. |
| figure_library_plan_publish_working_revisionC | Create a read-only lifecycle plan. No files or pointers are changed. |
| figure_library_apply_publish_working_revisionA | Apply the exact cached plan with operation-id idempotency and stale-state checks. |
| figure_library_plan_discard_working_revisionB | Create a read-only lifecycle plan. No files or pointers are changed. |
| figure_library_apply_discard_working_revisionC | Apply the exact cached plan with operation-id idempotency and stale-state checks. |
| figure_library_plan_restore_releaseA | Create a read-only lifecycle plan. No files or pointers are changed. |
| figure_library_apply_restore_releaseC | Apply the exact cached plan with operation-id idempotency and stale-state checks. |
| figure_library_plan_adopt_versioningA | Create a read-only lifecycle plan. No files or pointers are changed. |
| figure_library_apply_adopt_versioningB | Apply the exact cached plan with operation-id idempotency and stale-state checks. |
| figure_library_plan_materializeA | Require a one-time confirmed exact preview receipt, then resolve the provider-qualified selector and check the destination without writing files. |
| figure_library_apply_materializeA | Apply the cached exact plan once. All failures are terminal and must not be retried with another mode, provider, downloader, or substitute template. |
| figure_library_plan_bundle_exportA | Inventory either the authoritative Library (excluding rebuildable indexes/runtime locks) or one exact reachable Published Release. Produces a directory-bundle plan and writes nothing. |
| figure_library_apply_bundle_exportA | Reverify the exact source inventory and visible expectedTarget, write a new directory bundle without overwrite, and persist an idempotent export receipt. A durable pre-write intent can recover a completed target after server restart. |
| figure_library_plan_full_restoreA | Verify a full backup directory. Restore preserves libraryId and requires explicit authority transfer; Fork creates a new libraryId with fork provenance. |
| figure_library_apply_full_restoreA | Restore/fork into an absent target, verify every byte, and write an immutable operation receipt. It never changes the active locator automatically. |
| figure_library_plan_template_bundle_importA | Verify an exact Published-template bundle, copy its immutable assets into a new local candidate, and plan a Working Revision. Source approval is provenance only and is never inherited. |
| figure_library_apply_template_bundle_importB | Reverify the exact bundle and apply only the planned Working Revision. Local review and publish remain mandatory. |
| figure_library_get_style_profileA | Read the local user's saved style profile without modifying it. Disabled or absent profiles preserve template behavior. |
| figure_library_save_style_profileA | Explicitly save or replace the user's long-term style preferences. Only use when the user asks to remember/change their defaults; never persist temporary instructions. Read current revision first. |
| figure_library_reset_style_profileB | Explicitly reset saved defaults while preserving the revision counter. Does not modify figures. |
| figure_library_resolve_styleA | Read effective settings before adapting plotting code: template < enabled saved profile < current overrides. faithfulTemplate bypasses saved preferences. Semantic truth always takes priority. Host applies and verifies settings; this tool does not execute code. |
| figure_library_list_project_figuresA | Find generated or planned project figures by stable ID, name, historical alias or Figure 1B. Multiple matches need disambiguation. Does not search public templates. |
| figure_library_plan_project_figuresA | Plan independent figures or panels before plotting. New entries need title and descriptive English slug for non-English titles. Label is optional (standalone figures do not occupy Figure 1). Batch updates permit panel swaps. Review before/after paths before apply. Planning A-H does not mark any panel rendered. |
| figure_library_apply_project_figuresC | Apply a reviewed naming/grouping plan. Preserves stable IDs and historical revisions; moves working directories without overwriting targets. Does not render changed panel letters or rewrite external absolute references. |
| figure_library_archive_project_figureC | Snapshot only the explicitly listed figure files under its working directory. Include real plotting data and actual scripts, parameters, environment and truthful sources. Distinguish raw experiments from analysis tables. Host reports execution; SFL never runs scripts. Returns integrity issues instead of treating incomplete archives as complete. |
| figure_library_check_project_figureA | Verify current archive hashes, required data/script/output roles, sources, execution report and artwork label state. This does not rerun code or validate scientific conclusions. |
| figure_library_prepare_submissionA | Record host-prepared language export copies after checking their code behavior and rerendered output. Both locales require English generated code; en also requires translated generated prose and plot labels. Original data/scripts remain unchanged. Records preparation only; no ZIP is generated. User reviews the file inventory before applying export. |
| figure_library_plan_submission_exportA | Preview language-specific submission ZIP inventory and destination. Requires a complete archive and current host-verified language preparation; writes no ZIP. This is figure source-data packaging, not automatic journal compliance. |
| figure_library_apply_submission_exportB | Generate the reviewed language ZIP without overwriting existing files. Rechecks source/translation digests and workspace. No upload, journal submission or arbitrary execution. |
| figure_library_github_auth_statusA | Read-only check of the official gh login and central repository permissions. SFL never reads or prints the token. |
| figure_library_github_auth_instructionsA | Return a terminal command for the user to run. This tool never launches a browser or login process. |
| figure_library_plan_publication_prA | Read-only Archive or Catalog PR Plan. Archive uses one sanitized submission; Catalog requires a manually merged Archive PR and re-verifies its fixed merge commit and ZIP. |
| figure_library_apply_publication_prA | Re-check the gh account, permissions, source, merge gate, base, and file identities; then create a branch/commit/PR through Git Data API. Never merges the PR. |
| figure_library_plan_open_figure_module_prA | Sanitize one exact Local Published Release into an Open Figure module, search FigureYa and Open Figure Modules for similar figures, and show a GitHub PR Plan without writing or merging. Path collisions fail closed. Similar hits require user review in the SFL window before Apply. |
| figure_library_apply_open_figure_module_prB | Re-check GitHub identity, module path collisions, optional similar-search confirmation, and file identities; then create a two-commit PR through the Git Data API. Never merges. |
| figure_library_plan_publication_exportA | Resolve one exact reachable Local Published Release and show every included/excluded asset, rights declaration, public metadata conflict, render trace, and target without writing files. |
| figure_library_apply_publication_exportA | Revalidate the exact Local Published Release and selected asset bytes, then atomically create one deterministic sanitized submission at a new target. This call never uses the network, signs content, or creates a PR. |
| figure_library_list_provider_sourcesA | Read the configured personal provider sources and their last-known-good snapshot identities without making any network request. The raw trusted public key is never returned. |
| figure_library_plan_provider_source_changeA | Plan Add, Update, Configure, Remove, or explicit Trust Reset for a signed personal provider. Network access occurs only when the requested action must verify a snapshot. Planning never writes configuration or snapshots. |
| figure_library_apply_provider_source_changeA | Apply the exact cached provider-source plan with stale-state checks and operation-id replay protection. Apply never accepts a raw public key or endpoint override. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
| ui://figure-library/candidates-v0.7.0.html | Paginate matches from the selected Providers, display verified search thumbnails, and confirm one exact preview. |
TDQS
Scored across 65 tools
The plan_/apply_ pairing gives most tools a distinct operation, and descriptions are unusually explicit about host/audience constraints. However, four preview variants (preview, preview_exact, preview_exact_headless, preview_working_revision) and two confirm variants (confirm_selection, confirm_selection_headless) overlap heavily and require host-context knowledge to tell apart, which will trip up an agent.
Every tool uses a uniform snake_case figure_library_ prefix with a consistent verb_noun scheme, and the plan_/apply_ lifecycle pattern is applied predictably across nearly all mutation operations. No mixed conventions or ad-hoc naming.
65 tools is far beyond a comfortable surface for any agent, and the plan/apply discipline roughly doubles the count for each lifecycle action. Although the domain is genuinely broad, this is heavy enough that discovery and correct selection become a real burden.
Coverage is remarkably thorough: search/describe, preview, bind, working revision lifecycle, publish/discard/restore, export/import bundles, full restore/fork, style profiles, project figure planning/archiving, submission packaging, GitHub PRs, and provider source management. Minor gaps may exist but no obvious dead ends for the stated purpose.