Wisp FigureFree
Provides tools for planning and applying Open Figure Modules GitHub pull requests, and asynchronously checks a signed GitHub feed to update the local figure module catalog.
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@Wisp FigureFree Search my local published figures for a boxplot and preview it."
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
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-figuresProvider. 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 |
| Choose the local Library directory |
| Open the MCP App |
| Search Local Published (and any enabled extras) |
| Import a figure+code unit |
| Publish a Release |
| Optional Open Figure Modules GitHub PR |
| 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 recordsThe 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 toolsfigure_library_apply_adopt_versioningApply explicit flat-v1 adoptionBIdempotent
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 bindingAIdempotent
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 bindingAIdempotent
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 exportAIdempotent
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 discardCIdempotent
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 ForkAIdempotent
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 materializationAIdempotent
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 requestBIdempotent
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 changeADestructiveIdempotent
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 exportAIdempotent
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 requestAIdempotent
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 publicationAIdempotent
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 recoveryADestructiveIdempotent
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 WorkingCIdempotent
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 decisionsCIdempotent
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 WorkingBIdempotent
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 planAIdempotent
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_figureARead-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 previewARead-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 reviewARead-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 templateARead-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 RevisionsARead-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_profileARead-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 instructionsARead-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 authenticationARead-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_figuresARead-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 providersARead-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 FigureFreeARead-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 adoptionARead-onlyIdempotent
Create a read-only lifecycle plan. No files or pointers are changed.
Inputs: templateId (required), canonicalImplementationAssetPath.
figure_library_plan_bind_globalPlan global ScientificFigureLibrary bindingARead-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 bindingARead-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 bundleARead-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 discardBRead-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 ForkARead-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 materializationARead-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 requestARead-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_figuresARead-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 changeARead-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 exportARead-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 requestARead-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 publicationCRead-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 recoveryARead-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 WorkingARead-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 decisionsDRead-onlyIdempotent
Create a read-only lifecycle plan. No files or pointers are changed.
Inputs: decisions (required), templateId (required).
figure_library_plan_submission_exportARead-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 WorkingARead-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 RevisionBRead-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 templateAIdempotent
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 confirmationARead-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 reviewBRead-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 selectorARead-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_styleARead-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 stateARead-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_searchSearch all matching scientific figure ProvidersBRead-onlyIdempotent
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.
Inputs: query (required), limit, language, assetKind, +7 more.
figure_library_search_pageLoad another candidate pageBRead-onlyIdempotent
App-only pagination for an existing complete search result set.
Inputs: cursor (required), resultSetId (required).
figure_library_source_statusInspect global Library and Provider statusBRead-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 historyBRead-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
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.
Related MCP Connectors
Shared workspace for AI artifacts: your agents publish, search and cite each other's work.
Artifact store for AI agents. Hosted OAuth at mcp.artifacta.io/mcp; local stdio via npm/PyPI.
Team memory for AI coding agents and code reviews, reviewed by humans and served over MCP.
Your personal library, readable by AI agents: durable snapshots, hybrid search, 46 MCP tools.
Related MCP Servers
- AlicenseNot gradedqualityCmaintenanceA 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.1MIT
- AlicenseNot gradedqualityBmaintenanceA 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 npmMIT
- AlicenseNot gradedqualityBmaintenanceLocal 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 npmMIT

Vibgrate AI Contextofficial
AlicenseNot gradedqualityBmaintenanceLocal-first MCP server that gives AI assistants codebase intelligence—code graph, drift analysis, vulnerability attribution, and version-correct library docs—all from the user's machine.1,063 npm6Apache 2.0