Skip to main content
Glama

Wisp FigureFree

Independently maintained by Yu-Qiao-sjtu, based on the MIT code and contribution history of ScientificFigureLibrary. This is not an official bundled Wisp component. Third-party templates retain their own licenses.

Independent edition and issue coverage · Workbuddy setup

Wisp FigureFree

Website · 简体中文 · Quickstart · User Guide · Protocol · Releases · Wisp Science

Wisp FigureFree (SFL) is a local-first MCP server and MCP App for your scientific figures. You import a figure and its code, review them, publish an immutable Release to one global Library on your machine, then reuse that exact template across projects in Claude Science, Wisp Science, Codex, Cursor, and other stdio MCP hosts.

The Library stays on disk you choose. Nothing is copied into every project until you confirm a materialization. The server does not execute plotting code and does not contain a second model: the host agent inspects files; SFL hashes, versions, gates, and publishes them.

The default retrieval order is Local Published → FigureYa → Open Figure Modules → enabled dynamic personal Providers. The bundled Community snapshot is retained for explicit compatibility, but is frozen and excluded from default search (includeInDefaultSearch: false). The source of truth for your own figures is always Local Published.

A bundled extra catalog may currently contain zero releases after an authorized redaction; that is a healthy empty source, not a failure, and default search continues across other providers.

Install with a coding agent

Give Claude Code, Codex, Cursor, or another local coding agent with terminal access this repository and the following request:

Install Wisp FigureFree from
https://github.com/Yu-Qiao-sjtu/wisp-figurefree.

Follow docs/QUICKSTART.md. Prefer a GitHub Release ZIP when one is published.
Node.js 22+ is required. Register the stdio MCP server as figure-library
pointing at dist/index.js. For Wisp Science, use npm run package:wisp and
install the generated plugin. For Cursor, use npm run package:cursor and unzip
into ~/.cursor/plugins/local/figure-library/. Bind one global Library directory on disk.
Do not execute user plotting code. First test: open or source_status; if
setup_required, bind the global Library and Local workspace before searching.
open the workbench, search the local published library.
Tell me when I need to grant folder access or start a new host session.

Manual steps: docs/QUICKSTART.md.

Related MCP server: artifacty

What is included

  • Local Published library — one user-selected directory, shared across projects and hosts

  • Direct image + code intake, review gates, immutable Revisions and Releases

  • MCP App gallery: browse, exact preview, user confirmation

  • Search, describe, preview, then materialize an exact confirmed template

  • Portable backup / restore / fork of the Library

  • Optional extra search providers; they do not replace local review

  • Open Figure Modules — the same io.github.jarxunlai.personal-figures Provider. A bundled snapshot is only the offline bootstrap. After install, SFL asynchronously checks a signed GitHub feed and atomically switches the local Catalog overlay. Ordinary template updates no longer require repackaging the plugin. Complete module ZIPs are still fetched only for one exact selected materialization.

Bundled figure workflow

All four plugin packages include figure-library, figure-description, figure-organization and figure-style. The host does not need its own copies of these Skills. Approved R/Python runtimes and host execution/image tools are still required when the user asks to draw.

Template details render safe Markdown for the requirement, biological use cases and data profile, with actual input/code/package lists visible. Technical identities and validation state are available in a collapsed area. Historical Local Published/OFM entries remain readable; this update does not rewrite their content or the bundled FigureYa catalog.

First success

Call figure_library_source_status. If writes are disabled, help me bind one
absolute global Library directory (plan then apply after I confirm the path).
Open the workbench and search my Local Published templates. Wait for me to
confirm one card. Then plan materialization into an empty folder I specify.
Do not execute R or Python. Do not redraw the figure.

If the local library is empty, import a figure/code pair, review it, and publish a Release before searching. Full contract: docs/PROTOCOL.md.

Develop from source

Requires Node.js 22+:

git clone https://github.com/Yu-Qiao-sjtu/wisp-figurefree.git
cd ScientificFigureLibrary
npm ci
npm run check
node dist/index.js
{
  "mcpServers": {
    "figure-library": {
      "command": "node",
      "args": ["/absolute/path/to/ScientificFigureLibrary/dist/index.js"]
    }
  }
}

The Library locator is machine-local (locator.json under AppData / XDG). FIGURE_LIBRARY_DIR is an admin override only.

Tools (short list)

Tool

Role

figure_library_plan_bind_global / apply_bind_global

Choose the local Library directory

figure_library_open

Open the MCP App

figure_library_search

Search Local Published (and any enabled extras)

figure_library_plan_working_revision / apply_working_revision

Import a figure+code unit

figure_library_plan_publish_working_revision / apply_publish_working_revision

Publish a Release

figure_library_plan_open_figure_module_pr / apply_open_figure_module_pr

Optional Open Figure Modules GitHub PR

figure_library_plan_materialize / apply_materialize

Copy a confirmed template into a project

The server never runs notebooks, installers, or plot scripts. See SECURITY.md.

Open Figure Modules

Personal modules use one content repository for both cleaned source modules and deterministic archives (no second archive repository):

<PERSONAL_MODULE_REPOSITORY>
├── modules/<moduleId>/       # reviewed, cleaned public module
├── archives/<moduleId>.zip  # deterministic ZIP from a pinned source commit
└── catalog/                  # archive manifest and admission records

The plugin still ships assets/personal-modules/ as a bootstrap Catalog, preview/thumbnail snapshot, and license notice. After a successful signed-feed refresh, search uses the remote last-known-good overlay instead of that bootstrap. The plugin never contains complete personal ZIPs, Gallery source/reference images, private data, credentials, or signing keys.

The signed feed lives on the open-figure-feed branch of jarxunlai/ScientificFigureLibrary-personal. SFL checks current/source-manifest.json over HTTPS, verifies the Ed25519 detached signature, then pins Catalog and preview ZIP URLs to a payload commit. Search does not wait for the network. figure_library_list_provider_sources stays offline. Explicit update still uses Plan/Apply. configure may only change autoRefresh. Add/remove/trust-reset of this official channel are rejected.

The maintainer commands are offline and deliberately separate from GitHub operations:

npm run modules:validate -- --check --repository <PERSONAL_MODULE_REPOSITORY>
npm run modules:archive -- --write --repository <PERSONAL_MODULE_REPOSITORY>
npm run modules:catalog -- --write --repository <PERSONAL_MODULE_REPOSITORY>
npm run modules:source-pack -- --write --repository <PERSONAL_MODULE_REPOSITORY>

They do not create commits, push, create repositories, run R, install dependencies, or modify the Gallery. SFL materialization only downloads or reads the selected ZIP, validates its bytes and safe paths, extracts the requested template/full file set, and writes a lock with codeExecutedBySflClient: false.

License

MIT for this project's code. User-imported figures keep the license recorded at import. Optional bundled catalog assets, if used, keep their upstream licenses. See THIRD_PARTY_NOTICES.md.

Available Tools

65 tools
figure_library_apply_adopt_versioningApply explicit flat-v1 adoptionB
Idempotent

Apply the exact cached plan with operation-id idempotency and stale-state checks.

Inputs: planDigest (required), operationId (required), expectedTemplateId (required), expectedSeriesDigest (required).

figure_library_apply_bind_globalApply confirmed global Library bindingA
Idempotent

Apply the exact reviewed binding plan using operation-id idempotency and stale-plan checks.

Inputs: planDigest (required), operationId (required).

figure_library_apply_bind_workspaceApply confirmed Local workspace bindingA
Idempotent

Apply the exact reviewed workspace binding plan. After this first confirmation, later MCP starts reuse the same directory across projects.

Inputs: planDigest (required), operationId (required).

figure_library_apply_bundle_exportApply a confirmed portable bundle exportA
Idempotent

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.

Inputs: planDigest (required), operationId (required), expectedTarget (required).

figure_library_apply_discard_working_revisionApply Working Head discardC
Idempotent

Apply the exact cached plan with operation-id idempotency and stale-state checks.

Inputs: planDigest (required), operationId (required), expectedTemplateId (required), expectedSeriesDigest (required).

figure_library_apply_full_restoreApply confirmed full-Library Restore or ForkA
Idempotent

Restore/fork into an absent target, verify every byte, and write an immutable operation receipt. It never changes the active locator automatically.

Inputs: planDigest (required), operationId (required).

figure_library_apply_materializeApply confirmed exact materializationA
Idempotent

Apply the cached exact plan once. All failures are terminal and must not be retried with another mode, provider, downloader, or substitute template.

Inputs: planDigest (required), operationId (required), expectedTarget (required), expectedProviderId (required).

figure_library_apply_open_figure_module_prApply a reviewed Open Figure Modules pull requestB
Idempotent

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.

Inputs: planDigest (required), operationId (required), expectedResultSetId, similarReviewConfirmed.

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.

Inputs: planDigest (required).

figure_library_apply_provider_source_changeApply a confirmed signed provider changeA
DestructiveIdempotent

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.

Inputs: planDigest (required), operationId (required), expectedAction (required), expectedProviderId (required).

figure_library_apply_publication_exportApply a confirmed sanitized publication exportA
Idempotent

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.

Inputs: planDigest (required), operationId (required), expectedTarget (required).

figure_library_apply_publication_prApply a reviewed staged central publication pull requestA
Idempotent

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.

Inputs: planDigest (required), operationId (required).

figure_library_apply_publish_working_revisionApply atomic approval and publicationA
Idempotent

Apply the exact cached plan with operation-id idempotency and stale-state checks.

Inputs: planDigest (required), operationId (required), expectedTemplateId (required), expectedSeriesDigest (required).

figure_library_apply_recover_write_lockApply confirmed global write-lock recoveryA
DestructiveIdempotent

Archive the exact unchanged abandoned lock and write a recovery receipt after all writers are confirmed stopped.

Inputs: planDigest (required), operationId (required).

figure_library_apply_restore_releaseApply historical Release restoration as WorkingC
Idempotent

Apply the exact cached plan with operation-id idempotency and stale-state checks.

Inputs: planDigest (required), operationId (required), expectedTemplateId (required), expectedSeriesDigest (required).

figure_library_apply_review_gate_updateApply Review Gate decisionsC
Idempotent

Apply the exact cached plan with operation-id idempotency and stale-state checks.

Inputs: planDigest (required), operationId (required), expectedTemplateId (required), expectedSeriesDigest (required).

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.

Inputs: planDigest (required).

figure_library_apply_template_bundle_importApply confirmed template-bundle import as WorkingB
Idempotent

Reverify the exact bundle and apply only the planned Working Revision. Local review and publish remain mandatory.

Inputs: planDigest (required), operationId (required).

figure_library_apply_working_revisionApply a confirmed Working Revision planA
Idempotent

Reverify source bytes and apply the exact cached plan with operation-id idempotency and stale-state checks.

Inputs: planDigest (required), operationId (required), expectedAction (required), expectedTemplateId (required), +1 more.

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.

Inputs: details (required), figureId (required), artifacts (required), expectedRevision (required).

figure_library_check_project_figureA
Read-onlyIdempotent

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.

Inputs: figureId (required).

figure_library_confirm_selectionConfirm a visibly loaded exact previewA
Read-only

App-only confirmation. The candidate workbench calls this only after the exact image load event and an explicit user click.

Inputs: previewChallenge (required).

figure_library_confirm_selection_headlessConfirm an exact preview after headless Agent reviewA
Read-only

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.

Inputs: previewChallenge (required).

figure_library_describeDescribe one provider-qualified exact templateA
Read-onlyIdempotent

Describe an exact Local Published release, bundled/personal public template, or commit-pinned FigureYa module. A bare templateId is deliberately insufficient.

Inputs: providerId (required), exactSelector (required).

figure_library_diff_revisionsDiff two immutable Content RevisionsA
Read-onlyIdempotent

Compare complete revision fields and asset inventories without modifying either revision.

Inputs: templateId (required), toRevisionId (required), fromRevisionId (required).

figure_library_export_diagnosticsExport Wisp FigureFree 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.

Inputs: scope, since, until, detail, +3 more.

figure_library_get_style_profileA
Read-onlyIdempotent

Read the local user's saved style profile without modifying it. Disabled or absent profiles preserve template behavior.

Inputs: no named parameters.

figure_library_github_auth_instructionsShow official GitHub CLI authentication instructionsA
Read-onlyIdempotent

Return a terminal command for the user to run. This tool never launches a browser or login process.

Inputs: no named parameters.

figure_library_github_auth_statusInspect GitHub CLI publication authenticationA
Read-onlyIdempotent

Read-only check of the official gh login and central repository permissions. SFL never reads or prints the token.

Inputs: no named parameters.

figure_library_list_project_figuresA
Read-onlyIdempotent

Find generated or planned project figures by stable ID, name, historical alias or Figure 1B. Multiple matches need disambiguation. Does not search public templates.

Inputs: query.

figure_library_list_provider_sourcesList configured personal figure providersA
Read-onlyIdempotent

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.

Inputs: no named parameters.

figure_library_openOpen Wisp FigureFreeA
Read-onlyIdempotent

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.

Inputs: no named parameters.

figure_library_plan_adopt_versioningPlan explicit flat-v1 adoptionA
Read-onlyIdempotent

Create a read-only lifecycle plan. No files or pointers are changed.

Inputs: templateId (required), canonicalImplementationAssetPath.

figure_library_plan_bind_globalPlan global ScientificFigureLibrary bindingA
Read-onlyIdempotent

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.

Inputs: libraryDirectory (required), migrationMode, legacySourceDirectory.

figure_library_plan_bind_workspacePlan Local workspace bindingA
Read-onlyIdempotent

Validate the user-selected Local workspace directory. First-time machine confirmation only; later starts reuse the saved locator. Never infers the current project folder.

Inputs: workspaceDirectory (required).

figure_library_plan_bundle_exportPlan a portable Library or Published-template bundleA
Read-onlyIdempotent

Inventory either the authoritative Library (excluding rebuildable indexes/runtime locks) or one exact reachable Published Release. Produces a directory-bundle plan and writes nothing.

Inputs: kind (required), destination (required), releaseId, targetName, +1 more.

figure_library_plan_discard_working_revisionPlan Working Head discardB
Read-onlyIdempotent

Create a read-only lifecycle plan. No files or pointers are changed.

Inputs: templateId (required).

figure_library_plan_full_restorePlan full-Library Restore or ForkA
Read-onlyIdempotent

Verify a full backup directory. Restore preserves libraryId and requires explicit authority transfer; Fork creates a new libraryId with fork provenance.

Inputs: mode (required), bundleDirectory (required), targetDirectory (required), authorityTransferConfirmed.

figure_library_plan_materializePlan exact template materializationA
Read-onlyIdempotent

Require a one-time confirmed exact preview receipt, then resolve the provider-qualified selector and check the destination without writing files.

Inputs: providerId (required), destination (required), exactSelector (required), allowNetwork, +2 more.

figure_library_plan_open_figure_module_prPlan an Open Figure Modules pull requestA
Read-onlyIdempotent

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.

Inputs: providerId (required), exactSelector (required).

figure_library_plan_project_figuresA
Read-onlyIdempotent

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.

Inputs: changes (required), figuresDirectory.

figure_library_plan_provider_source_changePlan a signed personal provider changeA
Read-onlyIdempotent

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.

Inputs: action (required), enabled, providerId, autoRefresh, +5 more.

figure_library_plan_publication_exportPlan a sanitized public-template submission exportA
Read-onlyIdempotent

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.

Inputs: target (required), providerId (required), exactSelector (required), publicMetadata (required), +4 more.

figure_library_plan_publication_prPlan a staged central publication pull requestA
Read-onlyIdempotent

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.

Inputs: action (required), expectedTemplateId, submissionDirectory, expectedReleaseVersion, +1 more.

figure_library_plan_publish_working_revisionPlan atomic approval and publicationC
Read-onlyIdempotent

Create a read-only lifecycle plan. No files or pointers are changed.

Inputs: templateId (required).

figure_library_plan_recover_write_lockPlan abandoned global write-lock recoveryA
Read-onlyIdempotent

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.

Inputs: reason (required).

figure_library_plan_restore_releasePlan historical Release restoration as WorkingA
Read-onlyIdempotent

Create a read-only lifecycle plan. No files or pointers are changed.

Inputs: releaseId (required), templateId (required).

figure_library_plan_review_gate_updatePlan Review Gate decisionsD
Read-onlyIdempotent

Create a read-only lifecycle plan. No files or pointers are changed.

Inputs: decisions (required), templateId (required).

figure_library_plan_submission_exportA
Read-onlyIdempotent

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.

Inputs: locale (required), figureId (required).

figure_library_plan_template_bundle_importPlan Published-template bundle import as WorkingA
Read-onlyIdempotent

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.

Inputs: bundleDirectory (required), targetTemplateId (required), mode.

figure_library_plan_working_revisionPlan a direct-intake Working RevisionB
Read-onlyIdempotent

Validate user-confirmed image/code intake and return an immutable Working Revision plan. The server never calls a model or executes code.

Inputs: mode, tags, title, intake, +27 more.

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.

Inputs: locale (required), figureId (required), translation (required).

figure_library_previewPreview one provider-qualified exact templateA
Idempotent

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.

Inputs: providerId (required), exactSelector (required), destination.

figure_library_preview_exactLoad one exact preview for confirmationA
Read-only

App-only exact preview. It returns image bytes only to the component and issues a session-bound confirmation challenge.

Inputs: providerId (required), resultSetId (required), exactSelector (required).

figure_library_preview_exact_headlessLoad one exact preview for explicit headless reviewB
Read-only

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.

Inputs: providerId (required), resultSetId (required), exactSelector (required).

figure_library_preview_working_revisionPreview an exact active Working selectorA
Read-onlyIdempotent

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.

Inputs: revisionId (required), templateId (required), contentDigest (required).

figure_library_record_ui_eventRecord a bounded candidate-workbench eventB

Internal App-only structured diagnostics. It accepts a fixed event enum and no arbitrary log text.

Inputs: event (required), candidateId (required), resultSetId (required), durationMs, +3 more.

figure_library_reset_style_profileB

Explicitly reset saved defaults while preserving the revision counter. Does not modify figures.

Inputs: expectedRevision (required).

figure_library_resolve_styleA
Read-onlyIdempotent

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.

Inputs: template, overrides, faithfulTemplate.

figure_library_review_openInspect template review stateA
Read-onlyIdempotent

Host-neutral read-only inspection of Working, Published, history, Diff, and Review findings.

Inputs: templateId.

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.

Inputs: name (required), settings (required), expectedRevision (required), enabled.

figure_library_search_pageLoad another candidate pageB
Read-onlyIdempotent

App-only pagination for an existing complete search result set.

Inputs: cursor (required), resultSetId (required).

figure_library_source_statusInspect global Library and Provider statusB
Read-onlyIdempotent

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.

Inputs: sourcePackDir, moduleSourcePackDir.

figure_library_template_historyInspect immutable template historyB
Read-onlyIdempotent

Return immutable Content Revision and Release history.

Inputs: templateId (required).

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

Loading tool schema changelog…

    TDQS

    B3/5.0

    Scored across 65 tools

    Disambiguation3/5

    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.

    Naming Consistency5/5

    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.

    Tool Count2/5

    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.

    Completeness4/5

    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.

    Related MCP Connectors

    Related MCP Servers

    • A
      license
      Not graded
      quality
      C
      maintenance
      A local-first MCP server that analyzes research papers, maps citation graphs, and surfaces insights with verbatim-verified contradictions, all while keeping data private on your machine.
      1
      MIT
    • A
      license
      Not graded
      quality
      B
      maintenance
      A local, agent-to-agent artifact exchange for LLM workflows. Enables MCP-capable tools like Claude, Codex, and Gemini to publish, list, read, update, and continue from artifacts without copying content through chat.
      949 npm
      MIT
    • A
      license
      Not graded
      quality
      B
      maintenance
      Local repository intelligence MCP server that builds a reusable graph of code structure for AI coding agents, providing 34 network-free tools for understanding, searching, and analyzing repositories without data leaving the machine.
      71 npm
      MIT