sync82

io.github.oito2v1.0.0Updated Oct 6, 2026

Persistent, structured project memory for AI coding agents, stored locally in SQLite.

VerifiedSTDIODesktop onlyDeveloper ToolsKnowledge & Memory

Overview

AI-generated overview

Gives an AI coding agent persistent, structured project memory stored locally in SQLite, recalled automatically across sessions.

What it does
sync82 stores a software project's goals, architecture, tech stack, decisions and progress in a local SQLite vault and exposes them to the agent through 18 MCP tools. The agent can load a whole project's context in one call, save a session in one call, search the vault, archive old dated entries, and export or import memory as plain Markdown. Six standard memory files per project are supported, plus custom files and subprojects for monorepos. A CLI registers the server in supported MCP clients.
When to use it
Useful when an AI coding agent should remember a project's context between sessions instead of being re-briefed each time. Suited to developers working on long-lived codebases, monorepos or plugin ecosystems who want local, private memory rather than a hosted service.
Requirements
A local process over stdio; a prebuilt binary for Linux, macOS or Windows needs no runtime, while building from source needs a Go toolchain. An MCP client such as Claude Code, Claude Desktop, Cursor, Zed, Codex, OpenCode, Antigravity or Cline. Claude Desktop users can install the .mcpb extension instead. No accounts, API keys or network service are declared.
Before you install
The server writes to and can permanently delete project memory: delete_project requires confirmation, and delete_memory only removes custom files while the six standard files are protected. The uninstall command with --purge deletes the default vault and config under ~/.sync82 after a separate confirmation. Memory is stored locally in one SQLite file per vault and stdio transport is used, so no data is sent to third parties by the server itself.

Installation

In SourceWeft

  1. Open sync82 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

sync82

[sync82 by OITO2 Labs — Persistent and shared memory among AI agents]

[CI] [Go Reference] [Go Version] [Release] [License] [Code: AI-Assisted]

🌐 Language: English · Português

sync82 is a Model Context Protocol (MCP) server that gives an AI coding agent persistent, structured memory of a software project across sessions — goals, architecture, tech stack, decisions, and progress, all stored locally and recalled automatically the next time the agent opens the project.

Table of Contents

Overview

Memory is stored in an embedded SQLite database and ships as a single self-contained binary — no runtime toolchain, no npm package, just sync82 on your PATH. The agent reads and writes it through MCP tools; you talk to the agent in plain language.

  • Six standard memory files per project, plus any custom file, for projects and their subprojects (monorepos, plugin ecosystems).
  • Automatic project discovery — a .sync82.json in the workspace means the agent never has to name the project again.
  • 18 MCP tools — load a whole project's context in one call, save a session in one call, search the whole vault, archive old history, export/import plain Markdown.
  • One-step client setup — sync82 install registers sync82 in Claude Code, Claude Desktop, Antigravity, Codex, OpenCode, Cursor, Zed and Cline; sync82 uninstall removes it.
  • Local and private — stdio transport only, no network service, one SQLite file per vault.
  • Verifiable releases — SHA-256 checksums, a Sigstore signature and GitHub build provenance attestations; a Claude Desktop extension (sync82.mcpb) and an MCP Registry entry.
FileKindPurpose
memoryoverwriteProject overview: name, description, goal
architectureoverwriteComponents and how they fit together
stackoverwriteLanguages, frameworks, infrastructure
decisionsappend-only, datedDecisions made and why
progressappend-only, datedWork completed, session by session
next_stepsoverwriteWhat to do next

Tools (18)

The AI agent calls these over MCP — it never touches the database directly. Full parameter reference in Tools Reference.

ToolWhat it does
list_projectsList every project and subproject in the vault
create_projectCreate a new project or subproject
delete_projectPermanently delete a project or subproject (requires confirmation)
rename_projectRename a project or subproject in place
get_vault_configReport the active vault path and config
list_filesList every memory file recorded for a project
read_memoryRead a memory file's content
write_memoryOverwrite a memory file's entire content
append_memoryAppend a dated entry to progress, decisions, or a custom append kind
delete_memoryDelete a custom memory file (the six standard files are protected)
archive_memoryArchive old dated entries, keeping only the last N days active
search_memoryCase-insensitive substring search across memory files
load_project_contextLoad a project's entire memory into one context block
check_project_healthReport which of the six standard files exist
init_project_memoryGuided initialization, with optional auto-detection from the codebase
update_project_memorySave a session's work (progress, decisions, next steps, etc.) in one call
export_memoryExport a project's memory to plain .md files on disk
import_memoryImport a project's memory from plain .md files — the inverse of export_memory

list_projects, list_files, check_project_health and search_memory also return JSON (format: "json"). Not sure what to type to your agent? See Example Prompts.

CLI commands

CommandWhat it does
sync82 (no args)Start the MCP server over stdio — this is what your client launches
sync82 install [target]Wire sync82 into one or all supported MCP clients
sync82 uninstall [target] [--purge]Remove sync82 from one or all clients; --purge also deletes ~/.sync82 files after a separate confirmation
sync82 config set-vault|get-vault|unset-vaultManage the global vault path override
sync82 self-update [--check] [--yes] | --rollbackCheck GitHub Releases and update the binary in place (--rollback restores the previous version)
sync82 export <project> [subproject] <output-dir>Dump a project's memory to plain .md files (--all for the whole vault)
sync82 import <project> [subproject] <input-dir> [--dry-run]Restore a project's memory from plain .md files (the inverse of export); --dry-run only reports what would change
sync82 help / --help / -hPrint the list of subcommands
sync82 version / --version / -vPrint the installed version

Full flags, exit codes, and examples for every command: CLI Reference.

Prerequisites & Quick Installation

Prerequisites: Linux, macOS, or Windows (amd64/arm64) — a release binary needs nothing else; building from source needs a Go toolchain matching go.mod (1.26+). You'll also need an MCP client (see Client Setup). Claude Desktop users can skip this section and install the .mcpb extension instead.

Two ways to get the binary on any OS — either works, but don't mix update mechanisms (see CLI Reference — self-update).

Linux

Prebuilt binary (no Go toolchain needed):

bash
curl -LO https://github.com/oito2/mcp-sync82/releases/latest/download/sync82_linux_amd64   # or sync82_linux_arm64curl -LO https://github.com/oito2/mcp-sync82/releases/latest/download/checksums.txtsha256sum -c checksums.txt --ignore-missing   # must print "sync82_linux_amd64: OK"chmod +x sync82_linux_amd64sudo mv sync82_linux_amd64 /usr/local/bin/sync82

From source (requires Go 1.26+ — download it from go.dev/dl; distribution packages such as Debian/Ubuntu's golang-go are usually older):

bash
go install github.com/oito2/mcp-sync82/cmd/sync82@latest

macOS

Prebuilt binary (no Go toolchain needed):

bash
curl -LO https://github.com/oito2/mcp-sync82/releases/latest/download/sync82_darwin_arm64   # Intel: sync82_darwin_amd64curl -LO https://github.com/oito2/mcp-sync82/releases/latest/download/checksums.txtgrep ' sync82_darwin_arm64$' checksums.txt | shasum -a 256 -c   # must print "sync82_darwin_arm64: OK"chmod +x sync82_darwin_arm64sudo mv sync82_darwin_arm64 /usr/local/bin/sync82

From source (requires a Go toolchain — brew install go):

bash
go install github.com/oito2/mcp-sync82/cmd/sync82@latest

Windows

Prebuilt binary (no Go toolchain needed — PowerShell):

powershell
$base = "https://github.com/oito2/mcp-sync82/releases/latest/download"Invoke-WebRequest -Uri "$base/sync82_windows_amd64.exe" -OutFile sync82_windows_amd64.exeInvoke-WebRequest -Uri "$base/checksums.txt" -OutFile checksums.txt$expected = ((Select-String -Path checksums.txt -SimpleMatch "sync82_windows_amd64.exe").Line -split '\s+')[0]if ((Get-FileHash sync82_windows_amd64.exe -Algorithm SHA256).Hash -ne $expected) { throw "checksum mismatch" }New-Item -ItemType Directory -Force "$env:LOCALAPPDATA\sync82" | Out-NullMove-Item sync82_windows_amd64.exe "$env:LOCALAPPDATA\sync82\sync82.exe"# add $env:LOCALAPPDATA\sync82 to PATH: System Properties > Environment Variables

From source (requires a Go toolchain — installer):

powershell
go install github.com/oito2/mcp-sync82/cmd/sync82@latest

Every release ships a checksums.txt (verified in the steps above), a Sigstore bundle signing it (checksums.txt.sigstore.json), and a GitHub build provenance attestation for every binary and the .mcpb bundle (gh attestation verify <file> --repo oito2/mcp-sync82) — see the Installation Guide.

go install/go build produces the final binary directly, ready to run — make sure $(go env GOPATH)/bin (or %GOBIN%/$GOBIN) is on your PATH; check with which sync82 (where sync82 on Windows).

Client Setup

Register sync82 in every supported client detected on your machine, in one step:

bash
sync82 install            # lists the detected clients, asks to confirm, configures each of themsync82 install claude     # configure a single client instead

Targets: claude, claude-desktop, antigravity, codex, opencode, cursor, zed, cline. Each client is registered with the absolute path of the sync82 binary you ran, so run sync82 install again if you move the binary. Each target prints configured. or updated.; a client that isn't detected (its command on PATH or its config directory) is skipped.

Claude Code by hand (user scope, every project):

bash
claude mcp add --scope user sync82 -- /usr/local/bin/sync82   # the path printed by `which sync82`claude mcp list

Claude Desktop — no binary needed: download sync82.mcpb and install it from Claude Desktop's Settings → Extensions → Advanced settings → Extension Developer → Install Extension…. sync82 is also listed in the MCP Registry as io.github.oito2/mcp-sync82.

Per-client guides, with manual configuration and troubleshooting: Claude Code · Claude Desktop · Antigravity · Codex · OpenCode · Cursor · Zed · Cline. Any other client just needs command set to the binary's absolute path — see Installer.

Update & Maintenance

bash
sync82 self-update --check   # report whether a newer release exists, without installing itsync82 self-update           # download, verify (SHA-256) and install the latest releasesync82 self-update --rollback   # restore the previous version, kept as <binary>.bak

self-update works on a release binary or a go install .../[email protected] build. If you installed with go install, update with go install github.com/oito2/mcp-sync82/cmd/sync82@latest instead — don't mix the two. The Claude Desktop extension is updated by installing a newer sync82.mcpb.

To remove sync82 from every detected client, run sync82 uninstall (add --purge to also delete the default vault and config in ~/.sync82) — see Uninstallation for the complete removal, binary included.

Documentation

The documentation site has the full detail (also in Portuguese):

Contributing: see CONTRIBUTING.md for the development workflow, the checks CI runs (go build ./..., go vet ./..., gofmt -l ., golangci-lint, go test ./... -race, govulncheck), and how releases are published. Everyone participating is expected to follow the Code of Conduct.

AI Usage in This Project

This project was developed with the assistance of generative AI tools:

  • Scope: Generation of boilerplate, unit tests and refactoring of helper functions.

  • Oversight: All generated code was manually reviewed, tested and validated before integration.

License

GPL-3.0 — see LICENSE.

Source: README.md at commit f169501

Tools

0
Tool metadata has not been indexed yet.

Version history

1
  1. v1.0.0LatestOct 6, 2026