Tether logo

Tether

Stores durable agent memories in local SQLite, with optional Turso/libSQL sync and hybrid recall.

Install Tether

Pick your client, then add it in one click or paste the config.

STDIOPython
~/Library/Application Support/Claude/claude_desktop_config.json
claude_desktop_config.json
{
  "mcpServers": {
    "tether": {
      "command": "uvx",
      "args": [
        "tether-memory"
      ]
    }
  }
}

Settings → Developer → Edit Config, merge this into mcpServers, then fully quit and reopen Claude Desktop.

Install not yet sandbox-tested— we haven't run this command through our automated sandbox yet. Not a red flag; we're working through the catalog.

Overview

The tether MCP server gives compatible agents durable memory through a local SQLite file, using remember, recall, link, and forget tools. It loads a compact boot index for each session and combines FTS5 keyword search with optional semantic and associative recall. Use it when an agent needs personal or project context to persist across sessions or devices. Local operation requires no account or network, while optional Turso/libSQL configuration enables cross-device replication.

Use cases

  • Remember project decisions across agent sessions
  • Recall user preferences from a local memory store
  • Link related notes for associative retrieval
  • Sync agent memory across devices with Turso
  • Forget outdated memories and propagate tombstones

Key features

  • Local SQLite storage with zero required configuration
  • Remember, recall, link, and forget tools
  • FTS5 keyword search with optional semantic recall
  • Automatic boot index for session context
  • Project-aware tagging and ranking
  • Optional Turso/libSQL embedded-replica sync

Security & health

What it can reach and how reliably it runs — from our own checks, not the maintainer’s claims.

ActiveLast checked 3d ago

Recent health check succeeded.

7/7 checks healthy over the last 40d

Supply-chain signal

No high-severity advisories surfaced by our automated scan.

Critical 0High 0Medium 0Low 0

Scanned 11d ago via OSV.dev · tether-memory (PyPI)

Adoption & maintenance

Factual signals from GitHub, npm, and our automated checks — not a rating.

GitHub stars1Stargazers on the source repository.
Last commit1mo agoMost recent push to the default branch.

How Tether works

What the tether MCP server does

tether provides a shared memory layer for agents that communicate through MCP. Memories can store facts about a user, project decisions, preferences, references, and other durable notes. The core operations are remember, recall, link, and forget; enabling crystallization adds dismiss_cluster for reflection control rather than ordinary memory storage.

The tether MCP server keeps data in SQLite by default and exposes it to any compatible agent. A compact boot index is loaded at session start, giving the agent a one-line-per-memory view without requiring an initial search. Memories include identifiers, types, titles, bodies, tags, and update timestamps. Recall results also include a via receipt describing why a result was returned.

How it works

Writes use upsert behavior to reduce near-duplicate records. Recall uses SQLite FTS5 over titles, bodies, and tags, with BM25 ranking and English stemming enabled by default. Optional semantic search adds local static embeddings, while the associative layer can use explicit links, co-recall history, and semantic neighbors to find related memories. Each layer is additive and can fall back to keyword recall when unavailable.

When project awareness is active, the project name comes from CLAUDE_PROJECT_DIR or the TETHER_PROJECT override. Work-related memories can receive a proj:<name> tag automatically, and project matches receive a modest ranking preference. User memories remain global. Parallel memory operations are designed to return atomic, correctly reported results.

Setup and configuration

Python 3.10 or newer is required on Linux, macOS, or Windows. Install the package with pip install tether-memory, or run it through uvx tether-memory. Claude Code can register the command as an MCP server. The default database path is ~/.local/share/tether/memory.db; Windows uses %LOCALAPPDATA%\\tether\\memory.db. TETHER_DB overrides the path, and XDG_DATA_HOME is honored on every platform.

The tether MCP server needs no environment variables for local-only use. Optional project settings include TETHER_PROJECT, where off disables project awareness. For sync, install the sync extra and set TETHER_SYNC_URL plus TETHER_SYNC_TOKEN for a Turso or libSQL database. TETHER_SYNC_READ_INTERVAL controls read-side pulls, and TETHER_DEVICE_ID identifies the device recorded with memories.

Tools and capabilities

  • remember: create or update durable notes.
  • recall: search memories using keyword, optional semantic, and associative retrieval.
  • link: create relationships between memories.
  • forget: remove memories, with synchronized tombstones when applicable.
  • dismiss_cluster: control crystallization reflections when that feature is enabled.
  • Boot index: surface a compact memory list at session startup.
  • Project-aware tagging and ranking for supported project environments.
  • Optional embedded-replica sync with a hosted Turso/libSQL primary.

Limitations and notes

Sync is optional and uses a single-primary design. Writes normally propagate to the hosted primary, while replicas pull updates. If the backend is unavailable, the local database continues serving requests. Writes made during degraded sync remain only on that device and are not merged automatically later. Reads may trigger debounced pulls, but a slow backend does not block the current local recall.

With associative recall enabled on a replica, searches can generate additional writes for learned co-recall relationships and may require extra network round trips. Set TETHER_ASSOC=0 when read-only recall is preferred. FTS5 stemming is English-specific; it can be disabled with TETHER_FTS_STEMMING.

Reviews

No reviews yet — be the first to share how it worked for you.

Frequently Asked Questions about Tether

tether is an MCP server that connects compatible agents to a local SQLite memory store, with optional Turso or libSQL synchronization across devices. Its main tools are remember, recall, link, and forget, with an optional dismiss_cluster tool for crystallization. It also provides a boot index and hybrid keyword, semantic, and associative recall.

Install it with `pip install tether-memory` or run it with `uvx tether-memory`, then register that command with an MCP client. Claude Code can use `claude mcp add tether -- uvx tether-memory`. Python 3.10 or newer is required.

Yes, tether works locally without an account, network connection, or sync configuration. It stores memories in a local SQLite file and continues using that file if an optional sync backend is unreachable.

Configure a Turso or libSQL database by installing `tether-memory[sync]` and setting `TETHER_SYNC_URL` and `TETHER_SYNC_TOKEN`. Each device uses a local embedded replica, while writes propagate through the hosted primary and reads pull updates periodically.

tether can derive a project name from Claude Code's `CLAUDE_PROJECT_DIR`, or from `TETHER_PROJECT`. Work memories receive a `proj:<name>` tag unless one is supplied, and matching project memories receive a small recall ranking preference. Set `TETHER_PROJECT=off` to disable this behavior.

Related MCP servers

Add a badge to your READMEShow it’s listed — live SVG, Markdown or HTML.

AllMCPs Directory Badge

Full Badge Customizer

Showcase your server listing on GitHub or your project documentation. Embed this dynamic SVG badge to highlight official listing status and live engagement.

Badge Style:
Live Dynamic SVG PreviewTether AllMCPs Directory Badge
Markdown (GitHub README)
[![AllMCPs](https://allmcps.com/api/badge/tether?style=directory)](https://allmcps.com/mcp/tether)
HTML Embed
<a href="https://allmcps.com/mcp/tether"><img src="https://allmcps.com/api/badge/tether?style=directory" alt="Tether on AllMCPs" /></a>