GravityPort

io.github.fengseekling-coderPublished by GitHub account fengseekling-coderv0.3.9Updated Nov 7, 2026

AI asset manager: let Claude and Codex search your local library of AI images, videos and prompts.

The publisher's own server: Port

Overview

AI-generated overview

MCP server bundled with the GravityPort desktop app that lets Claude, Codex and other clients search and record a local library of AI-generated images, videos…

What you can do
  • List, search and record assets in the local GravityPort library
  • Search assets by text combined with a time range
  • Read and record prompts, versions and generation history for each asset
  • Work with the same local gallery the desktop app shows, including groups and stacks
When to use it
Useful if you generate images or videos with tools like ChatGPT, Gemini, Flow, Google AI Studio, Codex, Grok or Jimeng and want an assistant to find earlier results, reuse their prompts, or trace how an image evolved across versions.
Requirements
The GravityPort desktop app (macOS Apple Silicon or Windows 10/11 x64) ships the server; a ready-made config for Claude Desktop, Claude Code or Codex can be copied from Settings → Connect. Running from source needs Node.js 22 or newer and npm, with npm run mcp. No cloud account, API key or environment variable is declared.
Before you install
The server can record and change data in your local library, so assistant actions modify your assets and history. The app is not code-signed on Windows and needs a one-time macOS security override. Packaged builds send minimal install/activity metadata keyed by a random installation ID, which can be turned off. The local web UI must not be exposed through a public port or reverse proxy.

Installation

In SourceWeft

  1. Open GravityPort in the dashboard and add it to a workspace.
  2. Enable the server for the chats that should use its tools.

Desktop only via STDIO. STDIO servers start a local process, so they need the SourceWeft desktop host.

Other MCP clients

Follow the launch instructions in the repository.

README

GravityPort

English | 简体中文

[CI] [License: PolyForm Shield 1.0.0] [Platforms: macOS arm64 | Windows x64]

Local visual memory for AI creation. 把 AI 生成的每一张图,连同 Prompt、来源和版本,留在自己的电脑上。

GravityPort is an AI asset manager. It automatically collects the images and videos generated by ChatGPT, Gemini, Flow, Google AI Studio, Codex, Grok, and Jimeng — together with their Prompts, reference images, and provenance — into one library on your own computer.

[GravityPort gallery with the Inspector open]

Local-first · Prompt & provenance · Version history · No GravityPort cloud account

Downloads · First launch · 中文使用指南 · Privacy · Documentation

Downloads

Get GravityPort from the official download page. It always lists the current packages with their sizes; the Windows package also shows its SHA-256 value.

  • GravityPort Desktop for macOS (Apple Silicon): a DMG. Drag GravityPort.app into Applications.
  • GravityPort Desktop for Windows 10/11 (x64): an installer. Double-click it; it installs GravityPort for your Windows account without asking for an administrator, adds it to the Start menu and the desktop, and opens it. Remove it in Settings → Apps; your library stays. (0.3.3 and earlier came as a portable ZIP: extract it and run GravityPort.exe.)
  • GravityPort Web Capture (Chrome / Chromium, optional): a ZIP; load it after the desktop app is running and the two pair automatically. See the install guide.

Installed desktop apps check for updates themselves in Settings → About. The release manifest is the machine-readable source for the newest version.

First launch

  • macOS: open System Settings → Privacy & Security and click Open Anyway next to GravityPort. Only once.
  • Windows: the installer is not code-signed yet, so SmartScreen may say "Windows protected your PC". Click More info → Run anyway. Only once, when you install.

Why GravityPort

An image alone rarely tells you how to use it again. The Prompt may be in another conversation, the source tool may be forgotten, and the version you actually want may be buried among near-duplicates.

GravityPort reconnects each asset with the context that makes it reusable: its available Prompt, generation source, provenance, and version history. The library remains under your control on your machine.

What you can do

Keep the context with the asset

Archive generated images and videos together with their available Prompt, source, model or tool context, timestamps, and provenance. GravityPort records when a Prompt is unavailable instead of inventing one.

Organize by drag and drop

Browse and search one gallery with adjustable column counts, marquee selection, and multi-select. Drag cards onto a sidebar group to file them, onto another card to build or join a stack, inside a stack to reorder it, or out of the window to hand the files to another app. A stack built or joined by drag can be undone for a few seconds.

Iterate on the version tree

The Inspector shows each asset's version tree, with generations from a ChatGPT conversation grouped by conversation round so you can see how the image evolved turn by turn. Any two versions in a family can be compared side by side.

Let AI agents search your library

The built-in MCP server lets Claude, Codex, and other MCP clients list, search, and record assets, Prompts, versions, and generation history in the same local library. asset_search combines text and a time range. The desktop app ships the server: copy a ready-made config for Claude Desktop, Claude Code, or Codex from Settings → Connect, with no Node.js or source checkout needed. From source, run npm run mcp. See MCP 与接口 for setup and the tool list.

Recover deleted work

Removed assets move to Trash, where they are kept for 90 days with a per-asset countdown. Right after a deletion an undo button offers to reverse it; Trash has its own menu for restoring, deleting permanently, and emptying.

Settings → Feedback sends bug reports and ideas, optionally with a redacted diagnostic log that you can read in full before sending. The Pinterest entry is already shown in the app; connecting opens up once Pinterest approves production API access.

Fits into your workflow

You create inGravityPort keeps
Codex DesktopGenerated images and the matching local generation context when available
ChatGPT, Gemini, Flow, Google AI Studio, or Jimeng in ChromeOptional visible web-generated images/videos and conservative page-scoped context through the local extension
ChatGPT desktop appImages from desktop chats, picked up by the same extension (auto capture on) through your browser's ChatGPT session
Grok (Grok Build CLI)Images and videos from local sessions, with matched tool context when available

Cowart canvas archiving and other integrations are also supported; see the Chinese guide for setup.

Whatever the source, everything lands in the same local gallery with groups, stacks, Trash with undo, and the version tree. GravityPort does not generate media or replace any of these tools.

Platform status

TargetStatus
macOS arm64Main desktop target. DMG for first install, in-app updates afterwards.
Windows 10/11 x64Installer for first install, in-app updates afterwards. Not code-signed yet.

Run from source

For development, or to run GravityPort as a local web app without the desktop shell. Requires Node.js 22 or newer and npm.

bash
git clone https://github.com/fengseekling-coder/gravityport.gitcd gravityportnpm ci      # installs dependencies and builds the UInpm start   # starts the local service on 127.0.0.1:43517

Open http://127.0.0.1:43517. Run npm test to check your checkout. Codex Desktop and the Cowart plugin are optional integrations; the Chinese guide covers their setup and the complete source-by-source behavior.

The Electron desktop shell uses the same Web UI and local runtime:

bash
npm run desktop:start
# macOS arm64 DMGnpm run desktop:make
# Windows 10/11 x64 package directorynpm run desktop:package:windows

Desktop packaging needs Node.js 22.x; the repository pins 22.23.1 in .nvmrc and .node-version, and packaging commands stop with a clear message on any other major. Release tracks, signing, notarization, and manifest publishing are described in the release guide.

Local by design

  • GravityPort is a local Web UI bound to loopback; it is not a cloud service and must not be exposed through a public port or reverse proxy.
  • It reads only its configured Codex, Grok, and approved Cowart locations. It does not scan Downloads, Desktop, or arbitrary image folders.
  • Web Capture is optional. Packaged Desktop provisions its local ingest Token and fixed approved extension origins automatically; a standalone npm start runtime keeps capture disabled until those values are configured explicitly. The extension sends captured image bytes and page provenance only to the configured local GravityPort address. ChatGPT retains message-scoped context when available; the other supported sites retain only narrowly associated visible user Prompt text when it can be safely matched and mark it unverified — the extension's full site list is documented in PRIVACY.md. With auto capture on, the extension also captures images from conversations you just used in the ChatGPT desktop app by opening them briefly in a minimized browser window; see PRIVACY.md.
  • Eligible reference images are stored as private, content-hash-deduplicated generation-record attachments, not ordinary gallery assets.
  • The desktop app ships and downloads no AI model. GravityPort adds no remote sync or automatic upload of your library.
  • Packaged desktop builds send minimal install/activity metadata, keyed by a random installation ID, through a separate bodyless request to the same first-party release endpoint used for update metadata. This contains only the installation ID, version, platform, architecture, and first-launch/daily-active event, and never includes assets, Prompts, or local paths. See PRIVACY.md, which also explains how to turn it off.

See PRIVACY.md for the full data boundary and SECURITY.md for private vulnerability reporting.

Documentation

User guides:

Running and developing GravityPort:

  • Operations guide (English): operating modes, migration, backup, verification, bridge health, and recovery boundaries.
  • Release guide (English): distribution tracks, signing, update manifests, release notes, and optional pack publishing.
  • Architecture (中文): current runtime, storage, and integration layout.
  • Design system (中文): colors, type, spacing, components, and copy rules for the desktop interface.
  • Contributing guide: development workflow, checks, and privacy requirements.

Policies and history:

License

GravityPort is source-available under the PolyForm Shield License 1.0.0.

  • Anyone can use GravityPort for free, including at work and for client projects.
  • You can modify it and share copies, as long as you keep the license terms and the required copyright notice.
  • You may not use GravityPort's code to provide a product that competes with GravityPort, including renamed or lightly modified copies, even when offered for free. If you are unsure whether your use competes, see COMMERCIAL-LICENSE.md.

GravityPort is source-available software, not OSI-approved open-source software. v0.1.0 is the final release published under the MIT License; versions 0.2.0 through 0.3.5 were published under the PolyForm Noncommercial License 1.0.0, and copies obtained under those terms keep them.

Third-party attribution is documented separately in THIRD_PARTY_NOTICES.md and does not change GravityPort's own license terms.

Source: README.md at commit d4550d7

Tools

0
SourceWeft has not started this package in its sandbox yet, so its tools are not known.

Version history

1
  1. v0.3.9LatestNov 7, 2026

Score

40% of the applicable checks met

How complete this listing is, computed from the registry entry, the endpoint and public sources. Not a rating of the server and not a statement that it is safe or working today: reachability is a dated check, and no installs or reviews go into the score.

  • Reached in the last 30 days25 pts

    Keep the endpoint answering the MCP handshake; SourceWeft probes it every 30 days.

  • Auth declared10 pts

    Declare the credential headers in the registry entry, or keep the endpoint answering the probe so its auth can be classified.

  • Tools listed15 pts

    Answer tools/list without a credential, or ship a package that starts in a sandbox without one.

  • DescriptionRequired15 pts
  • Logo10 pts
  • Documentation15 pts
  • License10 pts

    Declare a license in the repository or the registry entry.

Other Port integrations