Skip to content
verify mcp Beta VerifyMCP is currently in beta. If you notice any issues, get in touch and we’ll put it right.

sync82

MCPB · SYNC82.MCPB

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

Available components

+32 this week 51 Trust /100

Last scanned (8 hours ago)

Scores higher than 87% of MCPB servers

Category Memory and Knowledge

Trust breakdown (7 categories)

How this component scores in each security and reliability category. Every signal is checked automatically from public evidence about the published package, including repeated runs of it in an isolated sandbox, and we only credit what we can confirm. How we score → Why this is hard to score →

Supply Chain Security0
  • No malware scan is available for this kind of package: the supply-chain vendors we use do not cover it. This is a permanent gap in our coverage, not a finding about the package.Unverified
  • Known CVEs could not be checked: we found no dependency list to check in this bundle: either it runs a compiled binary, whose bundled manifests we do not read, or none of the package.json, requirements.txt, pyproject.toml or uv.lock files it ships for its runtime declares a dependency we can read (a requirements.txt that only points at a setup.py project, a local path, or a nested requirements file we cannot follow counts as none).Unverified
  • Install-script risk not yet assessed.Unverified
  • Dependency health could not be checked: we found no dependency list to check in this bundle: either it runs a compiled binary, whose bundled manifests we do not read, or none of the package.json, requirements.txt, pyproject.toml or uv.lock files it ships for its runtime declares a dependency we can read (a requirements.txt that only points at a setup.py project, a local path, or a nested requirements file we cannot follow counts as none).Unverified
Provenance & Transparency97
  • Source repository is publicly reachable at the declared URL. View diagnostics → Pass
  • Cryptographically verified build provenance (signed, bound to oito2/mcp-sync82). View diagnostics → Pass
  • Clear OSI-approved license (GPL-3.0-or-later).Pass
  • Actively maintained (last published 8 days ago).Pass
  • Disclosure check failed: no security disclosure policy was found in the source repository. See how to fix → Fail
Schema Quality & AI Usability74
  • 100% of prompts and resources have a non-trivial description (not blank, and not just the item's name).Pass
  • AI-judged instruction clarity (excellent).Pass
  • Context-footprint check failed: tool/resource definitions use about 7787 tokens (~409/item across 19 items; 19 tools + 0 resources), over budget; trim descriptions and params. See how to fix → Fail
  • Usage-examples check failed: none of the tools include examples. See how to fix → Fail
Stability & Change Management0
  • Stability not yet verified: not enough scan history yet (needs a 30-day window).Unverified
Tool Coverage100
  • 100% of tools have a non-trivial description (not blank, and not just the tool's name).Pass
  • 100% of tool parameters carry a description.Pass
  • Structured output schemas are declared (21% of tools); any adoption earns full credit.Pass
Tool Safety100
  • No prompt-injection markers were found in the server instructions, tool names or descriptions we captured.Pass
  • All 3 tool(s) whose name or description implies an irreversible operation declare an MCP destructiveHint annotation.Pass
  • An AI judge read all 19 captured unit(s) of tool text and found none that tries to manipulate the model reading it.Pass
Capabilities100
  • Implements a current MCP spec version (2026-07-28).Pass

Unverified: 2 categories

Categories scored 0 because we could not verify them: a data source with nothing on this package, evidence we could not reach, or a check we could not run. We only credit what we can confirm.

Changelog

Every change we have recorded for this component, newest first. Security-relevant changes are always shown. ▲ marks a change for the better, ▼ a change for the worse; unmarked changes are neutral.

  • 14 Oct 26 +32
    • Injection markers: unverified → pass ▲ security
    • First check of Judged manipulation: pass security
    • Stability: Stability not yet verified: not enough scan history yet (needs a 30-day window). security
    • Tool coverage: unverified → 100 ▲ functional
    • Schema quality: unverified → 100 ▲ functional
    • MCP protocol: unverified → pass ▲ functional
    • First check of Schema quality: fail functional
    • First check of Schema quality: excellent functional
    • First check of Schema quality: fail functional
    • First check of Destructive annotations: 100 functional
    • First check of Tool coverage: 21 functional
    • First check of Tool coverage: 100 functional
  • 10 Oct 26 0
    • Package version: 1.0.0 → 1.3.0 functional
  • 7 Oct 26 19

    First indexed and scored.

Diagnostics

Diagnostic detail from the automated scan of this channel: what the scanner observed at each step, so you can see exactly where a check passed or failed. It is informational only and never changes the trust score.

Captured 17 Oct 2026 · Analysed mcpb/https://github.com/oito2/mcp-sync82/releases/download/v1.3.0/sync82.mcpb@1.3.0

Provenance Verified

A signed build attestation was found and verified, binding this exact artifact to the source repository it claims to come from.

Result Verified
Ecosystem mcpb
Reason Verified
Discovered via GitHub artifact attestations
Source repo oito2/mcp-sync82
Certificate issuer https://token.actions.githubusercontent.com
Certificate SAN https://github.com/oito2/mcp-sync82/.github/workflows/release.yml@refs/tags/v1.3.0
Rekor log index 3151351563
Predicate type SLSA build provenance https://slsa.dev/provenance/v1
Subject digest sha256:6afac2ba266d683b1adc9fb409364e13cc9a7e54a00f7adbafffcb286a2f972a

Background: How many MCP packages publish verified provenance →

MCP tools · 19 exposed · ~7,787 tokens

The tools this component advertises to a client, with an estimated token cost for each. Expand a tool to see its parameters and schema. The per-tool counts are indicative and are not scored directly; the schema's total context footprint is one signal in Schema Quality & AI Usability. A tool's description is untrusted text the model reads on every call, which is what makes this list a security surface and not just an inventory: how tool poisoning works →

Tool Tokens
append_memory ~312

Append a new dated entry to an append-only memory file (progress, decisions, or a custom kind). IMPORTANT: progress and decisions require a "## YYYY-MM-DD" date header somewhere in content. Overwrite-style files (memory, architecture, stack, next_steps, or a custom kind created with write_memory) are rejected — use write_memory for them.

NameTypeReqDescription
contentstringyesThe content to append. For "progress"/"decisions", must contain a "## YYYY-MM-DD" header.
filenamestringyesThe file/kind to append to (e.g. "progress", "decisions", or a custom name).
pathstring–Base path where the memory is stored. If left blank, uses the default vault path. A leading "~", "HOME" or "$HOME" (e.g. "~/vaults/work.db", "HOME/custom-vault") is expanded to the user's home direct…
projectstring–Project name. If omitted, auto-discovered from workspace_root or the last used project.
search_parent_dirsboolean–If true, also look for .sync82.json in parent directories above workspace_root (useful in monorepos, where the marker file lives at the repo root). Defaults to false — only workspace_root itself is c…
subprojectstring–Subproject name.
workspace_rootstring–Path to your project folder, used to auto-discover the project via .sync82.json.

No output schema declared.

No examples provided.

archive_memory ~474

Archive old dated entries from progress.md or decisions.md, keeping only the last N days active (counted in UTC). Entries without a date header are never archived. Archived entries leave the loaded context; to keep what they said, first call with dry_run: true (lists the entries that would be archived, writes nothing), read them with read_memory, then call again with summary: the summary is added as a new active entry in the same step, dated today (UTC) and headed "## YYYY-MM-DD — Summary of N archived entries (from … to …)" unless it has its own "## YYYY-MM-DD" header, which must not be older than the archive cutoff. The project must be given via project or workspace_root, not taken from the last session.

NameTypeReqDescription
dry_runboolean–List the entries that would be archived (date and first line) without changing anything.
filenamestringyesWhich append-only file to archive.
keep_daysinteger–Entries older than this many days are archived (default 90, maximum 36500).
pathstring–Base path where the memory is stored. If left blank, uses the default vault path. A leading "~", "HOME" or "$HOME" (e.g. "~/vaults/work.db", "HOME/custom-vault") is expanded to the user's home direct…
projectstring–Project name. If omitted, auto-discovered from workspace_root; unlike other tools, the last used project is refused.
search_parent_dirsboolean–If true, also look for .sync82.json in parent directories above workspace_root (useful in monorepos, where the marker file lives at the repo root). Defaults to false — only workspace_root itself is c…
subprojectstring–Subproject name.
summarystring–A summary of the entries being archived, written by you, added as one new active entry in the same step. Without its own "## YYYY-MM-DD" header it gets one dated today; its own header must not be old…
workspace_rootstring–Path to your project folder, used to auto-discover the project via .sync82.json.

No output schema declared.

No examples provided.

check_project_health ~499

Report which of the six standard memory files exist for a project. A missing current-state file (memory, architecture, stack, next_steps) makes the project unhealthy; progress or decisions with no entry yet only gets a warning. Other warnings point at memory that may be out of date: a current-state file (memory, architecture, stack, next_steps) not updated for stale_days (default 30) while progress or decisions got newer entries, a standard file still empty or holding the blank template, undated progress/decisions entries, and a log with more than 200 active entries. With all_projects: true it checks every project and subproject of the vault instead, one line each, then the details of the ones that are not healthy. Returns an error result (isError: true) when the project (or any project) is unhealthy (a current-state file is missing) — a deliberate signal for the calling agent to act on, not a crash; warnings alone never make it unhealthy.

NameTypeReqDescription
all_projectsboolean–Check every project and subproject of the vault (the one named by path, or the default vault) instead of one project. Can't be combined with project, subproject or workspace_root.
formatstring–"text" (default) for readable text, or "json" for a JSON document with the same information, also returned as structured content.
pathstring–Base path where the memory is stored. If left blank, uses the default vault path. A leading "~", "HOME" or "$HOME" (e.g. "~/vaults/work.db", "HOME/custom-vault") is expanded to the user's home direct…
projectstring–Project name. If omitted, auto-discovered from workspace_root or the last used project.
search_parent_dirsboolean–If true, also look for .sync82.json in parent directories above workspace_root (useful in monorepos, where the marker file lives at the repo root). Defaults to false — only workspace_root itself is c…
stale_daysinteger–Days after which a current-state file older than the newest progress/decisions entry is reported as possibly out of date (default 30).
subprojectstring–Subproject name.
workspace_rootstring–Path to your project folder, used to auto-discover the project via .sync82.json.
NameTypeReqDescription
filesobject––
healthybooleanyes–
projectstring––
projectsarray––
vaultstringyes–
warningsarray––

No examples provided.

create_project ~143

Create a new project (or subproject of an existing project) in the vault. Safe to call again — an existing project is reported, not duplicated.

NameTypeReqDescription
pathstring–Base path where the memory is stored. If left blank, uses the default vault path. A leading "~", "HOME" or "$HOME" (e.g. "~/vaults/work.db", "HOME/custom-vault") is expanded to the user's home direct…
projectstringyesProject name (alphanumeric, hyphens, underscores).
subprojectstring–Subproject name. When provided, creates it under "project" instead of at the vault root.

No output schema declared.

No examples provided.

delete_memory ~297

Permanently delete a custom memory file. Requires confirm: true — ask the user before calling this with confirm: true. The six standard files (memory, architecture, stack, decisions, progress, next_steps) cannot be deleted this way — use write_memory to clear their content instead. The project must be given via project or workspace_root, not taken from the last session.

NameTypeReqDescription
confirmbooleanyesMust be true to confirm permanent deletion. Ask the user before setting this.
filenamestringyesThe custom file/kind to delete.
pathstring–Base path where the memory is stored. If left blank, uses the default vault path. A leading "~", "HOME" or "$HOME" (e.g. "~/vaults/work.db", "HOME/custom-vault") is expanded to the user's home direct…
projectstring–Project name. If omitted, auto-discovered from workspace_root; unlike other tools, the last used project is refused.
search_parent_dirsboolean–If true, also look for .sync82.json in parent directories above workspace_root (useful in monorepos, where the marker file lives at the repo root). Defaults to false — only workspace_root itself is c…
subprojectstring–Subproject name.
workspace_rootstring–Path to your project folder, used to auto-discover the project via .sync82.json.

No output schema declared.

No examples provided.

delete_project ~250

Permanently delete a project or subproject from the vault. Requires confirm: true — ask the user before calling this with confirm: true. A top-level project with subprojects also needs subproject_action; with "delete_all", pass expected_subprojects, the number of subprojects you showed the user, and nothing is deleted when the vault holds another number.

NameTypeReqDescription
confirmbooleanyesMust be true to confirm permanent deletion. Ask the user before setting this.
expected_subprojectsinteger–Required with subproject_action "delete_all": the number of subprojects shown to the user. Nothing is deleted when the project has another number.
pathstring–Base path where the memory is stored. If left blank, uses the default vault path. A leading "~", "HOME" or "$HOME" (e.g. "~/vaults/work.db", "HOME/custom-vault") is expanded to the user's home direct…
projectstringyesProject name to delete.
subprojectstring–Subproject name. When provided, only that subproject is deleted.
subproject_actionstring–Required only when deleting a top-level project that has subprojects.

No output schema declared.

No examples provided.

edit_entry ~559

Change one entry of an append-only memory file (progress, decisions, or a custom append kind), identified by entry_id — get the ids from read_memory with with_ids: true (add archived: true for an archived entry), or from search_memory with format "json". action "replace" rewrites the entry in place (its position is kept; for progress/decisions content must contain a "## YYYY-MM-DD" header, which also sets the entry's date). action "supersede" appends content as a new entry and adds a "> Superseded by entry N on YYYY-MM-DD." line (today in UTC) to the old one, keeping the history auditable — prefer it when a decision changed rather than was wrong; an archived entry can't be superseded. action "delete" removes the entry permanently and requires confirm: true — ask the user first. The project must be given via project or workspace_root, not taken from the last session.

NameTypeReqDescription
actionstringyes"replace": rewrite the entry in place. "supersede": append content as a new entry and mark the old one as superseded. "delete": remove the entry (requires confirm: true).
confirmboolean–Must be true for action delete. Ask the user before setting this.
contentstring–The new entry text, required for replace and supersede. For "progress"/"decisions", must contain a "## YYYY-MM-DD" header.
entry_idintegeryesThe entry's id, as shown by read_memory with with_ids: true ("<!-- entry:N -->") or by search_memory's JSON output (entry_id).
filenamestringyesThe append-only file/kind the entry belongs to (e.g. "progress", "decisions", or a custom name).
pathstring–Base path where the memory is stored. If left blank, uses the default vault path. A leading "~", "HOME" or "$HOME" (e.g. "~/vaults/work.db", "HOME/custom-vault") is expanded to the user's home direct…
projectstring–Project name. If omitted, auto-discovered from workspace_root; unlike other tools, the last used project is refused.
search_parent_dirsboolean–If true, also look for .sync82.json in parent directories above workspace_root (useful in monorepos, where the marker file lives at the repo root). Defaults to false — only workspace_root itself is c…
subprojectstring–Subproject name.
workspace_rootstring–Path to your project folder, used to auto-discover the project via .sync82.json.

No output schema declared.

No examples provided.

export_memory ~381

Export a project's memory to plain Markdown files (one per kind, e.g. memory.md, progress.md) on the local filesystem, for browsing or git-diffing outside an MCP client. output_dir must be absolute (or start with ~/ or HOME/) and may be any directory the server process can write to — it is not confined to the project's own vault or workspace; it is created if missing. Existing files are never replaced unless overwrite is true, and a destination that is a symlink or special file is always refused. A kind with archived entries also gets a <kind>.archived.md file holding them.

NameTypeReqDescription
output_dirstringyesAbsolute directory (or starting with ~/ or HOME/) to write the exported .md files into. Required. Not confined to the vault or workspace. Created if missing.
overwriteboolean–Replace .md files that already exist in output_dir. Without it, the export is refused when any destination file exists, and nothing is written.
pathstring–Base path where the memory is stored. If left blank, uses the default vault path. A leading "~", "HOME" or "$HOME" (e.g. "~/vaults/work.db", "HOME/custom-vault") is expanded to the user's home direct…
projectstring–Project name. If omitted, auto-discovered from workspace_root or the last used project.
search_parent_dirsboolean–If true, also look for .sync82.json in parent directories above workspace_root (useful in monorepos, where the marker file lives at the repo root). Defaults to false — only workspace_root itself is c…
subprojectstring–Subproject name.
workspace_rootstring–Path to your project folder, used to auto-discover the project via .sync82.json.

No output schema declared.

No examples provided.

get_vault_config ~190

Report the current effective vault configuration: active vault path, global config, and (if workspace_root is given) the local .sync82.json config for that workspace.

NameTypeReqDescription
pathstring–Base path where the memory is stored. If left blank, uses the default vault path. A leading "~", "HOME" or "$HOME" (e.g. "~/vaults/work.db", "HOME/custom-vault") is expanded to the user's home direct…
search_parent_dirsboolean–If true, also look for .sync82.json in parent directories above workspace_root (useful in monorepos, where the marker file lives at the repo root). Defaults to false — only workspace_root itself is c…
workspace_rootstring–Path to your project folder. If provided, the report also includes the local .sync82.json config for that workspace, if one exists.

No output schema declared.

No examples provided.

import_memory ~486

Import a project's memory from plain Markdown files (one per kind, e.g. memory.md, progress.md) previously produced by export_memory — the inverse operation. Creates the project if it doesn't exist yet. Destructive per kind: an existing kind's content is overwritten, not merged, the same as write_memory; a <kind>.archived.md file restores that kind's archived entries, which are otherwise kept. input_dir must be absolute (or start with ~/ or HOME/) and may be any directory the server process can read — it is not confined to the vault or workspace. Symlinks, special files, files over 10 MB and README.md, CHANGELOG.md, LICENSE.md, CONTRIBUTING.md and CODE_OF_CONDUCT.md are skipped; the files may hold at most 64 MB in total. The import is all or nothing, and the result lists which files create a new kind and which overwrite an existing one; with dry_run: true nothing is written and the result shows what would happen.

NameTypeReqDescription
dry_runboolean–Report what the import would create and overwrite without writing anything.
input_dirstringyesAbsolute directory (or starting with ~/ or HOME/) to read exported .md files from. Required. Not confined to the vault or workspace. Every "<kind>.md" file present is imported; files that aren't vali…
pathstring–Base path where the memory is stored. If left blank, uses the default vault path. A leading "~", "HOME" or "$HOME" (e.g. "~/vaults/work.db", "HOME/custom-vault") is expanded to the user's home direct…
projectstring–Project name. If omitted, auto-discovered from workspace_root; unlike other tools, the last used project is refused.
search_parent_dirsboolean–If true, also look for .sync82.json in parent directories above workspace_root (useful in monorepos, where the marker file lives at the repo root). Defaults to false — only workspace_root itself is c…
subprojectstring–Subproject name.
workspace_rootstring–Path to your project folder, used to auto-discover the project via .sync82.json.

No output schema declared.

No examples provided.

init_project_memory ~850

Initialize memory files for a project or subproject with structured content. STEP 1 — VAULT SELECTION If the user has not explicitly specified a vault path, call get_vault_config first. If global_vault_configured is true, ask: "A global vault is configured at <global_vault_path>. Do you want to use it? (yes/no)" - Yes → pass that path as "path". No → leave "path" empty. STEP 2 — PROJECT OR SUBPROJECT? IMPORTANT: Before calling this tool, determine whether the target is a top-level project or a subproject. Clues that it IS a subproject: words like "plugin", "module", "package", "extension", "component", "library", "service" in the user's request. When uncertain: ASK the user — "Is this a subproject of an existing project? If yes, which project?" If it is a subproject, set both "project" (the parent) and "subproject" (the component name). If workspace_root is provided: - The tool reads .sync82.json at workspace_root itself (pass search_parent_dirs: true to also look in parent directories, e.g. a monorepo root). - If found with a "subproject" field: re-initializes that subproject. - If found with only "project": re-initializes the root project. - If not found: creates a new .sync82.json at workspace_root. STEP 3 — PROJECT DATA Ask the user: "How do you want to define the project data? 1. Auto-analyze (recommended — I will read the project files) 2. Enter manually" If option 1: set auto_detect: true with workspace_root. If option 2: ask these questions (skip any the user can't answer yet): 1. What does the project do? (description) 2. What is the main goal? 3. What is the current phase? (planning / mvp / active / maintenance) 4. Describe the architecture briefly. 5. What are the main components? (comma-separated) 6. What languages are used? 7. What frameworks and libraries are used? 8. What infrastructure is used? 9. What are the immediate next tasks? Only files that are empty or contain the blank template will be written.

NameTypeReqDescription
architecture_overviewstring–Brief architecture description.
auto_detectboolean–When true, analyzes the files at workspace_root to infer description, languages, frameworks, and infrastructure automatically. Requires workspace_root.
componentsstring–Main components, comma-separated.
descriptionstring–What the project does.
frameworksstring–Frameworks and libraries used.
goalstring–The main goal or objective.
infrastructurestring–Infrastructure and hosting.
languagesstring–Programming languages used.
next_stepsstring–Immediate next tasks, comma or newline separated.
pathstring–Base path where the memory is stored. If left blank, uses the default vault path. A leading "~", "HOME" or "$HOME" (e.g. "~/vaults/work.db", "HOME/custom-vault") is expanded to the user's home direct…
phasestring–Current phase: planning / mvp / active / maintenance.
projectstring–Project name. If omitted, auto-discovered from workspace_root or the last used project.
search_parent_dirsboolean–If true, also look for .sync82.json in parent directories above workspace_root (useful in monorepos, where the marker file lives at the repo root). Defaults to false — only workspace_root itself is c…
subprojectstring–Subproject name, if this is a component of an existing project.
workspace_rootstring–Path to your project folder. Enables .sync82.json auto-discovery for future sessions, and is required when auto_detect is true.

No output schema declared.

No examples provided.

list_files ~254

List every memory file (document or entries kind) recorded for a project.

NameTypeReqDescription
formatstring–"text" (default) for readable text, or "json" for a JSON document with the same information, also returned as structured content.
metadataboolean–When true, include size, estimated tokens, and last-modified date per file.
pathstring–Base path where the memory is stored. If left blank, uses the default vault path. A leading "~", "HOME" or "$HOME" (e.g. "~/vaults/work.db", "HOME/custom-vault") is expanded to the user's home direct…
projectstring–Project name. If omitted, auto-discovered from workspace_root or the last used project.
search_parent_dirsboolean–If true, also look for .sync82.json in parent directories above workspace_root (useful in monorepos, where the marker file lives at the repo root). Defaults to false — only workspace_root itself is c…
subprojectstring–Subproject name.
workspace_rootstring–Path to your project folder, used to auto-discover the project via .sync82.json.
NameTypeReqDescription
filesarrayyes–
projectstringyes–
vaultstringyes–

No examples provided.

list_projects ~113

List every project and subproject currently in the vault.

NameTypeReqDescription
formatstring–"text" (default) for readable text, or "json" for a JSON document with the same information, also returned as structured content.
pathstring–Base path where the memory is stored. If left blank, uses the default vault path. A leading "~", "HOME" or "$HOME" (e.g. "~/vaults/work.db", "HOME/custom-vault") is expanded to the user's home direct…
NameTypeReqDescription
projectsarrayyes–
vaultstringyes–

No examples provided.

load_project_context ~547

Load a project's memory (every non-blank file) concatenated into one context block, ready to paste into a new session. Overwrite-style files (memory, architecture, stack, next_steps) are always included in full, since they represent current state, not history, and come first. By default (mode "summary") only the 10 most recent dated entries of each log (progress, decisions, custom append kinds) are included and the response is cut at 40 KB; a footer says how many entries were left out. mode "full" includes every entry, cut at 200 KB. "since", "max_entries" and "max_bytes" override these defaults; the response is cut at max_bytes with a note saying so.

NameTypeReqDescription
filesarray–Only load these specific files/kinds, instead of everything.
max_bytesinteger–Cut the response at this many bytes (default 40960, i.e. 40 KB, in summary mode; 204800, i.e. 200 KB, in full mode), with a note when it is cut.
max_entriesinteger–Only include the most recent N dated entries per append-only kind (summary mode default: 10). Overwrite-style files are unaffected.
modestring–"summary" (default): the 10 most recent dated entries per log, cut at 40 KB. "full": every entry, cut at 200 KB. since, max_entries and max_bytes override these defaults.
pathstring–Base path where the memory is stored. If left blank, uses the default vault path. A leading "~", "HOME" or "$HOME" (e.g. "~/vaults/work.db", "HOME/custom-vault") is expanded to the user's home direct…
projectstring–Project name. If omitted, auto-discovered from workspace_root or the last used project.
search_parent_dirsboolean–If true, also look for .sync82.json in parent directories above workspace_root (useful in monorepos, where the marker file lives at the repo root). Defaults to false — only workspace_root itself is c…
sincestring–Only include dated entries (progress, decisions, custom append kinds) on or after this date ("YYYY-MM-DD"). Undated entries are always included. Overwrite-style files are unaffected. In summary mode,…
subprojectstring–Subproject name.
workspace_rootstring–Path to your project folder, used to auto-discover the project via .sync82.json.

No output schema declared.

No examples provided.

read_memory ~462

Read a memory file's content. For an append-only kind (progress, decisions, or a custom append kind), returns every non-archived entry concatenated in date order. With with_ids: true, each entry is preceded by a "<!-- entry:N -->" line giving the id that edit_entry takes; these lines are never stored if the content is written back. With archived: true, it returns only the entries archive_memory archived instead, so with with_ids: true they can be replaced or deleted with edit_entry. The response is cut at max_bytes (default 1 MB) with a note saying so; load_project_context with since or max_entries reads part of a long log.

NameTypeReqDescription
archivedboolean–Read only the archived entries of an append-only kind instead of the active ones. An overwrite-style file has no archived entries and is refused.
filenamestringyesThe file/kind to read (e.g. "memory", "progress", or a custom name).
max_bytesinteger–Size cap of the response in bytes (default 1048576, i.e. 1 MB). Longer content is cut at a line break, with a note.
pathstring–Base path where the memory is stored. If left blank, uses the default vault path. A leading "~", "HOME" or "$HOME" (e.g. "~/vaults/work.db", "HOME/custom-vault") is expanded to the user's home direct…
projectstring–Project name. If omitted, auto-discovered from workspace_root or the last used project.
search_parent_dirsboolean–If true, also look for .sync82.json in parent directories above workspace_root (useful in monorepos, where the marker file lives at the repo root). Defaults to false — only workspace_root itself is c…
subprojectstring–Subproject name.
with_idsboolean–Put a "<!-- entry:N -->" line before each entry of an append-only kind, with the id edit_entry takes. No effect on overwrite-style files.
workspace_rootstring–Path to your project folder, used to auto-discover the project via .sync82.json.

No output schema declared.

No examples provided.

rename_project ~189

Rename a project or subproject in place. Does not update any .sync82.json elsewhere that already points at the old name — those must be re-initialized (init_project_memory) or edited by hand afterward.

NameTypeReqDescription
new_namestringyesThe new name (alphanumeric, hyphens, underscores).
pathstring–Base path where the memory is stored. If left blank, uses the default vault path. A leading "~", "HOME" or "$HOME" (e.g. "~/vaults/work.db", "HOME/custom-vault") is expanded to the user's home direct…
projectstringyesThe project to rename. When "subproject" is also given, renames that subproject instead of the top-level project.
subprojectstring–The subproject to rename, if renaming a subproject rather than the top-level project.

No output schema declared.

No examples provided.

search_memory ~643

Search memory files. By default (match "words") finds the documents and entries holding every word of the query, in any order, ignoring case and accents ("decisao" finds "Decisão"), best matches first; a word ending in "*" matches as a prefix ("instal*"). match "phrase" needs the words in that order; match "exact" finds a literal case-insensitive substring, for paths or identifiers with punctuation. kinds limits the search to some files; since/until to dated entries in a date range. No project given searches the whole vault; project only searches that project and all its subprojects; project+subproject searches just that subproject. Each match is labeled project/file:line, or project/file[YYYY-MM-DD]:line for an entry of a dated log (line counted within that entry).

NameTypeReqDescription
context_linesinteger–Number of surrounding lines to include per match (0-20, default 0).
formatstring–"text" (default) for readable text, or "json" for a JSON document with the same information, also returned as structured content.
kindsarray–Only search these files/kinds (e.g. ["decisions"]).
limitinteger–Maximum number of results to return (1-1000, default 100).
matchstring–"words" (default): every word, any order, accents and case ignored, ranked by relevance, "word*" for a prefix. "phrase": the words in that order. "exact": a literal case-insensitive substring, in fil…
offsetinteger–Number of results to skip, for pagination (default 0).
pathstring–Base path where the memory is stored. If left blank, uses the default vault path. A leading "~", "HOME" or "$HOME" (e.g. "~/vaults/work.db", "HOME/custom-vault") is expanded to the user's home direct…
projectstring–Limit the search to this project (and its subprojects, unless subproject is also given).
querystringyesWhat to search for, on a single line: words (match "words", the default), a phrase (match "phrase") or a literal substring (match "exact").
search_parent_dirsboolean–If true, also look for .sync82.json in parent directories above workspace_root (useful in monorepos, where the marker file lives at the repo root). Defaults to false — only workspace_root itself is c…
sincestring–Only search dated entries on or after this date ("YYYY-MM-DD"); documents and undated entries are left out.
subprojectstring–Limit the search to this specific subproject (requires project or workspace_root).
untilstring–Only search dated entries on or before this date ("YYYY-MM-DD"); documents and undated entries are left out.
workspace_rootstring–Path to your project folder, used to auto-discover the project via .sync82.json when project isn't given.
NameTypeReqDescription
next_offsetinteger––
querystringyes–
resultsarrayyes–
scan_truncatedboolean––
substring_fallbackboolean––

No examples provided.

update_project_memory ~835

Save session work to the project memory in a single call. USE THIS TOOL when the user says something vague like: - "update the memory" - "save what we did today" - "record this session" - "update the project notes" FLOW — follow these steps before calling: 1. If the vault context is not already loaded, call load_project_context first to understand what is already recorded and avoid duplicating information. 2. Analyze the current conversation and identify what changed: - Decisions made → "decisions" field - Work completed, features implemented → "progress" field - Updated list of upcoming tasks → "next_steps" field - Changed understanding of the project purpose or status → "memory" field - Architectural changes → "architecture" field - New tools, libraries, or infrastructure added → "stack" field - Custom files (e.g. api, testing) → "custom" field 3. Populate only the fields that actually changed. Leave others unset. PROJECT — pass "project" or "workspace_root" when any field overwrites (next_steps, memory, architecture, stack, or a custom item with mode "write"): a project taken only from the last session is refused for them. Appends alone (progress, decisions, custom "append") may use it. WRITE RULES — how each field is stored: - "progress" → APPENDED to progress (log, never overwrites history) - "decisions" → APPENDED to decisions (log, never overwrites history) - "next_steps" → OVERWRITES next_steps (always reflects current state) - "memory" → OVERWRITES memory (always reflects current state) - "architecture" → OVERWRITES architecture - "stack" → OVERWRITES stack - "custom" → each item uses its own mode ("append" or "write", default "append") FORMAT GUIDANCE: - For appended fields (progress, decisions): the date header "## YYYY-MM-DD" is REQUIRED and enforced. Example: "## 2026-04-23\n- Implemented OAuth2 token validation\n- Files: auth/token.go" Without this header the write will be reject…

NameTypeReqDescription
architecturestring–Overwrites architecture with the full updated content.
customarray–Custom files outside the six standard ones, each with its own write mode.
decisionsstring–Appended to decisions. Must contain a "## YYYY-MM-DD" date header.
memorystring–Overwrites memory with the full updated content.
next_stepsstring–Overwrites next_steps with the full updated content.
pathstring–Base path where the memory is stored. If left blank, uses the default vault path. A leading "~", "HOME" or "$HOME" (e.g. "~/vaults/work.db", "HOME/custom-vault") is expanded to the user's home direct…
progressstring–Appended to progress. Must contain a "## YYYY-MM-DD" date header.
projectstring–Project name. If omitted, auto-discovered from workspace_root or the last used project; the last used project is refused when any field overwrites.
search_parent_dirsboolean–If true, also look for .sync82.json in parent directories above workspace_root (useful in monorepos, where the marker file lives at the repo root). Defaults to false — only workspace_root itself is c…
stackstring–Overwrites stack with the full updated content.
subprojectstring–Subproject name.
workspace_rootstring–Path to your project folder, used to auto-discover the project via .sync82.json.

No output schema declared.

No examples provided.

write_memory ~303

Overwrite a memory file's entire content. Destructive: for append-only kinds (progress, decisions, or a custom kind created with append_memory), this replaces every non-archived entry, not just the latest one — use append_memory to add without losing prior entries. Archived entries are kept. The project must be given via project or workspace_root, not taken from the last session.

NameTypeReqDescription
contentstringyesThe new full content.
filenamestringyesThe file/kind to overwrite (e.g. "memory", "progress", or a custom name).
pathstring–Base path where the memory is stored. If left blank, uses the default vault path. A leading "~", "HOME" or "$HOME" (e.g. "~/vaults/work.db", "HOME/custom-vault") is expanded to the user's home direct…
projectstring–Project name. If omitted, auto-discovered from workspace_root; unlike other tools, the last used project is refused.
search_parent_dirsboolean–If true, also look for .sync82.json in parent directories above workspace_root (useful in monorepos, where the marker file lives at the repo root). Defaults to false — only workspace_root itself is c…
subprojectstring–Subproject name.
workspace_rootstring–Path to your project folder, used to auto-discover the project via .sync82.json.

No output schema declared.

No examples provided.

Install

How do I install the sync82 MCP server?

sync82 ships as an MCPB bundle, a single file you download and open in an MCP host that supports MCPB bundles, such as Claude Desktop. The host reads the launch command from the bundle's own manifest, so there is no command to copy. Before opening it, check the file's SHA-256 matches the one the MCP registry declares for it, 6afac2ba266d683b1adc9fb409364e13cc9a7e54a00f7adbafffcb286a2f972a; the commands to do that are on this page. If it does not match, do not open it.

mcpb · sync82.mcpb

Download bundle

Check the download matches the SHA-256 the MCP registry declares before you open it. If it does not match, do not open the file.

SHA-256

6afac2ba266d683b1adc9fb409364e13cc9a7e54a00f7adbafffcb286a2f972a

macOS / Linux

echo "6afac2ba266d683b1adc9fb409364e13cc9a7e54a00f7adbafffcb286a2f972a  sync82.mcpb" | shasum -a 256 -c

Windows (PowerShell)

(Get-FileHash -Algorithm SHA256 .\sync82.mcpb).Hash -eq "6afac2ba266d683b1adc9fb409364e13cc9a7e54a00f7adbafffcb286a2f972a"

Run it in the folder you saved the bundle to, then open the file with an MCPB-capable host such as Claude Desktop.

Common questions

What is the sync82 MCP server?

sync82 is an MCP server listed in the public MCP registry as io.github.oito2/mcp-sync82. Persistent, structured project memory for AI coding agents, stored locally in SQLite. This page covers its MCPB bundle (https://github.com/oito2/mcp-sync82/releases/download/v1.3.0/sync82.mcpb).

Is the sync82 MCP server safe to use?

sync82 scores 51 out of 100 on VerifyMCP. Its build provenance is signed and verified. That is a record of what we were able to check automatically, not an endorsement. The category breakdown on this page shows every signal behind the number, including the ones we could not confirm.

What tools does the sync82 MCP server expose?

sync82 exposes 19 tools: append_memory, archive_memory, check_project_health, create_project, delete_memory, and 14 more. Their descriptions and schemas cost roughly 7,787 tokens of context every time the server is loaded.

What licence is the sync82 MCP server under?

sync82 declares the GPL-3.0-or-later licence, which is OSI-approved. That covers the source only, and says nothing about the cost of any service it calls.