When generating scientific figures in agent environments such as Claude Science or Wisp, it is common to face difficulties reusing styles and chaos in code version management. The local figure library plugin Scientific Figure Library (SFL) provides a solution. It lets you import, review, and publish immutable figure templates locally, then reuse these exact templates across multiple projects.

What Is It

This is a local-first MCP server and MCP application for scientific figures. The author is xuzhougeng. It stores figures and their code as immutable Releases in a disk directory specified by the user, and supports reuse across multiple hosts such as Pi, DeepSeek Harness (dsh), Claude, Codex, Cursor, and Wisp.

Core Features

  1. Local-First Architecture: Both the MCP server and MCP application run locally and do not depend on remote storage.
  2. Publish and Reuse: Import figures and code, publish an immutable Release to the global library after review, and then reuse exact templates in projects.
  3. MCP App Gallery: Provides an interface for browsing, precise previews, and user confirmation to select templates.
  4. Search and Materialization: Supports search, description, preview, and finally confirms and materializes an exact template.
  5. Portable Management: Supports portable backup, restore, and branching operations for the library.

Install and Enable

  1. Prerequisites: Make sure Node.js 22+ is installed.
  2. Install the plugin: Run the following command in DeepSeek Harness. Note that the --profile parameter usually needs to be set to web.
dsh plugin --profile web add scientific-figure-library
  1. Restart the profile: After installation, restart the corresponding profile to load the plugin.
dsh --profile web
# or
dsh web
  1. Basic test: After installation, it is recommended to test the following tools first to ensure the connection is working.
  • figure_library_get_skill
  • figure_library_source_status

Typical Usage

  1. Check status: Call figure_library_source_status to view the current library status. If write access is disabled, you need help binding an absolute global library directory.
  2. Initialize workspace: If setup_required is prompted, you need to bind a local workspace before searching.
  3. Retrieve templates: Search locally published templates in the MCP App.
  4. Confirm and materialize: Wait for the user to confirm a template card, then plan to materialize it into the specified empty folder.

Use Cases and Notes

  • Use cases: Teams or individuals who need to unify the style of scientific figures and maintain consistency between code and figure versions.
  • Runtime mechanism: The plugin runs with the permissions of the current dsh process. Review the source code and license before installation.
  • Environment requirements: Node.js 22+ must be installed.
  • Execution permissions: The server does not execute plotting code and does not contain models; it is responsible only for file hashing, version management, and publishing.
  • Search order: The default search order is locally published → FigureYa → Open Figure Modules → enabled dynamic personal providers.
  • Community snapshot: The bundled community snapshot is frozen and excluded from default search (includeInDefaultSearch: false). Locally published content is the source of truth.
  • Initial setup: If setup_required appears, you must bind a local workspace before searching.

Summary

Scientific Figure Library solves the problem of reusing figure styles across multiple projects by localizing the review and publish workflow for figure templates. Its core value is that it provides a persistent and traceable local knowledge base, making figure template management reproducible.

Plugin directory page
GitHub repository