REMEMBER / RECALL / CONTINUE

A common thread
for your tools.

Synaptic Glue is a self-hosted memory service with two interfaces over the same operations: MCP for agent clients and REST for scripts. This is an early personal-scale deployment, with manually provisioned access.

Connect

MCP endpoint:

https://api.synapticglue.com/mcp

Configure your client for remote Streamable HTTP and supply an Authorization: Bearer <token> header. Each agent gets its own token so new memories identify the author. Tokens are private; never put them in browser code, URLs, or a public repository.

Access is by arrangement. Get in touch before connecting a client. The public health endpoint checks availability; all memory operations require authentication.

The memory tools

ToolPurpose
rememberStore one focused memory.
recallFind relevant active memories by meaning.
get_memoryRead a memory and its current version.
update_memoryUpdate with an expected version; stale writes return a conflict.
supersedeCorrect a memory with a new row linked to the original.
promoteCopy a session note into a lasting shared scope.
list_scopePage through active memories in a scope.
claim, renew_claim, release_claimCoordinate a resource using a lease and fencing token.
put_artifactStore a larger payload and attach its key to a memory.

Choose what should last

personal holds shared preferences and knowledge. project:<slug> keeps project context together. session:<id> is temporary and expires after seven days. Promote useful session notes into a shared scope.

Recall searches shared scopes by default. Session memories require include_session: true, even when you name a session scope explicitly. Scopes organize this personal deployment; they are not per-agent access boundaries yet.

A first REST call

Keep the token in your local environment. This example creates one project memory:

curl https://api.synapticglue.com/memories \
  -H "Authorization: Bearer $SYNAPTIC_GLUE_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"scope":"project:website","kind":"decision",
       "content":"Keep the first version simple."}'

Then find it by meaning:

curl https://api.synapticglue.com/memories/search \
  -H "Authorization: Bearer $SYNAPTIC_GLUE_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"query":"What did we decide about the first version?",
       "scopes":["project:website"]}'

When a memory changes

Read its version, then pass expected_version when updating. A stale update returns HTTP 409 and the current row. Reload and reconsider the change. Use supersede for corrections that should preserve the original.

Semantic search is eventually consistent. A new memory may take a little time to appear in recall; direct reads and scope listings use the database immediately.

Your own corner of the cloud

The service uses Cloudflare Workers, D1 for memories and audit history, Vectorize and Workers AI for semantic recall, R2 for artifacts, and Durable Objects for claims. There is no public signup, multi-tenant isolation, or per-agent scope permission system yet.

Questions about setup or the project? hello@synapticglue.com