slivingdoc

slivingdoc

Give agents and people a shared, conflict-aware notebook backed by S3

Open Source

Gallery

About slivingdoc

slivingdoc is an open-source MCP server and command-line tool that gives AI agents and people one shared directory of durable notes. The notebook is stored in an S3-compatible bucket, but agents work with ordinary UTF-8 files in a local directory. That makes it useful for context that is too loose for a database schema, such as investigation progress, project decisions, customer notes, runtime instructions, or reports from a fleet of workers. Sessions in Claude Code, Codex, or any other MCP host can pull the same notebook, add what they learned, and publish changes without introducing a separate editor or proprietary document format. People can join the same workflow from a terminal and any text editor, even without an MCP host.

The interface is deliberately small. The MCP server exposes notes_pull and notes_commit, and the CLI offers matching pull and commit operations. Pull reads the accepted notebook state and writes the whole notebook into a checkout directory. Agents or humans then edit those files with the tools they already use. Commit compares the current directory with its remembered baseline, incorporates the latest accepted state, and publishes the change. A checkout must be pulled before its first commit, which prevents a process from publishing a guess about state it has never seen. Successful results report the accepted generation and per-file insertion and deletion counts. Domain errors return a retry verdict and a suggested next step. There is no background daemon or hidden synchronization between operations.

Concurrency is handled with Git semantics behind the scenes and an optimistic publication model in S3. The accepted state is named by a small current manifest that points to immutable packs. Uploading a pack alone doesn't publish it, since the conditional manifest swap is what makes a proposal accepted. When two writers race, the bucket's conditional replacement accepts one update for the ETag they both observed. The other writer downloads the new state, merges what it missed, and retries with a fresh proposal. Non-overlapping work can therefore land without a lock, lease, or shared clock. If both writers changed the same lines, slivingdoc returns a CONTENT_CONFLICT result and writes standard conflict markers into the affected files rather than silently choosing a winner.

Conflicts remain ordinary text that an agent or person can resolve with the same editor used for the note. Structured errors identify every affected file and the relevant marker ranges, then the caller can remove the markers and commit again. Complete conflict blocks aren't accepted into the shared notebook. The storage layer also creates checkpoints after a configurable number of incremental packs, so a new reader can fetch a complete-state checkpoint and a short tail rather than replaying an ever-growing history. Checkpoint compaction happens asynchronously, doesn't block writers, and leaves accepted state untouched if a checkpoint attempt fails.

The design supports several practical patterns. Coding agents in different harnesses can share project context from one session to the next. Short-lived CI jobs, scheduled workers, and disposable sandboxes can recover memory after their local disks disappear. Production agents can keep customer needs, investigation state, and prior attempts in plain text. A large fleet can write reports into separate directories and let a human pull the combined notebook. Teams can also expose selected paths as read-only to agent processes, which works for instructions that a person updates through a fully writable process. A fixed workspace root lets people and agents share a visible directory, while the default MCP server uses a private scratch directory and treats the bucket as the durable boundary.

Setup requires a supported Node.js runtime, an existing bucket, and credentials available through the normal AWS chain. The project documents AWS S3, Tigris, MinIO, and other compatible stores that support conditional writes. Its npm launcher downloads the native binary for Linux, macOS, or Windows, verifies its checksum, and runs it, while native releases and an offline SeaweedFS example are also available. The included Terraform module can provision a bucket and a least-privilege IAM user for one notebook. The main limitation is intentional. The notebook accepts clean UTF-8 text, not binary files, and synchronization happens only when pull or commit is called. slivingdoc is free under the MIT license, though users still provide and pay for their own storage. It is a young project with a small community, but its public architecture, documentation, Terraform module, and CLI make the operating model inspectable.

Key Features

  • Shared S3-backed agent notebook
  • MCP and command-line access
  • Optimistic concurrent commits
  • Editable text conflict markers
  • Asynchronous storage checkpoints
  • Read-only agent paths

Pros & Cons

What we like

  • Uses ordinary files and existing editing tools
  • Concurrent writers can't silently overwrite accepted state
  • Works across agent hosts and temporary runners
  • Open architecture with an MIT license

Room for improvement

  • Requires an S3-compatible bucket and credentials
  • Supports UTF-8 text rather than binary files
  • Sync happens only on pull and commit
  • Young project with a small community

Frequently Asked Questions

What is slivingdoc?
slivingdoc is an MCP server and CLI that stores a shared directory of UTF-8 notes in an S3-compatible bucket. Agents and people edit ordinary local files, then pull and commit changes with Git-like conflict handling.
How does slivingdoc prevent agents from overwriting each other?
It publishes through a conditional replacement of the accepted manifest. A writer that loses a race merges the new state and retries, while overlapping line edits return explicit conflict markers for resolution.
What storage does slivingdoc require?
It requires an existing S3-compatible bucket that supports conditional writes and credentials from the normal AWS chain. The documentation names AWS S3, Tigris, and MinIO, and provides a SeaweedFS example for offline evaluation.
Is slivingdoc free?
Yes. slivingdoc is open source under the MIT license. Users still supply their own S3-compatible storage and are responsible for any costs from that provider.

Best For

Sharing context across coding agent sessionsPersisting memory for short-lived runnersCollecting reports from parallel agentsServing runtime instructions to agent fleets

Featured in

Alternatives to slivingdoc

Reviews (0)

No reviews yet

Be the first to share your experience with slivingdoc

Sign in to write a review

Badge builder

Add slivingdoc to your website

Choose a badge style and size, preview it here, then copy the generated HTML. Badge images are self-contained SVGs and do not require an external script.

slivingdoc badge preview
<a href="https://toolindex.net/tools/slivingdoc?ref=badge" target="_blank" rel="noopener">
  <img src="https://toolindex.net/badge/slivingdoc/medium.svg" alt="slivingdoc - Listed on Tool Index" width="180" height="50" />
</a>

How to use the badge

  1. 1. Pick the style, size, and theme that fit your layout.
  2. 2. Copy the generated HTML from the code block.
  3. 3. Paste it into your footer, homepage, or press page.

Standard badge available

The standard listing badge is available now. Score and circle badges are limited to tools currently ranked in the top 10 of a category.

Badge clicks return visitors to this profile with a referral tag so the source remains identifiable.