ScientificFigureLibrary
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| FIGURE_LIBRARY_DIR | No | Directory for the user's figure library. Defaults to ~/.figure-library. | |
| FIGUREYA_SOURCE_PACK_DIR | No | Path to a local FigureYa Source Pack directory containing ZIP archives. | |
| FIGUREYA_ARCHIVE_BASE_URLS | No | Comma-separated list of base URLs for FigureYa archive downloads. |
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_get_skillA | Start here for SFL guidance and host capabilities. Returns the same bundled SKILL.md without requiring Library setup. Use only listed document IDs for on-demand references; does not install a Skill or execute helper code. |
| figure_library_get_candidate_imagesA | Get up to 12 current-result thumbnails as standard MCP images with exact candidate labels. Display a page for user selection; do not iterate the entire result set. Does not confirm exact previews or create materialization receipts. |
| 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_searchC | Search Local Published, FigureYa, Open Figure Modules and opted-in personal Providers. Present candidates using host thumbnail resources/image tools or the optional App, then wait for selection. Community is explicit-only; Working, Capture and flat-v1 entries are excluded. |
| figure_library_search_pageA | Paginate an existing search result set for the host Agent or App. Keep the resultSetId and opaque cursor unchanged. |
| 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_create_plot_task_headlessA | Create the same v2 plotting-task handoff used by the App after the user selects candidates in an agent-only session. Selections must belong to the current cached result set. This read-only tool does not preview, materialize, execute code, or install dependencies. |
| 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_diagnosticsA | 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_revisionA | Validate user-confirmed image/code intake and return an immutable Working Revision plan. The operations 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 operations 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_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 |
|---|---|
| SFL guidance: SKILL.md | Bundled SFL guidance or helper source. Reading does not execute or install it. |
| SFL guidance: references/figure-description/GUIDE.md | Bundled SFL guidance or helper source. Reading does not execute or install it. |
| SFL guidance: references/figure-description/references/figureya-writing-patterns.md | Bundled SFL guidance or helper source. Reading does not execute or install it. |
| SFL guidance: references/figure-organization/GUIDE.md | Bundled SFL guidance or helper source. Reading does not execute or install it. |
| SFL guidance: references/figure-organization/NOTICE.md | Bundled SFL guidance or helper source. Reading does not execute or install it. |
| SFL guidance: references/figure-organization/references/output-binding.md | Bundled SFL guidance or helper source. Reading does not execute or install it. |
| SFL guidance: references/figure-organization/references/script-organization.md | Bundled SFL guidance or helper source. Reading does not execute or install it. |
| SFL guidance: references/figure-organization/references/source-organization.md | Bundled SFL guidance or helper source. Reading does not execute or install it. |
| SFL guidance: references/figure-organization/references/workflow-lineage.md | Bundled SFL guidance or helper source. Reading does not execute or install it. |
| SFL guidance: references/figure-style/GUIDE.md | Bundled SFL guidance or helper source. Reading does not execute or install it. |
| SFL guidance: references/figure-style/LICENSE | Bundled SFL guidance or helper source. Reading does not execute or install it. |
| SFL guidance: references/figure-style/NOTICE.md | Bundled SFL guidance or helper source. Reading does not execute or install it. |
| SFL guidance: references/figure-style/kernel.py | Bundled SFL guidance or helper source. Reading does not execute or install it. |
| SFL guidance: references/figure-style/references/checks.md | Bundled SFL guidance or helper source. Reading does not execute or install it. |
| SFL guidance: references/figure-style/references/python-backend.md | Bundled SFL guidance or helper source. Reading does not execute or install it. |
| SFL guidance: references/figure-style/references/r-backend.md | Bundled SFL guidance or helper source. Reading does not execute or install it. |
| SFL guidance: references/library-workflows.md | Bundled SFL guidance or helper source. Reading does not execute or install it. |
| ui://figure-library/candidates-v0.8.1.html | Paginate matches from the selected Providers, display verified search thumbnails, and confirm one exact preview. |
TDQS
Scored across 56 tools
The plan_/apply_ pairs are distinct in intent, but the multiple preview and confirm variants (preview, preiew_exact, preview_exact_headless, preview_working_revision, confirm_selection, confirm_selection_headless) can easily be confused. Several plan tools also share the exact same generic description, leaving the tool name to carry the full disambiguation burden.
The figure_library_ prefix plus the consistent plan_/apply_ pairing creates a strong naming pattern. A few noun-headed names like template_history, source_status, and github_auth_status, plus bare verbs like open and describe, deviate slightly from strict verb_noun naming but not enough to mislead.
With 56 tools, the surface is extremely large. The many plan/apply pairs and App-only/headless variants roughly double the number of operations, making the server far heavier and harder to navigate than is appropriate even for a complex scientific figure workflow.
The core lifecycle is well represented: binding, search, working revisions, review gates, publishing, restoring, exporting, and GitHub/provider integrations. Notable gaps remain, however: there is no clear unpublish/retract operation for a Published release and no agent-facing way to author or modify review findings.